[英]Android app and Database Communication: JSON Parsing and List View
我正在开发一个与数据库通信的应用程序,以检索值。 我在后端使用 PHP,并在 Android Studio 上使用Volley Library 进行开发。
我的问题是,我需要发送的值是一个表的多条记录,每条记录有四列,例如姓名、年龄、部门和国家。 我正在使用 JSON 对这些值进行编码,但我需要有关如何继续的帮助。 我应该使用 JSON 编码的二维数组吗? 如果是这样,如何使用 PHP 来构造这个数组,因为可以有可变数量的行。
另外,如何在 Android (Java) 中解析该 JSON 对象/数组?
截至目前,这是我的进步:浏览器中的 JSON 输出:
{"name0":"ABC","age0":"25","department0":"医疗","country0":"XYZ","name1":"DEF","age1":"26","部门 1":"Engg.","country1":"XYZ"}
在这里,我使用 PHP 中的循环命名 JSON 的每个“键”,并编码为 JSON 对象。 但是在Android中显示这个有困难。 我在主活动 XML 文件中使用了带有 4 个文本视图和 LISTVIEW 的 XML 布局。
我建议使用不同的 json 结构进行编码。 如果有很多记录,您的记录会很快变得混乱。 例如,您将拥有name0
、 name1
、... nameN
。 最好像这样制作一个数组:
[
{
"name" : "ABC",
"age" : 25,
"department" : "Medical",
"country" : "XYZ"
},
{
...
}
]
请注意,没有与您的键连接的索引。 如果需要,可以根据 json 对象节点在数组中的位置获取索引。
至于在Android中解析,可以参考文档。 SDK 附带了一个 Json 解析器,因此您需要做的就是将字符串作为 json 数组读取并根据需要迭代其对象节点。
例如
String jsonResponse = " ... "; // whatever the php backend gives you when you make a call to the endpoint
JSONArray arr = new JSONArray(jsonResponse);
for (int i=0; i<arr.length(); i++) {
JSONObject obj = arr.get(i);
String name = obj.getString("name");
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.