Android非同期リクエスト

5092 ワード

 1 class MyTask_SendMessage extends AsyncTask<String, Void, String> {

 2 

 3         @Override

 4         protected void onPostExecute(String result) {

 5             super.onPostExecute(result);

 6             ShowResponseFromTuling(result);

 7         }

 8 

 9         @Override

10         protected String doInBackground(String... arg0) {

11             HttpPost request = new HttpPost(arg0[0]);

12             //       Http     WebMethod   JSON  

13             request.addHeader("Content-Type", "application/json; charset=utf-8");

14 

15             try {

16                 //     

17                 JSONObject param = new JSONObject();

18                 param.put("key", Constants.API_KEY);

19                 param.put("info", arg0[1]);

20                 HttpEntity entity = new StringEntity(param.toString(), "utf-8");

21                 request.setEntity(entity);

22 

23                 //          

24                 HttpResponse response = new DefaultHttpClient()

25                         .execute(request);

26                 int code = response.getStatusLine().getStatusCode();

27                 if (code == 200) {

28                     String result = EntityUtils.toString(response.getEntity());

29                     return result.toString();

30                 }

31                 return "";

32             } catch (Exception e) {

33                 // TODO Auto-generated catch block

34                 e.printStackTrace();

35             }

36             return "";

37         }

38 

39     }