歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android利用Json來進行網絡數據傳輸

最近做一項目,有很多地方得用到網絡數據傳輸與解析,這裡采用的是Json方式,它與傳統的XML解析方式比起來,有自己的一些優點,首先,它是比XML更輕量級,再一個,寫一個XML文件是個煩人的事兒,而Json則相對輕松些。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Android平台有Jsong相關的類來進行Json數據解析,悲劇的是,它們是Android SDK3.0以後才能用的。不過在谷歌網站:http://code.google.com/p/google-gson/裡有一個名為Gson的類庫,可以用它來解析Json數據,並且,Adroid 3.0平台裡其實也就是把這一部分直接整合進Android裡了。我們要解析Json數據,直接去網站上下載個jar包,導入到工程裡,就可以解析Json數據了。

下面有個例子,很清晰的解釋了這種工作方式:

先看看兩個我自己封裝的類:

HttpUtils.java:

  1. public class HttpUtils {   //從服務器端下載到Json數據,也就是個字符串   
  2.   
  3.     public static String getData(String url) throws Exception {   
  4.   
  5.         StringBuilder sb = new StringBuilder();   
  6.   
  7.         HttpClient httpClient = new DefaultHttpClient();   
  8.   
  9.         HttpGet httpGet = new HttpGet(url);   
  10.   
  11.         HttpResponse httpResponse = httpClient.execute(httpGet);   
  12.   
  13.         HttpEntity httpEntity = httpResponse.getEntity();   
  14.   
  15.         if (httpEntity != null) {   
  16.   
  17.             InputStream instream = httpEntity.getContent();   
  18.   
  19.             BufferedReader reader = new BufferedReader(new InputStreamReader(   
  20.   
  21.                     instream));   
  22.   
  23.             String line = null;   
  24.   
  25.             while ((line = reader.readLine()) != null) {   
  26.   
  27.                 sb.append(line);   
  28.   
  29.             }   
  30.   
  31.             return sb.toString();   
  32.   
  33.         }   
  34.   
  35.         return null;   
  36.   
  37.     }  
Copyright © Linux教程網 All Rights Reserved