列表视图中的Andr​​oid,而从服务器获取数据 [英] Listview in Android while getting data from a server

查看:224
本文介绍了列表视图中的Andr​​oid,而从服务器获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想填充数据到列表视图异步

我从检索服务器数据作为JSON响应

MainActivity.java

 公共类MainActivity延伸活动{    // URL使请求    私有静态字符串URL =htt​​p://54.218.73.244:7002/;    ListView的yourListView;    清单<项目> yourData =新的ArrayList<项目>();    ProgressDialog progressDialog;    @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        yourListView =(ListView控件)findViewById(R.id.listViewID);        //实例化ProgressDialog与onCreate方法
        progressDialog =新ProgressDialog(MainActivity.this);
        新ParsingAsync()执行();    }    私有类ParsingAsync扩展的AsyncTask<太虚,太虚,太虚>
    {        @覆盖
        在preExecute保护无效(){
            // TODO自动生成方法存根
            super.on preExecute();
            progressDialog = ProgressDialog.show(MainActivity.this,,请等待,真,假);
        }        @覆盖
        保护无效doInBackground(虚空...... PARAMS){
            // TODO自动生成方法存根
            //创建一个JSON解析器实例-----从Android的使用JSON解析器
            JSONObjParser jParser =新JSONObjParser();            //获取JSON字符串URL从------二手JSON在Android阵
            JSONArray JSON = jParser.getJSONFromUrl(URL);            清单<项目> yourData =新的ArrayList<项目>();
            尝试{
                的for(int i = 0; I< json.length();我++)
                {
                    JSONObject的C = json.getJSONObject(我);在Android //二手JSON对象                    串RESTAURANT_NAME = c.getString(restaurantNAME);                    yourData.add(新项目(RESTAURANT_NAME));                }
            }赶上(JSONException E){
                // TODO自动生成catch块
                e.printStackTrace();
            }            返回null;        }        @覆盖
        保护无效onPostExecute(虚空结果){
            // TODO自动生成方法存根
            super.onPostExecute(结果);
            progressDialog.dismiss();            ListAdapter customAdapter =新ListAdapter(MainActivity.this,R.layout.itemlistrow,yourData);
            yourListView.setAdapter(customAdapter);        }
    }
}

JSONObjParser.java

 公共类JSONObjParser {    静态InputStream为= NULL;
    静态JSONArray jObj = NULL;
    静态JSON字符串=;    //构造
    公共JSONObjParser(){    }    公共JSONArray getJSONFromUrl(字符串URL){        //使HTTP请求
        尝试{
            // defaultHttpClient
            DefaultHttpClient的HttpClient =新DefaultHttpClient();
            HTTPGET HTTPGET =新HTTPGET(URL);            HTT presponse HTT presponse = httpClient.execute(HTTPGET);
            HttpEntity httpEntity = HTT presponse.getEntity();
            是= httpEntity.getContent();        }赶上(UnsupportedEncodingException五){
            e.printStackTrace();
        }赶上(ClientProtocolException E){
            e.printStackTrace();
        }赶上(IOException异常五){
            e.printStackTrace();
        }        尝试{
            读者的BufferedReader =新的BufferedReader(新的InputStreamReader(
                    是,ISO-8859-1),8);
            StringBuilder的SB =新的StringBuilder();
            串线= NULL;
            而((行= reader.readLine())!= NULL){
                sb.append(行+\\ n);
            }
            is.close();
            JSON = sb.toString();
        }赶上(例外五){
            Log.e(缓冲区错误,错误转换结果+ e.toString());
        }        //尝试分析字符串到一个JSON对象
        尝试{
            jObj =新JSONArray(JSON);        }赶上(JSONException E){
            Log.e(JSON解析器,错误分析数据+ e.toString());
        }        //返回JSON字符串
        返回jObj;    }
}

日志:

  20 08-23:43:59.442:W / dalvikvm(1311):主题ID = 6:自旋暂停#1主题ID = 9(PCF = 0)
