[英]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.