在ListView android中显示HTTP实体响应值

时间:2015-01-31 09:13:20

标签: java android json

我需要在listview中显示HttpEntity响应值 这是我的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_main);
      // we will using AsyncTask during parsing 
    new AsyncTaskParseJson().execute();
}

// you can make this class as another java file so it will be separated from your main activity.
public class AsyncTaskParseJson extends AsyncTask<String, String, String> {

    final String TAG = "AsyncTaskParseJson.java";

    // contacts JSONArray
    JSONArray dataJsonArr = null;

    @Override
    protected void onPreExecute() {}

    @Override
    protected String doInBackground(String... arg0) {
  // post the  specific format data to json url
 Here am getting the response values

        try {
            HttpClient httpClient = new DefaultHttpClient();
            JSONObject object = new JSONObject();
            object.put("Username", "testUser@123");
            object.put("Password", "testPassword@123");
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("Authentication", object);
            jsonObject.put("RequestType", 4);
            HttpPost postMethod = new HttpPost("url");
            postMethod.setEntity(new StringEntity(jsonObject.toString()));
            postMethod.setHeader("Accept", "application/json");
            postMethod.setHeader("Content-type", "application/json");
            HttpResponse response = httpClient.execute(postMethod);
            HttpEntity entity = response.getEntity();
            String response_value = EntityUtils.toString(entity).toString();
           // Log.e(TAG, response_value ); //display the output in logcat

            if (entity != null) {
                //Convert String to JSON Object        
                JSONObject result = new JSONObject(response_value); 

                  JSONArray tokenList = result.getJSONArray("Files");


                  for(int i=0;i<=tokenList.length();i++)
                  {
                  JSONObject oj = tokenList.getJSONObject(i);
                 JSONObject oj1 = (JSONObject) tokenList.getJSONObject(i).get("Borrower");
                JSONObject oj2 = (JSONObject) tokenList.getJSONObject(i).get("CoBorrower");
                  JSONObject oj3 = (JSONObject) tokenList.getJSONObject(i).get("LoanDetails");
                 JSONObject oj4 = (JSONObject) tokenList.getJSONObject(i).get("PropertyAddress");
                  String fileid = oj.getString("FileID");
                 String borrowername = oj1.getString("FirstName");
                 String coborrowername = oj2.getString("FirstName");
               String loannumber = oj3.getString("LoanNumber");
              String addrs1 = oj4.getString("Address1");
               String city = oj4.getString("City");
                Log.e(TAG, fileid + "/" + borrowername + "/"+ coborrowername + "/"+ addrs1 + "/"+ city + "/"+ loannumber  );
                   JSONArray orders = oj.getJSONArray("Orders");

                   for(int n=0;n<orders.length();n++){

                       JSONObject oj5 = orders.getJSONObject(n);
                       String appid = oj5.getString("ApplicationOrderId");
                       String appid1 = oj5.getString("DueDate");        
                       Log.e(TAG,  appid +"/"+ appid1);


                         }
                  }

             }


        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(String strFromDoInBg) {}
}
}

现在我在日志cat中显示响应值,但我想在列表视图中显示这些值。如果您有任何想法,请提前帮助我。

1 个答案:

答案 0 :(得分:0)

创建一个模型类!并从中创建一个新实例并设置您的值,然后将实例传递给您的适配器! 请参阅此链接以了解如何创建模型类:
http://www.vogella.com/tutorials/AndroidListView/article.html#listadvanced_interactive