2014-11-16 5 views
1

Я использую пример loopback android sdk и пытаюсь расширить класс установки в SDK для Android, чтобы добавить к нему дополнительный атрибут. Но когда я добавляю новый атрибут, он дает мне следующую ошибку.strongloop loopback android sdk, расширяющий класс установки

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); 

ли это способ сделать это, или я что-то не хватает?

ответ

1

Ошибка HTTP 422 Unprocessable Entity возвращается LoopBack, когда проверка экземпляра модели не выполнена. Обычно это происходит, когда требуемое поле (свойство) не было включено в тело запроса.

Пожалуйста, уточните свой вопрос и добавьте определение LDL модели ProbeInstallation.

Также обратите внимание, что текущая реализация LocalInstallation не полностью поддерживает расширение, так как метод save всегда использует URL-адрес /installations и URL-адрес не может быть настроен. Конечно, это можно легко улучшить, не стесняйтесь открывать проблему GitHub или, возможно, даже отправлять запрос на перенос.

Отказ от ответственности: Я главный разработчик петлевой-СДК-андроида

+0

Хорошо, я вижу. Я попытаюсь отправить запрос на вытягивание. Благодарю. Что делать, если на сервере я расширяю модель установки, расширяю ее и добавляю атрибут? Кроме того, почему ваша локальная установка не расширяет модель в вашем приложении для Android? Это просто шоу и пример? поскольку метод .save доступен в классе Model, и мы можем его использовать. – Shahriar

+0

StackOverflow не является хорошим местом для обсуждения этого вопроса. Отправьте свои вопросы на https://groups.google.com/forum/#!forum/loopbackjs или откройте проблему GH. –

Смежные вопросы