[英]Appengine Cloud Endpoints: NPE on get methods of model objects
我正在使用Cloud Endpoints從Appengine到Android檢索數據。 使用生成的庫檢索對象列表。 這似乎工作正常,如果我記錄對象,我會看到json。 但是,如果在對象上使用getX(),則會得到NPE。 Java GAE 1.8.7。 在活動中的AsycTask中執行此操作。
Builder builder = new Builder(AndroidHttp.newCompatibleTransport(),
new GsonFactory(), null);
MyObjectOperations service = builder.build().myobject();
MyObjectCollection tmp = null;
GetMyObjects it = service.getMyObjects();
tmp = it.execute();
listOfMyObjects = tmp.getItems();
MyObject test=listOfMyObjects.get(0);
test.getMyField(); //NPE here - on every field
是什么原因造成的?? listOfMyObjects是正確的大小。 我以前曾使用過此客戶端庫,並且可以正常工作。 現在是更新版本。 任何幫助將是巨大的!
如果您的listOfMyObjects
不是ArrayList<>
或其他Iterable
的實例,則get(0)
將返回null,因為該列表未編制索引。 因此,即使列表具有n個項目,它也沒有特定的n個項目,因為它們沒有排序。
創建一個這樣的ArrayList
:
listOfMyObjects = new ArrayList<myObject>(tmp.getItems());
然后get(0)
應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.