【问题标题】:strongloop loopback android sdk extending installation classstrongloop loopback android sdk 扩展安装类
【发布时间】:2014-11-20 17:37:40
【问题描述】:

我正在使用 loopback android sdk 示例并尝试在 android SDK 中扩展 Installation Class 以向安装添加更多属性。但是当我添加一个新属性时,它给了我以下错误。

11-16 20:51:33.207    4339-4339/com.google.android.gcm.demo.app E/GCM Demo﹕ Cannot save Installation
org.apache.http.client.HttpResponseException: Unprocessable Entity
        at com.loopj.android.http.AsyncHttpResponseHandler.sendResponseMessage(AsyncHttpResponseHandler.java:235)
        at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:79)
        at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:95)
        at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:57)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)

我的做法是,

public class CustomInstallation extends LocalInstallation {


public static final java.lang.String DEVICE_IMEI= "imei";
private String imeiNumber;


public ProbeInstallation(Context applicationContext, RestAdapter loopbackAdapter) {
    super(applicationContext, loopbackAdapter);
}

public String getImeiNumber() {
    return imeiNumber;
}

public void setImeiNumber(String imeiNumber) {
    this.imeiNumber = imeiNumber;
}}

在我的 MainActivity 中,我只是将其用作,

   final CustomInstallation installation =  new CustomInstallation(context, adapter);

这是这样做的方法还是我错过了什么?

【问题讨论】:

    标签: strongloop


    【解决方案1】:

    当模型实例验证失败时,LoopBack 返回 HTTP 错误 422 Unprocessable Entity。这通常发生在请求正文中未包含必填字段(属性)时。

    请扩展您的问题并添加您的 ProbeInstallation 模型的 LDL 定义。

    还要注意LocalInstallation 的当前实现不完全支持扩展,因为save 方法总是使用/installations URL 并且不能配置URL。当然,这可以轻松改进,随时打开 GitHub 问题,甚至发送拉取请求。

    免责声明:我是 loopback-sdk-android 的主要开发者

    【讨论】:

    • 好的,我明白了。我将尝试发送拉取请求。谢谢。如果在服务器中我扩展安装模型,扩展它并添加一个属性怎么办?另外,为什么您的 LocalInstallation 没有在您的 android 应用程序中扩展 Model ?它只是展示和示例吗?因为 .save 方法在 Model 类中可用,我们可以使用它。
    • StackOverflow 不是讨论这个的好地方。请将您的问题发布到 groups.google.com/forum/#!forum/loopbackjs 或打开 GH 问题。
    猜你喜欢
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多