歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android利用Json來進行網絡數據傳輸

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

日期:2017/3/1 10:25:54   编辑:Linux編程

最近做一項目,有很多地方得用到網絡數據傳輸與解析,這裡采用的是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. public static String getData(String url) throws Exception {
  3. StringBuilder sb = new StringBuilder();
  4. HttpClient httpClient = new DefaultHttpClient();
  5. HttpGet httpGet = new HttpGet(url);
  6. HttpResponse httpResponse = httpClient.execute(httpGet);
  7. HttpEntity httpEntity = httpResponse.getEntity();
  8. if (httpEntity != null) {
  9. InputStream instream = httpEntity.getContent();
  10. BufferedReader reader = new BufferedReader(new InputStreamReader(
  11. instream));
  12. String line = null;
  13. while ((line = reader.readLine()) != null) {
  14. sb.append(line);
  15. }
  16. return sb.toString();
  17. }
  18. return null;
  19. }
Copyright © Linux教程網 All Rights Reserved