08-23 20:43:59.442:D / dalvikvm(1311):临时移动TID 1320 FG(为0)
08-23 20:43:59.442:D / dalvikvm(1311):暂不上调优先考虑TID 1320(10 - 大于0)
08-23 20:43:59.528:W / dalvikvm部(1311):主题ID = 6:1085年毫秒暂停解析旋
08-23 20:43:59.528:D / dalvikvm部(1311):1320恢复政策,以0
08-23 20:43:59.528:D / dalvikvm(1311):在1320至10恢复优先级
08-23 20:44:02.460:E / JSON解析器(1311):错误分析数据org.json.JSONException:值{\"restaurants\":[{\"restaurantID\":1,\"restaurantNAME\":\"CopperChimney\"},{\"restaurantID\":2,\"restaurantNAME\":\"Aroy\"},{\"restaurantID\":3,\"restaurantNAME\":\"MarkBoulevard\"},{\"restaurantID\":4,\"restaurantNAME\":\"Indian\"}],\"RestaurantTimings\":[{\"_id\":1,\"RestaurantTime\":\"8pm至晚上11时},{_ ID:2,RestaurantTime:晚上10时到下午12时},{_ ID:3,RestaurantTime:下午11时至晚上9时},{_ ID:4,RestaurantTime :类型org.json.JSONObject的晚上10点至下午5点}]}不能转换为JSONArray
08-23 20:44:02.470:W / dalvikvm部(1311):主题ID = 9:螺纹未捕获的异常(组= 0x40015560)退出
08-23 20:44:02.489:E / AndroidRuntime(1311):致命异常:AsyncTask的#1
08-23 20:44:02.489:E / AndroidRuntime部(1311):了java.lang.RuntimeException:执行doInBackground发生错误()
08-23 20:44:02.489:E / AndroidRuntime(1311):在android.os.AsyncTask $ 3.done(AsyncTask.java:200)
08-23 20:44:02.489:E / AndroidRuntime部(1311):在java.util.concurrent.FutureTask中$ Sync.innerSetException(FutureTask.java:274)
08-23 20:44:02.489:E / AndroidRuntime部(1311):在java.util.concurrent.FutureTask.setException(FutureTask.java:125)
08-23 20:44:02.489:E / AndroidRuntime部(1311):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:308)
08-23 20:44:02.489:E / AndroidRuntime(1311):在java.util.concurrent.FutureTask.run(FutureTask.java:138)
08-23 20:44:02.489:E / AndroidRuntime(1311):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
08-23 20:44:02.489:E / AndroidRuntime部(1311):在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:581)
08-23 20:44:02.489:E / AndroidRuntime(1311):在java.lang.Thread.run(Thread.java:1019)
08-23 20:44:02.489:E / AndroidRuntime部(1311):因:显示java.lang.NullPointerException
08-23 20:44:02.489:E / AndroidRuntime部(1311):在com.project.findmybuffet.MainActivity $ ParsingAsync.doInBackground(MainActivity.java:78)
08-23 20:44:02.489:E / AndroidRuntime(1311):在com.project.findmybuffet.MainActivity $ ParsingAsync.doInBackground(MainActivity.java:1)
08-23 20:44:02.489:E / AndroidRuntime(1311):在android.os.AsyncTask $ 2.call(AsyncTask.java:185)
08-23 20:44:02.489:E / AndroidRuntime(1311):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:306)
08-23 20:44:02.489:E / AndroidRuntime(1311):... 4个
08-23 20:44:04.531:E /窗口管理器(1311):活动com.project.findmybuffet.MainActivity渗漏窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4051f4e8,最初这里加入
08-23 20:44:04.531:E /窗口管理部(1311):android.view.WindowLeaked:活动com.project.findmybuffet.MainActivity渗漏窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4051f4e8这是原本在这里添加
08-23 20:44:04.531:E /窗口管理器(1311):在android.view.ViewRoot<&初始化GT;(ViewRoot.java:258)
08-23 20:44:04.531:E /窗口管理器(1311):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
08-23 20:44:04.531:E /窗口管理器(1311):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-23 20:44:04.531:E /窗口管理部(1311):在android.view.Window $ LocalWindowManager.addView(Window.java:424)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.Dialog.show(Dialog.java:241)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.ProgressDialog.show(ProgressDialog.java:107)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.ProgressDialog.show(ProgressDialog.java:95)
08-23 20:44:04.531:E /窗口管理器(1311):在com.project.findmybuffet.MainActivity $ ParsingAsync.on preExecute(MainActivity.java:58)
08-23 20:44:04.531:E /窗口管理部(1311):在android.os.AsyncTask.execute(AsyncTask.java:391)
08-23 20:44:04.531:E /窗口管理器(1311):在com.project.findmybuffet.MainActivity.onCreate(MainActivity.java:47)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-23 20:44:04.531:E /窗口管理部(1311):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)
08-23 20:44:04.531:E /窗口管理器(1311):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)
08-23 20:44:04.531:E /窗口管理器(1311):在android.os.Handler.dispatchMessage(Handler.java:99)
08-23 20:44:04.531:E /窗口管理器(1311):在android.os.Looper.loop(Looper.java:123)
08-23 20:44:04.531:E /窗口管理部(1311):在android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 20:44:04.531:E /窗口管理器(1311):在java.lang.reflect.Method.invokeNative(本机方法)
08-23 20:44:04.531:E /窗口管理器(1311):在java.lang.reflect.Method.invoke(Method.java:507)
08-23 20:44:04.531:E /窗口管理器(1311):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 20:44:04.531:E /窗口管理器(1311):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 20:44:04.531:E /窗口管理器(1311):在dalvik.system.NativeStart.main(本机方法)
08-23 20:49:02.664:I /处理部(1311):发送信号。 PID:1311 SIG:9
08-23 21:12:52.021:E / JSON解析器(1350):错误分析数据org.json.JSONException:值{\"restaurants\":[{\"restaurantID\":1,\"restaurantNAME\":\"CopperChimney\"},{\"restaurantID\":2,\"restaurantNAME\":\"Aroy\"},{\"restaurantID\":3,\"restaurantNAME\":\"MarkBoulevard\"},{\"restaurantID\":4,\"restaurantNAME\":\"Indian\"}],\"RestaurantTimings\":[{\"_id\":1,\"RestaurantTime\":\"8pm至晚上11时},{_ ID:2,RestaurantTime:晚上10点到12点},{_ ID:3,RestaurantTime:晚上11时至晚上9时},{_ ID:4,RestaurantTime :类型org.json.JSONObject的晚上10点至下午5点}]}不能转换为JSONArray
08-23 21:12:52.030:W / dalvikvm(1350):主题ID = 9:螺纹未捕获的异常(组= 0x40015560)退出
08-23 21:12:52.040:E / AndroidRuntime(1350):致命异常:AsyncTask的#1
08-23 21:12:52.040:E / AndroidRuntime(1350):了java.lang.RuntimeException:执行doInBackground发生错误()
08-23 21:12:52.040:E / AndroidRuntime(1350):在android.os.AsyncTask $ 3.done(AsyncTask.java:200)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.FutureTask中$ Sync.innerSetException(FutureTask.java:274)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.FutureTask.setException(FutureTask.java:125)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:308)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.FutureTask.run(FutureTask.java:138)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:581)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.lang.Thread.run(Thread.java:1019)
08-23 21:12:52.040:E / AndroidRuntime(1350):因:显示java.lang.NullPointerException
08-23 21:12:52.040:E / AndroidRuntime(1350):在com.project.findmybuffet.MainActivity $ ParsingAsync.doInBackground(MainActivity.java:78)
08-23 21:12:52.040:E / AndroidRuntime(1350):在com.project.findmybuffet.MainActivity $ ParsingAsync.doInBackground(MainActivity.java:1)
08-23 21:12:52.040:E / AndroidRuntime(1350):在android.os.AsyncTask $ 2.call(AsyncTask.java:185)
08-23 21:12:52.040:E / AndroidRuntime(1350):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:306)
08-23 21:12:52.040:E / AndroidRuntime(1350):... 4个
08-23 21:12:54.300:E /窗口管理器(1350):活动com.project.findmybuffet.MainActivity渗漏,最初这里添加窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4051f950
08-23 21:12:54.300:E /窗口管理器(1350):android.view.WindowLeaked:活动com.project.findmybuffet.MainActivity渗漏窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4051f950这是原本在这里添加
08-23 21:12:54.300:E /窗口管理器(1350):在android.view.ViewRoot<&初始化GT;(ViewRoot.java:258)
08-23 21:12:54.300:E /窗口管理器(1350):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
08-23 21:12:54.300:E /窗口管理器(1350):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-23 21:12:54.300:E /窗口管理器(1350):在android.view.Window $ LocalWindowManager.addView(Window.java:424)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.Dialog.show(Dialog.java:241)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ProgressDialog.show(ProgressDialog.java:107)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ProgressDialog.show(ProgressDialog.java:95)
08-23 21:12:54.300:E /窗口管理器(1350):在com.project.findmybuffet.MainActivity $ ParsingAsync.on preExecute(MainActivity.java:58)
08-23 21:12:54.300:E /窗口管理器(1350):在android.os.AsyncTask.execute(AsyncTask.java:391)
08-23 21:12:54.300:E /窗口管理器(1350):在com.project.findmybuffet.MainActivity.onCreate(MainActivity.java:47)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)
08-23 21:12:54.300:E /窗口管理器(1350):在android.os.Handler.dispatchMessage(Handler.java:99)
08-23 21:12:54.300:E /窗口管理器(1350):在android.os.Looper.loop(Looper.java:123)
08-23 21:12:54.300:E /窗口管理器(1350):在android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 21:12:54.300:E /窗口管理器(1350):在java.lang.reflect.Method.invokeNative(本机方法)
08-23 21:12:54.300:E /窗口管理器(1350):在java.lang.reflect.Method.invoke(Method.java:507)
08-23 21:12:54.300:E /窗口管理器(1350):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 21:12:54.300:E /窗口管理器(1350):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 21:12:54.300:E /窗口管理器(1350):在dalvik.system.NativeStart.main(本机方法)
08-23 21:13:14.790:D / dalvikvm(1350):GC_EXTERNAL_ALLOC释放282K,52%免费2779K / 5703K,2061K外部/ 2137K,暂停672ms
08-23 21:13:18.330:E / JSON解析器(1350):错误分析数据org.json.JSONException:值{\"restaurants\":[{\"restaurantID\":1,\"restaurantNAME\":\"CopperChimney\"},{\"restaurantID\":2,\"restaurantNAME\":\"Aroy\"},{\"restaurantID\":3,\"restaurantNAME\":\"MarkBoulevard\"},{\"restaurantID\":4,\"restaurantNAME\":\"Indian\"}],\"RestaurantTimings\":[{\"_id\":1,\"RestaurantTime\":\"8pm至晚上11时},{_ ID:2,RestaurantTime:晚上10时到下午12时},{_ ID:3,RestaurantTime:下午11时至晚上9时},{_ ID:4,RestaurantTime :类型org.json.JSONObject的晚上10点至下午5点}]}不能转换为JSONArray
08-23 21:13:18.330:W / dalvikvm(1350):主题ID = 11:螺纹未捕获的异常(组= 0x40015560)退出

JSON :: http://54.218.73.244:7002/

  {
  餐馆:[
    {
      restaurantID:1,
      restaurantNAME:CopperChimney
    },
    {
      restaurantID:2,
      restaurantNAME:Aroy
    },
    {
      restaurantID:3,
      restaurantNAME:MarkBoulevard
    },
    {
      restaurantID:4,
      restaurantNAME:印
    }
  ]
  RestaurantTimings:[
    {
      _id:1,
      RestaurantTime:晚上8点至晚上11时
    },
    {
      _id:2,
      RestaurantTime:晚上10点至中午12时
    },
    {
      _id:3,
      RestaurantTime:晚上11时至晚上9时
    },
    {
      _id:4,
      RestaurantTime:晚上10点至下午5点
    }
  ]
}


解决方案

试试这个

  HttpEntity httpEntity = HTT presponse.getEntity();
     字符串_response = EntityUtils.toString(httpEntity);
     Log.i(响应,_响应);
     的JSONObject的JSONObject =新的JSONObject(_response);

要解析我已经展示了如何只解析餐饮阵列。类似的解析等jsonarray RestaurantTimings

 餐馆://数组的餐馆
{// JSON对象
  restaurantID:1,// JSON字符串
  restaurantNAME:CopperChimney
},
{
  restaurantID:2,
  restaurantNAME:Aroy
},
{
  restaurantID:3,
  restaurantNAME:MarkBoulevard
},
{
  restaurantID:4,
  restaurantNAME:印
}
]     尝试
    {
    的JSONObject的JSONObject =新的JSONObject(_response);     JSONArray jarr = jsonObject.getJSONArray(餐馆);
             // JSON数组餐馆
      的for(int i = 0; I< jarr.length();我++)
      {
          JB的JSONObject = jarr.getJSONObject(I)
          串ID = jb.getString(restaurantID);
          字符串名称= jb.getString(restaurantNAME);
          Toast.makeText(getApplicationContext(),名称,1000).show();
      }
    }
    赶上(例外五)
    {    }

