簡體   English   中英

Appengine Cloud端點:NPE關於模型對象的get方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM