日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

安卓客户端与服务器交互Json数据

發(fā)布時(shí)間:2025/7/25 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓客户端与服务器交互Json数据 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

---恢復(fù)內(nèi)容開(kāi)始---

1.首先要定義一個(gè)Internet類用于連接服務(wù)器

1 public class Internet { 2 public static String gethttpresult(String urlStr){ 3 try { 4 URL url=new URL(urlStr); 5 HttpURLConnection connect=(HttpURLConnection)url.openConnection(); 6 InputStream input=connect.getInputStream(); 7 BufferedReader in = new BufferedReader(new InputStreamReader(input)); 8 String line = null; 9 System.out.println(connect.getResponseCode()); 10 StringBuffer sb = new StringBuffer(); 11 while ((line = in.readLine()) != null) { 12 sb.append(line); 13 } 14 return sb.toString(); 15 } catch (Exception e) { 16 System.out.println(e.toString()); 17 return null; 18 } 19 } 20 }

2.定義一個(gè)JsonParser類用于解析Json數(shù)據(jù)

1 public class JSONParser { 2 static InputStream is = null; 3 static JSONArray jObj = null; 4 static String json = ""; 5 // constructor 6 public JSONParser() { 7 } 8 public JSONArray makeHttpRequest(final String url, String method, final List<NameValuePair> params) { 9 // Making HTTP request 10 new Thread(){ 11 @Override 12 public void run() { 13 try { 14 //使用POST請(qǐng)求 15 DefaultHttpClient httpClient = new DefaultHttpClient(); 16 HttpPost httpPost = new HttpPost(url); 17 httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); 18 HttpResponse httpResponse = httpClient.execute(httpPost); 19 HttpEntity httpEntity = httpResponse.getEntity(); 20 is = httpEntity.getContent(); 21 } catch (UnsupportedEncodingException e) { 22 e.printStackTrace(); 23 } catch (ClientProtocolException e) { 24 e.printStackTrace(); 25 } catch (IOException e) { 26 e.printStackTrace(); 27 } 28 try { 29 BufferedReader reader = new BufferedReader(new InputStreamReader( 30 is, "UTF-8")); 31 StringBuilder sb = new StringBuilder(); 32 String line = null; 33 while ((line = reader.readLine()) != null) { 34 sb.append(line + "\n"); 35 } 36 is.close(); 37 json = sb.toString(); 38 } catch (Exception e) { 39 Log.e("Buffer Error", "Error converting result " + e.toString()); 40 Log.d("json", json.toString()); 41 } 42 } 43 }.start(); 44 return jObj; 45 } 46 }

3.在MainActivity中獲取并解析獲取到的Json數(shù)據(jù)

1 private Internet internet; 2 //將服務(wù)器上的圖片加載到本地 3 new Thread() { 4 @Override 5 public void run() { 6 String result = internet.gethttpresult(url); 7 try { 8 JSONObject result_json = new JSONObject(result); 9 JSONArray person = result_json.getJSONArray("data"); 10 for (int i = 0; i < person.length(); i++) { 11 JSONObject object = person.getJSONObject(i); 12 String urL = object.getString("image"); 13 String newPicture=getString(urL); 14 picture.add(newPicture); 15 lastUrl.add(urL); 16 } 17 //這里可以添加你所需要的操作 18 //處理完成后給handler發(fā)送消息 19 Message msg = new Message(); 20 msg.what = COMPLETED; 21 handler.sendMessage(msg); 22 } catch (JSONException e) { 23 e.printStackTrace(); 24 System.out.println(e.toString()); 25 Looper.prepare(); 26 Toast.makeText(LoadBmpFeatureActivity.this, "文件解析錯(cuò)誤!", Toast.LENGTH_SHORT).show(); 27 Looper.loop(); 28 } 29 } 30 }.start();

獲取到的Json格式如下

?

轉(zhuǎn)載于:https://www.cnblogs.com/sq-9701/p/10899264.html

總結(jié)

以上是生活随笔為你收集整理的安卓客户端与服务器交互Json数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。