【发布时间】:2020-12-30 10:35:27
【问题描述】:
几个月前我构建了一个 Android 应用程序,其中一个片段用于使用 News API 显示新闻。
最近再次运行应用,出现如下错误。
我在发生错误的地方附上了代码 sn-p。
Ion.with(getActivity()).load("GET",urltemp).asJsonObject().setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
Log.d(TAG, "enter ");
String status = result.get("status").getAsString();
if (status.equals("ok")) {
JsonArray array = result.get("articles").getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
JsonObject object = array.get(i).getAsJsonObject();
String author = object.get("author").toString();
String title = object.get("title").toString();
title = title.substring(1, title.length() - 1);
String url = object.get("url").toString();
url = url.substring(1, url.length() - 1);
String urlToImage = object.get("urlToImage").toString();
urlToImage = urlToImage.substring(1, urlToImage.length() - 1);
String date = object.get("publishedAt").toString();
String content = object.get("content").toString();
content = content.substring(1, content.length() - 1);
items.add(new ModelItems(title, author, date, urlToImage, url));
}
adapter = new SlideshowViewModel(getActivity(), items);
recyclerView.setAdapter(adapter);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
Log.d(TAG, "success");
} else {
Log.e(TAG, "error");
}
}
});
现在,我认为可能有两种可能的错误来源,要么是 URL(urltemp 变量)的问题,要么是 Ion 库的问题。现在,我将 URL 粘贴到浏览器中,它工作正常。所以,我想问题出在离子上。 JsonObject 结果始终为空。尝试了不同的方法,但无法找到任何解决方案。
我从未使用过 Postman。所以,我不知道如何发布 API 响应。我附上了我如何分配 URL。
我尝试过将上述 URL 粘贴到浏览器中。当我将 URL 粘贴到浏览器中时,我得到以下响应:
【问题讨论】:
-
你能把错误贴出来吗!
-
点击错误(蓝色)
-
它显示 null 是因为您的应用程序没有收到 JSON 字符串,检查您连接到服务器的位置,并记录该消息,如果它是 200,那么它正在连接,否则有问题并且您的应用程序没有连接到服务器
标签: java android android-ion