此外,我看到这个

  Log.i(解析..,+ jsonObject.get(学生)的toString());
  jObj =新JSONArray(jsonObject.get(学生)的toString());

哪里是学生张贴的JSON。它看起来像你这样做是错误的。

编辑:

 公共类MainActivity延伸活动{    ProgressDialog PD;    @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        PD =新ProgressDialog(本);
        新TheTask()执行();
   }
    类TheTask扩展的AsyncTask<无效,字符串,字符串>
    {        @覆盖
        保护无效onPostExecute(字符串结果){
            // TODO自动生成方法存根
            super.onPostExecute(结果);
            pd.dismiss();
            如果(结果!= NULL)
            {
                Log.i(效应初探,结果);
                Toast.makeText(getApplicationContext(),因此,1000).show();
                // 做一点事
            }
        }        @覆盖
        在preExecute保护无效(){
            // TODO自动生成方法存根
            super.on preExecute();
            pd.show();
        }        @覆盖
        保护字符串doInBackground(虚空...... PARAMS){
            // TODO自动生成方法存根
            字符串s =的getData();
            返回S;
        }        私人字符串的getData(){
            字符串_response = NULL;
            尝试
            {
            HttpClient的HttpClient的=新DefaultHttpClient();
            httpclient.getParams()的setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1)。
            HTTPGET请求=新HTTPGET(http://54.218.73.244:7002/);
            HTT presponse响应= httpclient.execute(请求);
            HttpEntity resEntity = response.getEntity();
             _response = EntityUtils.toString(resEntity);
            //
            的JSONObject的JSONObject =新的JSONObject(_response);
            JSONArray jarr = jsonObject.getJSONArray(餐馆);
             的for(int i = 0; I< jarr.length();我++)
             {
                 JB的JSONObject = jarr.getJSONObject(I)
                 串ID = jb.getString(restaurantID);
                 字符串名称= jb.getString(restaurantNAME);
                 Toast.makeText(getApplicationContext(),名称,1000).show();
             }
            }
            赶上(例外五)
            {
                  e.printStackTrace();
            }            返回_response;
        }    }
}

响应

  08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):餐馆:[
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):restaurantID:1,
08-23 21:44:51.455:I /效应初探(24732):restaurantNAME:CopperChimney
08-23 21:44:51.455:I /效应初探(24732):},
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):restaurantID:2,
08-23 21:44:51.455:I /效应初探(24732):restaurantNAME:Aroy
08-23 21:44:51.455:I /效应初探(24732):},
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):restaurantID:3,
08-23 21:44:51.455:I /效应初探(24732):restaurantNAME:MarkBoulevard
08-23 21:44:51.455:I /效应初探(24732):},
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):restaurantID:4,
08-23 21:44:51.455:I /效应初探(24732):restaurantNAME:印
08-23 21:44:51.455:I /效应初探(24732):}
08-23 21:44:51.455:I /效应初探(24732):]
08-23 21:44:51.455:I /效应初探(24732):RestaurantTimings:[
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):_id:1,
08-23 21:44:51.455:I /效应初探(24732):RestaurantTime:晚上8点至晚上11时
08-23 21:44:51.455:I /效应初探(24732):},
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):_id:2,
08-23 21:44:51.455:I /效应初探(24732):RestaurantTime:晚上10点至中午12时
08-23 21:44:51.455:I /效应初探(24732):},
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):_id:3,
08-23 21:44:51.455:I /效应初探(24732):RestaurantTime:晚上11时至晚上9时
08-23 21:44:51.455:I /效应初探(24732):},
08-23 21:44:51.455:I /效应初探(24732):{
08-23 21:44:51.455:I /效应初探(24732):_id:4,
08-23 21:44:51.455:I /效应初探(24732):RestaurantTime:晚上10点至下午5点
08-23 21:44:51.455:I /效应初探(24732):}
08-23 21:44:51.455:I /效应初探(24732):]
08-23 21:44:51.455:I /效应初探(24732):}

