`

Android利用Json来进行网络数据传输

 
阅读更多

最近做一项目,有很多地方得用到网络数据传输与解析,这里采用的是Json方式,它与传统的XML解析方式比起来,有自己的一些优点,首先,它是比XML更轻量级,再一个,写一个XML文件是个烦人的事儿,而Json则相对轻松些。

          Android平台有Jsong相关的类来进行Json数据解析,悲剧的是,它们是Android SDK3.0以后才能用的。不过在谷歌网站:http://code.google.com/p/google-gson/里有一个名为Gson的类库,可以用它来解析Json数据,并且,Adroid 3.0平台里其实也就是把这一部分直接整合进Android里了。我们要解析Json数据,直接去网站上下载个jar包,导入到工程里,就可以解析Json数据了。

下面有个例子,很清晰的解释了这种工作方式:

先看看两个我自己封装的类:

HttpUtils.java:

public class HttpUtils {   //从服务器端下载到Json数据,也就是个字符串

    public static String getData(String url) throws Exception {

        StringBuilder sb = new StringBuilder();

        HttpClient httpClient = new DefaultHttpClient();

        HttpGet httpGet = new HttpGet(url);

        HttpResponse httpResponse = httpClient.execute(httpGet);

        HttpEntity httpEntity = httpResponse.getEntity();

        if (httpEntity != null) {

            InputStream instream = httpEntity.getContent();

            BufferedReader reader = new BufferedReader(new InputStreamReader(

                    instream));

            String line = null;

            while ((line = reader.readLine()) != null) {

                sb.append(line);

            }

            return sb.toString();

        }

        return null;

    }

 

JsonUtils.java:

public class JsonUtils {

    public static List<Student> parseStudentFromJson(String data) {

        Type listType = new TypeToken<LinkedList<Student>>() {

        }.getType();

        Gson gson = new Gson();

        LinkedList<Student> list = gson.fromJson(data, listType);

        return list;

    }

}

 

里面的Student是一个JavaBean对象:

public class Student {

    private String name;

    private int age;

    private String id;

 

    public Student() {

        super();

    }

 

    public Student(String name, int age, String id) {

        super();

        this.name = name;

        this.age = age;

        this.id = id;

    }

 

    public String getName() {

        return name;

    }

 

    public void setName(String name) {

        this.name = name;

    }

 

    public int getAge() {

        return age;

    }

 

    public void setAge(int age) {

        this.age = age;

    }

 

    public String getId() {

        return id;

    }

 

    public void setId(String id) {

        this.id = id;

    }

 

}

 

public class MainActivity extends Activity {

    private TextView textView;

    private List<Student> list;

 

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        textView = (TextView) findViewById(R.id.textView);

        String data = null;

        try {

            data = HttpUtils

                    .getData("http://10.16.12.165:8080/JsonTest/JsonTestServlet");

        } catch (Exception e) {

            e.printStackTrace();

        }

        String result = "";

        list = JsonUtils.parseStudentFromJson(data);

        for (Student s : list) {

            result += "name: " + s.getName() + "   " + "age: " + s.getAge()

                    + "   " + "id: " + s.getId() + "\n";

        }

        textView.setText(result);

    }

}

 

这样就可以获取网络数据并加以解析利用了,运行结果如下:



 

 

  • 大小: 9.2 KB
1
0
分享到:
评论
1 楼 黑人也疯狂 2012-08-23  
如果数据量很大,会报错吗?我传过来的json格式的String大于1051就挂了...

相关推荐

    android使用JSON进行网络数据交换(服务端、客户端)的实现

    本文将深入探讨如何在Android中利用JSON进行网络数据交换,包括服务端和客户端的实现。 首先,理解JSON的基本结构至关重要。JSON是一种轻量级的数据交换格式,以文本形式存储和传输数据,易于人阅读和编写,同时也...

    android使用JSON进行网络数据交换(服务端、客户端)的实现.rar

    总结,这个压缩包的实现可能涵盖了Android客户端使用Retrofit发送网络请求、解析JSON数据,以及服务器端处理JSON请求并返回的过程。在实际项目中,还需要考虑安全性、性能优化和错误处理等多方面因素。

    android城市json数据 按拼音排列/按省市区排列 附带使用方法

    总的来说,利用这些JSON数据,开发者可以轻松地在Android应用中实现城市选择、地理定位等功能。正确理解和使用这些数据,能提高应用的用户体验,同时减少网络请求的复杂性。记得在实际项目中,考虑到性能和内存优化...

    自己实现的Android PHP JSON实现登陆注册功能

    总结来说,这个项目展示了如何使用Android的OkHttp3库配合PHP后端和JSON数据交换,实现用户登录和注册功能。它涵盖了客户端的网络请求、数据序列化,以及服务器端的数据处理和响应。这个过程中的每个环节都是现代...

    安卓开发-android使用JSON进行网络数据交换(服务端、客户端)的实现.zip.zip

    3. Android客户端发送网络请求获取JSON数据: - 使用`HttpURLConnection`:Android原生提供了HTTP请求接口,可以通过`URL`和`HttpURLConnection`类创建连接,发送GET或POST请求,获取JSON响应。 - 使用第三方库如...

    Android-AndroidJSON格式化显示可配置样式展开与折叠

    本文将深入探讨如何在Android中实现一个JSON查看器,以友好的可读格式展示JSON数据,并支持用户进行展开和折叠操作,提升用户体验。 首先,我们需要理解JSON的基本结构。JSON由键值对组成,键用双引号包围,后跟...

    Android 的 JSON解析源码

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于应用程序与服务器之间的数据传输。理解并能熟练运用JSON解析对于一个Android开发者来说至关重要。本篇文章将深入探讨...

    Struts2+Json+Android简单实现

    3. **数据处理**:解析后的JSON数据可以绑定到Android UI组件上展示,或者进行进一步的业务处理。 4. **用户交互**:Android端可能有按钮等UI元素,点击后触发网络请求,获取服务器返回的JSON数据,更新UI。 5. **...

    android 解析json数据

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的数据传输。由于其简洁和易于阅读的特性,JSON成为移动应用开发者首选的数据格式,尤其是Android平台。...

    Android_JSON_RPC_0.zip_JSON_android json_android-CS_json android

    总的来说,Android JSON RPC是Android应用与远程服务器交互的重要手段,它利用JSON的简洁性和易解析性,实现了高效的数据传输。通过分析和实践Android JSON RPC 0.zip中的代码,开发者可以深入理解JSON在Android中的...

    Mysql+Json+Android

    在实际开发中,还需要注意性能优化,比如使用GZIP压缩减少数据传输量,使用缓存减少网络请求,以及合理设计数据库索引以提高查询效率。同时,要遵循最佳实践,如使用ORM框架简化数据库操作,使用MVVM架构提高代码...

    Android代码-利用JSON通过Android客户端访问web服务器实现一个登录功能.zip

    总的来说,这个项目提供了一个完整的Android客户端利用JSON与Java Struts服务器进行登录功能交互的示例,涵盖了网络请求、JSON解析、服务器端处理和数据库操作等多个重要知识点,对于理解移动应用与服务器间的数据...

    利用 JSON 实现 Android 高效、安全

    总结来说,利用JSON实现Android高效、安全地访问远程数据库涉及以下关键点: 1. JSON作为数据交换格式,便于数据的序列化和反序列化。 2. 利用HTTP协议进行客户端与服务器的通信。 3. 数据压缩(如ZIP)减少传输时间...

    Android高级应用源码-利用JSON,通过Android客户端访问web服务器,实现一个登录功能.rar

    在Android开发中,实现一个利用JSON与Web服务器交互的登录功能是高级应用的重要部分。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它允许Android客户端与服务器进行高效、简洁的数据通信。本...

    利用JSON,通过Android客户端访问web服务器,实现一个登录功能_网页交互功能.zip

    这里我们探讨的主题是如何利用JSON(JavaScript Object Notation)这一轻量级的数据交换格式,通过Android客户端来访问Web服务器,实现一个登录功能。JSON因其简单、易读、易于解析的特性,被广泛用于网络数据传输。...

    Android 利用JSON,通过Android客户端访问web服务器,实现一个登录功能-IT计算机-毕业设计.zip

    在Android应用开发中,利用JSON(JavaScript Object Notation)数据格式和HTTP协议,可以通过Android客户端与Web服务器进行交互,实现各种功能,如本项目中的登录功能。以下将详细阐述这个过程涉及的关键知识点。 1...

    利用JSON实现Android高效、安全访问远程数据库的一种方式.pdf

    通过使用JSON数据传输,我们可以实现高效、安全的数据库访问,并且可以减少数据传输的大小和时间,提高应用程序的性能。同时,我们还可以使用加密和压缩技术来提高数据传输的安全性和效率。 使用JSON实现Android...

    使用JSON连接Android和PHP 源码

    本教程将详细介绍如何利用JSON技术在Android客户端和PHP服务器之间建立连接,以便与MySQL数据库进行数据交互。 一、Android JSON解析与网络请求 在Android端,首先需要实现HTTP请求来获取或发送数据。可以使用...

Global site tag (gtag.js) - Google Analytics