【发布时间】:2018-02-26 07:55:04
【问题描述】:
我已经失去了周日试图了解我的 https 调用出了什么问题。这是我调用 https 休息服务的代码:
String url = AppUtils.env.getValue()+"announcementsservice/getYears";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String jsonResponse) {
AnnouncementsResponse response = (AnnouncementsResponse)
AppUtils.convertJsonResponse(AnnouncementsResponse.class, jsonResponse);
arrayAdapter.clear();
arrayAdapter.setNotifyOnChange(false);
for (Integer year : response.getYears()) {
arrayAdapter.add(String.valueOf(year));
}
arrayAdapter.setNotifyOnChange(true);
arrayAdapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("tag", "Error: " + error.getMessage());
Toast.makeText(getApplicationContext(), "Error while loading ... ", Toast.LENGTH_SHORT).show();
}
});
我正在使用 volley 来调用服务并使用 gson 来解析响应。我已经在nexus 4模拟器上尝试了代码,一切正常。然后我尝试通过 USB 将应用程序安装在 Vernee 物理设备(os 5.1 sdk 22)上,一切正常。然后我尝试在同一个 Vernee 设备上通过 google play store(alpha 测试)安装应用程序,代码抛出空指针异常。我尝试了一切来理解问题,但我唯一理解的是响应已经到达,但是使用 gson 转换它时出错:
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
这是响应(在模拟器和物理设备上相同):
{
"result": 1,
"announcementsList": null,
"years": [2018]
}
我快疯了!
提前致谢
【问题讨论】:
标签: android nullpointerexception gson android-volley