I am trying to populate the data into listview Asynchronously

I am retrieving data from server as JSON response

MainActivity.java

public class MainActivity extends Activity {

    // url to make request

    private static String url="http://54.218.73.244:7002/";

    ListView yourListView;

    List<Item> yourData = new ArrayList<Item>();

    ProgressDialog progressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        yourListView = (ListView) findViewById(R.id.listViewID);

        //Instantiating ProgressDialog with onCreate method
        progressDialog=new ProgressDialog(MainActivity.this);
        new ParsingAsync().execute();

    }

    private class ParsingAsync extends AsyncTask<Void, Void, Void>
    {

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
            progressDialog=ProgressDialog.show(MainActivity.this, "", "Please Wait", true, false);


        }

        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub


            //Create a JSON parser Instance ----- Used JSON parser from Android
            JSONObjParser jParser=new JSONObjParser();

            //Getting JSON string from URL ------ Used JSON Array from Android
            JSONArray json=jParser.getJSONFromUrl(url);

            List<Item> yourData = new ArrayList<Item>();


            try {
                for(int i=0;i<json.length();i++)
                {
                    JSONObject c=json.getJSONObject(i);// Used JSON Object from Android

                    String RESTAURANT_NAME=c.getString("restaurantNAME");

                    yourData.add(new Item(RESTAURANT_NAME));

                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return null;

        }

        @Override
        protected void onPostExecute(Void result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            progressDialog.dismiss();

            ListAdapter customAdapter = new ListAdapter(MainActivity.this, R.layout.itemlistrow, yourData);
            yourListView.setAdapter(customAdapter);

        }   
    }
}

JSONObjParser.java

public class JSONObjParser {

    static InputStream is = null;
    static JSONArray jObj = null;
    static String json = "";

    // constructor
    public JSONObjParser() {

    }

    public JSONArray getJSONFromUrl(String url) {

        // Making HTTP request
        try {
            // defaultHttpClient
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(url);

            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();           

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            json = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }

        // try parse the string to a JSON object
        try {
            jObj = new JSONArray(json);

        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }

        // return JSON String
        return jObj;

    }
}

log::

