簡體   English   中英

Android 應用程序和數據庫通信:JSON 解析和列表視圖

[英]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 結構進行編碼。 如果有很多記錄,您的記錄會很快變得混亂。 例如,您將擁有name0name1 、... 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM