Android新闻应用程序-不要一次下载所有json
我正在开发一个android新闻应用程序。移动客户端应用程序通过Android新闻应用程序-不要一次下载所有json,android,json,listview,android-volley,Android,Json,Listview,Android Volley,我正在开发一个android新闻应用程序。移动客户端应用程序通过HttpRequest和“HttpResponse”从web服务器获取新闻 我使用Volley在的帮助下异步加载图像 问题是,如果新闻在这段时间内变得太多,那么使用本文中的示例代码会发生什么。由于它在响应上有一个循环,它似乎一次下载所有的jsons // Parsing json for (int i = 0; i < response.length(); i++) {
HttpRequest
和“HttpResponse”从web服务器获取新闻
我使用Volley在的帮助下异步加载图像
问题是,如果新闻在这段时间内变得太多,那么使用本文中的示例代码会发生什么。由于它在响应上有一个循环,它似乎一次下载所有的json
s
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("title"));
movie.setThumbnailUrl(obj.getString("image"));
movie.setRating(((Number) obj.get("rating"))
.doubleValue());
movie.setYear(obj.getInt("releaseYear"));
// Genre is json array
JSONArray genreArry = obj.getJSONArray("genre");
ArrayList<String> genre = new ArrayList<String>();
for (int j = 0; j < genreArry.length(); j++) {
genre.add((String) genreArry.get(j));
}
movie.setGenre(genre);
// adding movie to movies array
movieList.add(movie);
} catch (JSONException e) {
e.printStackTrace();
}
//解析json
对于(int i=0;i
为了避免一次下载所有JSON,最好的方法是什么?您需要向服务器添加分页。您肯定不想从服务器下载所有的新闻文章。您需要限制服务器发送给客户端的数据量。每当客户端需要更多数据时,您都需要额外调用serv用当前的偏移量 假设您点击了一个返回25篇文章的端点。当用户消费了这25篇文章时(您可能希望在他们消费全部25篇文章之前这样做,因此没有延迟),您向服务器发出另一个呼叫,告诉它向您发送25篇文章,偏移量为25:
您不能限制服务器的响应客户端。这必须在服务器上实现。在返回JSON提要的脚本中设置一个限制。请看本教程:,在页面末尾,他添加了可以帮助您限制返回数据的php代码。您所要做的就是安排数据,以便返回相关数据例如,按日期订购descending@Manny264请你解释一下,作为回答,我是新手,如果你再解释一下,我将不胜感激。检查更新@BzH脚本来自一个你认为正确的服务器?谢谢@Manny264,你的链接很有帮助,那么投票就好了:)@BzH