08-23 20:43:59.442: W/dalvikvm(1311): threadid=6: spin on suspend #1 threadid=9 (pcf=0)
08-23 20:43:59.442: D/dalvikvm(1311): Temporarily moving tid 1320 to fg (was 0)
08-23 20:43:59.442: D/dalvikvm(1311): Temporarily raised priority on tid 1320 (10 -> 0)
08-23 20:43:59.528: W/dalvikvm(1311): threadid=6: spin on suspend resolved in 1085 msec
08-23 20:43:59.528: D/dalvikvm(1311): Restored policy of 1320 to 0
08-23 20:43:59.528: D/dalvikvm(1311): Restored priority on 1320 to 10
08-23 20:44:02.460: E/JSON Parser(1311): Error parsing data org.json.JSONException: Value {"restaurants":[{"restaurantID":1,"restaurantNAME":"CopperChimney"},{"restaurantID":2,"restaurantNAME":"Aroy"},{"restaurantID":3,"restaurantNAME":"MarkBoulevard"},{"restaurantID":4,"restaurantNAME":"Indian"}],"RestaurantTimings":[{"_id":1,"RestaurantTime":"8pm to 11pm"},{"_id":2,"RestaurantTime":"10pm to 12pm"},{"_id":3,"RestaurantTime":"11pm to 9pm"},{"_id":4,"RestaurantTime":"10pm to 5pm"}]} of type org.json.JSONObject cannot be converted to JSONArray
08-23 20:44:02.470: W/dalvikvm(1311): threadid=9: thread exiting with uncaught exception (group=0x40015560)
08-23 20:44:02.489: E/AndroidRuntime(1311): FATAL EXCEPTION: AsyncTask #1
08-23 20:44:02.489: E/AndroidRuntime(1311): java.lang.RuntimeException: An error occured while executing doInBackground()
08-23 20:44:02.489: E/AndroidRuntime(1311):     at android.os.AsyncTask$3.done(AsyncTask.java:200)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.lang.Thread.run(Thread.java:1019)
08-23 20:44:02.489: E/AndroidRuntime(1311): Caused by: java.lang.NullPointerException
08-23 20:44:02.489: E/AndroidRuntime(1311):     at com.project.findmybuffet.MainActivity$ParsingAsync.doInBackground(MainActivity.java:78)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at com.project.findmybuffet.MainActivity$ParsingAsync.doInBackground(MainActivity.java:1)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
08-23 20:44:02.489: E/AndroidRuntime(1311):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
08-23 20:44:02.489: E/AndroidRuntime(1311):     ... 4 more
08-23 20:44:04.531: E/WindowManager(1311): Activity com.project.findmybuffet.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4051f4e8 that was originally added here
08-23 20:44:04.531: E/WindowManager(1311): android.view.WindowLeaked: Activity com.project.findmybuffet.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4051f4e8 that was originally added here
08-23 20:44:04.531: E/WindowManager(1311):  at android.view.ViewRoot.<init>(ViewRoot.java:258)
08-23 20:44:04.531: E/WindowManager(1311):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
08-23 20:44:04.531: E/WindowManager(1311):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-23 20:44:04.531: E/WindowManager(1311):  at android.view.Window$LocalWindowManager.addView(Window.java:424)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.Dialog.show(Dialog.java:241)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ProgressDialog.show(ProgressDialog.java:107)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ProgressDialog.show(ProgressDialog.java:95)
08-23 20:44:04.531: E/WindowManager(1311):  at com.project.findmybuffet.MainActivity$ParsingAsync.onPreExecute(MainActivity.java:58)
08-23 20:44:04.531: E/WindowManager(1311):  at android.os.AsyncTask.execute(AsyncTask.java:391)
08-23 20:44:04.531: E/WindowManager(1311):  at com.project.findmybuffet.MainActivity.onCreate(MainActivity.java:47)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
08-23 20:44:04.531: E/WindowManager(1311):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 20:44:04.531: E/WindowManager(1311):  at android.os.Looper.loop(Looper.java:123)
08-23 20:44:04.531: E/WindowManager(1311):  at android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 20:44:04.531: E/WindowManager(1311):  at java.lang.reflect.Method.invokeNative(Native Method)
08-23 20:44:04.531: E/WindowManager(1311):  at java.lang.reflect.Method.invoke(Method.java:507)
08-23 20:44:04.531: E/WindowManager(1311):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 20:44:04.531: E/WindowManager(1311):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 20:44:04.531: E/WindowManager(1311):  at dalvik.system.NativeStart.main(Native Method)
08-23 20:49:02.664: I/Process(1311): Sending signal. PID: 1311 SIG: 9
08-23 21:12:52.021: E/JSON Parser(1350): Error parsing data org.json.JSONException: Value {"restaurants":[{"restaurantID":1,"restaurantNAME":"CopperChimney"},{"restaurantID":2,"restaurantNAME":"Aroy"},{"restaurantID":3,"restaurantNAME":"MarkBoulevard"},{"restaurantID":4,"restaurantNAME":"Indian"}],"RestaurantTimings":[{"_id":1,"RestaurantTime":"8pm to 11pm"},{"_id":2,"RestaurantTime":"10pm to 12pm"},{"_id":3,"RestaurantTime":"11pm to 9pm"},{"_id":4,"RestaurantTime":"10pm to 5pm"}]} of type org.json.JSONObject cannot be converted to JSONArray
08-23 21:12:52.030: W/dalvikvm(1350): threadid=9: thread exiting with uncaught exception (group=0x40015560)
08-23 21:12:52.040: E/AndroidRuntime(1350): FATAL EXCEPTION: AsyncTask #1
08-23 21:12:52.040: E/AndroidRuntime(1350): java.lang.RuntimeException: An error occured while executing doInBackground()
08-23 21:12:52.040: E/AndroidRuntime(1350):     at android.os.AsyncTask$3.done(AsyncTask.java:200)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.lang.Thread.run(Thread.java:1019)
08-23 21:12:52.040: E/AndroidRuntime(1350): Caused by: java.lang.NullPointerException
08-23 21:12:52.040: E/AndroidRuntime(1350):     at com.project.findmybuffet.MainActivity$ParsingAsync.doInBackground(MainActivity.java:78)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at com.project.findmybuffet.MainActivity$ParsingAsync.doInBackground(MainActivity.java:1)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
08-23 21:12:52.040: E/AndroidRuntime(1350):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
08-23 21:12:52.040: E/AndroidRuntime(1350):     ... 4 more
08-23 21:12:54.300: E/WindowManager(1350): Activity com.project.findmybuffet.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4051f950 that was originally added here
08-23 21:12:54.300: E/WindowManager(1350): android.view.WindowLeaked: Activity com.project.findmybuffet.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4051f950 that was originally added here
08-23 21:12:54.300: E/WindowManager(1350):  at android.view.ViewRoot.<init>(ViewRoot.java:258)
08-23 21:12:54.300: E/WindowManager(1350):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
08-23 21:12:54.300: E/WindowManager(1350):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-23 21:12:54.300: E/WindowManager(1350):  at android.view.Window$LocalWindowManager.addView(Window.java:424)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.Dialog.show(Dialog.java:241)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ProgressDialog.show(ProgressDialog.java:107)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ProgressDialog.show(ProgressDialog.java:95)
08-23 21:12:54.300: E/WindowManager(1350):  at com.project.findmybuffet.MainActivity$ParsingAsync.onPreExecute(MainActivity.java:58)
08-23 21:12:54.300: E/WindowManager(1350):  at android.os.AsyncTask.execute(AsyncTask.java:391)
08-23 21:12:54.300: E/WindowManager(1350):  at com.project.findmybuffet.MainActivity.onCreate(MainActivity.java:47)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
08-23 21:12:54.300: E/WindowManager(1350):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 21:12:54.300: E/WindowManager(1350):  at android.os.Looper.loop(Looper.java:123)
08-23 21:12:54.300: E/WindowManager(1350):  at android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 21:12:54.300: E/WindowManager(1350):  at java.lang.reflect.Method.invokeNative(Native Method)
08-23 21:12:54.300: E/WindowManager(1350):  at java.lang.reflect.Method.invoke(Method.java:507)
08-23 21:12:54.300: E/WindowManager(1350):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 21:12:54.300: E/WindowManager(1350):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 21:12:54.300: E/WindowManager(1350):  at dalvik.system.NativeStart.main(Native Method)
08-23 21:13:14.790: D/dalvikvm(1350): GC_EXTERNAL_ALLOC freed 282K, 52% free 2779K/5703K, external 2061K/2137K, paused 672ms
08-23 21:13:18.330: E/JSON Parser(1350): Error parsing data org.json.JSONException: Value {"restaurants":[{"restaurantID":1,"restaurantNAME":"CopperChimney"},{"restaurantID":2,"restaurantNAME":"Aroy"},{"restaurantID":3,"restaurantNAME":"MarkBoulevard"},{"restaurantID":4,"restaurantNAME":"Indian"}],"RestaurantTimings":[{"_id":1,"RestaurantTime":"8pm to 11pm"},{"_id":2,"RestaurantTime":"10pm to 12pm"},{"_id":3,"RestaurantTime":"11pm to 9pm"},{"_id":4,"RestaurantTime":"10pm to 5pm"}]} of type org.json.JSONObject cannot be converted to JSONArray
08-23 21:13:18.330: W/dalvikvm(1350): threadid=11: thread exiting with uncaught exception (group=0x40015560)

JSON :: http://54.218.73.244:7002/

{
  "restaurants": [
    {
      "restaurantID": 1,
      "restaurantNAME": "CopperChimney"
    },
    {
      "restaurantID": 2,
      "restaurantNAME": "Aroy"
    },
    {
      "restaurantID": 3,
      "restaurantNAME": "MarkBoulevard"
    },
    {
      "restaurantID": 4,
      "restaurantNAME": "Indian"
    }
  ],
  "RestaurantTimings": [
    {
      "_id": 1,
      "RestaurantTime": "8pm to 11pm"
    },
    {
      "_id": 2,
      "RestaurantTime": "10pm to 12pm"
    },
    {
      "_id": 3,
      "RestaurantTime": "11pm to 9pm"
    },
    {
      "_id": 4,
      "RestaurantTime": "10pm to 5pm"
    }
  ]
}

解决方案

Try this

     HttpEntity httpEntity = httpResponse.getEntity();
     String _response=EntityUtils.toString(httpEntity); 
     Log.i("Response",_response);
     JSONObject jsonObject = new JSONObject(_response);

To parse i have shown only how parse restaurants array. Similar parse the other jsonarray RestaurantTimings.

"restaurants": [ // array of restaurants
{                // json object 
  "restaurantID": 1,      // json string
  "restaurantNAME": "CopperChimney" 
},
{
  "restaurantID": 2,
  "restaurantNAME": "Aroy"
},
{
  "restaurantID": 3,
  "restaurantNAME": "MarkBoulevard"
},
{
  "restaurantID": 4,
  "restaurantNAME": "Indian"
}
],

     try
    {
    JSONObject jsonObject = new JSONObject(_response);

     JSONArray jarr = jsonObject.getJSONArray("restaurants");
             // json array restaurants
      for(int i=0;i<jarr.length();i++)
      {
          JSONObject jb = jarr.getJSONObject(i); 
          String id = jb.getString("restaurantID");
          String name = jb.getString("restaurantNAME");
          Toast.makeText(getApplicationContext(),name, 1000).show(); 
      }
    }
    catch(Exception e)
    {

    }

Also i see this

  Log.i("parsing..", ""+jsonObject.get("student").toString());
  jObj = new JSONArray(jsonObject.get("student").toString());

Where is student in the json posted. It looks like you are doing it wrong

Edit :

public class MainActivity extends Activity {

    ProgressDialog pd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pd = new ProgressDialog(this);
        new TheTask().execute();
   }
    class TheTask extends AsyncTask<Void,String,String>
    {

        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            pd.dismiss();
            if(result!=null)
            {
                Log.i("Reponse",result);
                Toast.makeText(getApplicationContext(), result, 1000).show();
                // do something
            }
        }

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
            pd.show();
        }

        @Override
        protected String doInBackground(Void... params) {
            // TODO Auto-generated method stub
            String s =getData();
            return s;
        }

        private String getData() {
            String _response = null;
            try
            {
            HttpClient httpclient = new DefaultHttpClient();
            httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
            HttpGet request = new HttpGet("http://54.218.73.244:7002/");
            HttpResponse response = httpclient.execute(request);
            HttpEntity resEntity = response.getEntity();
             _response =EntityUtils.toString(resEntity);
            //
            JSONObject jsonObject = new JSONObject(_response);
            JSONArray jarr = jsonObject.getJSONArray("restaurants");
             for(int i=0;i<jarr.length();i++)
             {
                 JSONObject jb = jarr.getJSONObject(i); 
                 String id = jb.getString("restaurantID");
                 String name = jb.getString("restaurantNAME");
                 Toast.makeText(getApplicationContext(),name, 1000).show(); 
             } 
            }
            catch(Exception e)
            {
                  e.printStackTrace();  
            }

            return _response;
        }

    }
}

Response

08-23 21:44:51.455: I/Reponse(24732): {
08-23 21:44:51.455: I/Reponse(24732):   "restaurants": [
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "restaurantID": 1,
08-23 21:44:51.455: I/Reponse(24732):       "restaurantNAME": "CopperChimney"
08-23 21:44:51.455: I/Reponse(24732):     },
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "restaurantID": 2,
08-23 21:44:51.455: I/Reponse(24732):       "restaurantNAME": "Aroy"
08-23 21:44:51.455: I/Reponse(24732):     },
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "restaurantID": 3,
08-23 21:44:51.455: I/Reponse(24732):       "restaurantNAME": "MarkBoulevard"
08-23 21:44:51.455: I/Reponse(24732):     },
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "restaurantID": 4,
08-23 21:44:51.455: I/Reponse(24732):       "restaurantNAME": "Indian"
08-23 21:44:51.455: I/Reponse(24732):     }
08-23 21:44:51.455: I/Reponse(24732):   ],
08-23 21:44:51.455: I/Reponse(24732):   "RestaurantTimings": [
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "_id": 1,
08-23 21:44:51.455: I/Reponse(24732):       "RestaurantTime": "8pm to 11pm"
08-23 21:44:51.455: I/Reponse(24732):     },
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "_id": 2,
08-23 21:44:51.455: I/Reponse(24732):       "RestaurantTime": "10pm to 12pm"
08-23 21:44:51.455: I/Reponse(24732):     },
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "_id": 3,
08-23 21:44:51.455: I/Reponse(24732):       "RestaurantTime": "11pm to 9pm"
08-23 21:44:51.455: I/Reponse(24732):     },
08-23 21:44:51.455: I/Reponse(24732):     {
08-23 21:44:51.455: I/Reponse(24732):       "_id": 4,
08-23 21:44:51.455: I/Reponse(24732):       "RestaurantTime": "10pm to 5pm"
08-23 21:44:51.455: I/Reponse(24732):     }
08-23 21:44:51.455: I/Reponse(24732):   ]
08-23 21:44:51.455: I/Reponse(24732): }

这篇关于列表视图中的Andr​​oid,而从服务器获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