[英]android - loading json in expandable list view with scroll
我有一個應用程序,可以下載並將Json數據庫保存到Storage。
我應該在Expandable List View中查看Json對象,並且我有很多主題,所以我也必須有一個滾動條!
我想知道如何解析Json並將其加載到數組中,然后使用該數組制作Expandable List View?
try {
URL url = new URL(gURL);
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
String PATH = Environment.getExternalStorageDirectory()
+ "/H3S/DB";
File file = new File(PATH);
String fileName = fName;
File outputFile = new File(file, fileName);
FileOutputStream fos = new FileOutputStream(outputFile);
InputStream is = c.getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = is.read(buffer)) != -1) {
fos.write(buffer, 0, len1);
}
fos.close();
is.close();
這是示例json響應:(很抱歉,json語言是波斯語,由於標題不是UTF-8,因此標題不會顯示):
{
"DBVersion":"4" ,
"Groups":[
{
"Id" : 1,
"title" : "کامپیوتر",
"bg" : "1.png"
},
{
"Id" : 2,
"title" : "شیمی",
"bg" : "2.png"
},
{
"Id" : 3,
"title" : "برق و الکترونیک",
"bg" : "3.png"
},
{
"Id" : 4,
"title" : "Ùیزیک",
"bg" : "4.png"
},
{
"Id" : 5,
"title" : "ریاضی",
"bg" : "5.png"
},
{
"Id" : 6,
"title" : "مکانیک Ùˆ هواÙضا",
"bg" : "6.png"
},
{
"Id" : 7,
"title" : "زیست",
"bg" : "7.png"
}
]
}
我是一個iOS開發人員,我在iOS中使用分組樣式UITableView成功地做到了這一點,但我不知道如何在android中簡單地做到這一點!
這可以為您提供幫助。 這是用於解析響應的代碼。
try {
JSONObject jsonObject = new JSONObject(buffer.toString());
String Dbversion= jsonObject.getString("DBVersion");
JSONArray jaGroups = jsonObject.getJSONArray("Groups");
for (int i = 0; i < jaGroups.length(); i++) {
JSONObject jsObject = jaGroups.getJSONObject(i);
String Id = jsObject.getString("Id");
String title = jsObject.getString("title");
String bg = jsObject.getString("bg");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
您可以在InputStreamReader
上的android中使用JsonReader
。 您只需要使開發人員示例中的解析適應您的需求即可:
http://developer.android.com/reference/android/util/JsonReader.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.