我正在开发一个小应用程序,其中数据从MySQL数据库中获取。假设数据库中有大约100个条目,并且我只想获取前10个条目,并且只有当用户单击加载或显示更多时,才必须在同一列表视图中加载下10个条目。 我使用json解析器来解析所获取的数据,并使用php从表中的所有数据创建json对象。我可以限制json解析器的for循环来解析前10个对象,但我没有得到如何完成上述功能。
使用的json解析器是。
private void parseJsonFeed(JSONObject response) {
try {
JSONArray feedArray = response.getJSONArray("feed");
for (int i = 0; i < feedArray.length(); i++) {
JSONObject feedObj = (JSONObject) feedArray.get(i);
FeedItem item = new FeedItem();
item.setId(feedObj.getInt("id"));
item.setName(feedObj.getString("name"));
// Image might be null sometimes
String image = feedObj.isNull("image") ? null : feedObj
.getString("image");
item.setImge(image);
item.setStatus(feedObj.getString("status"));
item.setProfilePic(feedObj.getString("profilePic"));
item.setTimeStamp(feedObj.getString("timeStamp"));
// url might be null sometimes
String feedUrl = feedObj.isNull("url") ? null : feedObj
.getString("url");
item.setUrl(feedUrl);
feedItems.add(item);
}
// notify data changes to list adapater
listAdapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
xml布局只是一个简单的列表视图,它由自定义适配器充气。 我应该在哪里放置加载更多按钮,使其成为第11个项目,或者按钮应该显示在前10个列表项目之后。
谢谢。答案 0 :(得分:1)
您应该在服务器端尝试此操作:http://www.w3schools.com/php/php_mysql_select_limit.asp
$sql = "SELECT * FROM YOUR_TABLE LIMIT a,b";
&#34;&#34;是偏移量,&#34; b&#34;是限制
答案 1 :(得分:0)
这不应该在客户端(android / iOS)端完成。这应该在后端完成,你必须在mySQL查询中设置获取记录的限制,如下所示,
$sql = "SELECT * FROM YOUR_TABLE LIMIT 10";
上面的查询只返回十条记录。