- 浏览: 272959 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
tonytony3:
THANK YOU
Android多级树形菜单的实现 -
haiyang08101:
deleteNumber = "421f481e-7 ...
java对xml文件做增删改查 -
求求你帮帮我:
怎么把我的空格也当成节点处理了?
java对xml文件做增删改查 -
求求你帮帮我:
deleteNumber = "421f481e-7 ...
java对xml文件做增删改查 -
lpj13579:
多谢分享,学习学习
高仿小米盒子UI效果实现
最近做一项目,有很多地方得用到网络数据传输与解析,这里采用的是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); } }
这样就可以获取网络数据并加以解析利用了,运行结果如下:
发表评论
-
Android 三大图片加载框架比较
2016-11-30 10:31 10901.哪三大图片加载框架? 1) Pi ... -
仿微信小视屏拍摄的进度条/自定义的progressBar的样式。
2016-08-20 00:25 1027今天有个需求,就是需要倒计时的进度条,样式参考微信小视屏拍摄 ... -
android 闹钟定时任务 AlarmManager
2016-06-02 13:41 1829直接上代码 package com.exampl ... -
android应用实现重启系统
2016-06-02 13:33 35271.在AndroidManifest.xml文件的manif ... -
android 每天定时提醒功能实现
2016-06-01 22:42 0android要实现定时的功 ... -
Java Calendar 类的时间操作
2016-06-01 21:02 670ava Calendar 类时间操作,这也许是创建日历和管理 ... -
android中fragment和activity之间相互通信
2014-11-13 16:25 1442在用到fragment的时候,老是会遇到一个问题,就是fra ... -
墨迹天气上下滑动viewpager
2014-11-04 17:15 762墨迹天气上下滑动viewpager -
Android杂谈--打开文件的Intent及使用
2014-10-25 13:03 647在写文件管理系统时会用到各种打开不同格式的文件的需求,由于A ... -
获取Android签名证书的sha1值
2014-08-23 23:14 666前言:今天开始研 ... -
java中Keytool的使用总结
2014-08-23 22:40 562J2SDK提供了keytool命令行工具,可以根据指定的参数 ... -
android获取versionName和versionCode
2014-07-08 18:02 739<TextView android:textSize= ... -
Android如何防止apk程序被反编译
2014-07-08 17:22 708作为Android应用开发者,不得不面对一个尴尬的局面,就是 ... -
在GridView中实现单选或多选功能
2014-06-26 13:08 844由于项目需要,要用到GridView实现多选功能,在网上搜 ... -
Android中Tween动画和Frame动画实例
2014-06-26 10:46 727Animation主要有两种动画模式:Tween动画和Fra ... -
android 禁用和开启四大组件的方法(setComponentEnabledSetting )
2014-06-19 15:26 0为什么要关闭组件? 在用到组件时,有时候我们可能暂时性的不使 ... -
android MD5校验码的生成与算法实现
2014-06-17 10:58 889在Java中,java.security.Mes ... -
android 自动检测版本升级
2014-06-15 14:10 387这里我用别的app代替了,简单省事,正常的话,你要对你的 ... -
layout左右平滑控制.
2014-04-30 09:41 617<?xml version="1.0&quo ... -
android让你的TabHost滑动起来
2014-04-22 22:13 820在Android应用中,一般TabActivity和若干个T ...
相关推荐
本文将深入探讨如何在Android中利用JSON进行网络数据交换,包括服务端和客户端的实现。 首先,理解JSON的基本结构至关重要。JSON是一种轻量级的数据交换格式,以文本形式存储和传输数据,易于人阅读和编写,同时也...
总结,这个压缩包的实现可能涵盖了Android客户端使用Retrofit发送网络请求、解析JSON数据,以及服务器端处理JSON请求并返回的过程。在实际项目中,还需要考虑安全性、性能优化和错误处理等多方面因素。
总的来说,利用这些JSON数据,开发者可以轻松地在Android应用中实现城市选择、地理定位等功能。正确理解和使用这些数据,能提高应用的用户体验,同时减少网络请求的复杂性。记得在实际项目中,考虑到性能和内存优化...
总结来说,这个项目展示了如何使用Android的OkHttp3库配合PHP后端和JSON数据交换,实现用户登录和注册功能。它涵盖了客户端的网络请求、数据序列化,以及服务器端的数据处理和响应。这个过程中的每个环节都是现代...
3. Android客户端发送网络请求获取JSON数据: - 使用`HttpURLConnection`:Android原生提供了HTTP请求接口,可以通过`URL`和`HttpURLConnection`类创建连接,发送GET或POST请求,获取JSON响应。 - 使用第三方库如...
本文将深入探讨如何在Android中实现一个JSON查看器,以友好的可读格式展示JSON数据,并支持用户进行展开和折叠操作,提升用户体验。 首先,我们需要理解JSON的基本结构。JSON由键值对组成,键用双引号包围,后跟...
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于应用程序与服务器之间的数据传输。理解并能熟练运用JSON解析对于一个Android开发者来说至关重要。本篇文章将深入探讨...
3. **数据处理**:解析后的JSON数据可以绑定到Android UI组件上展示,或者进行进一步的业务处理。 4. **用户交互**:Android端可能有按钮等UI元素,点击后触发网络请求,获取服务器返回的JSON数据,更新UI。 5. **...
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的数据传输。由于其简洁和易于阅读的特性,JSON成为移动应用开发者首选的数据格式,尤其是Android平台。...
总的来说,Android JSON RPC是Android应用与远程服务器交互的重要手段,它利用JSON的简洁性和易解析性,实现了高效的数据传输。通过分析和实践Android JSON RPC 0.zip中的代码,开发者可以深入理解JSON在Android中的...
在实际开发中,还需要注意性能优化,比如使用GZIP压缩减少数据传输量,使用缓存减少网络请求,以及合理设计数据库索引以提高查询效率。同时,要遵循最佳实践,如使用ORM框架简化数据库操作,使用MVVM架构提高代码...
总的来说,这个项目提供了一个完整的Android客户端利用JSON与Java Struts服务器进行登录功能交互的示例,涵盖了网络请求、JSON解析、服务器端处理和数据库操作等多个重要知识点,对于理解移动应用与服务器间的数据...
总结来说,利用JSON实现Android高效、安全地访问远程数据库涉及以下关键点: 1. JSON作为数据交换格式,便于数据的序列化和反序列化。 2. 利用HTTP协议进行客户端与服务器的通信。 3. 数据压缩(如ZIP)减少传输时间...
在Android开发中,实现一个利用JSON与Web服务器交互的登录功能是高级应用的重要部分。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它允许Android客户端与服务器进行高效、简洁的数据通信。本...
这里我们探讨的主题是如何利用JSON(JavaScript Object Notation)这一轻量级的数据交换格式,通过Android客户端来访问Web服务器,实现一个登录功能。JSON因其简单、易读、易于解析的特性,被广泛用于网络数据传输。...
在Android应用开发中,利用JSON(JavaScript Object Notation)数据格式和HTTP协议,可以通过Android客户端与Web服务器进行交互,实现各种功能,如本项目中的登录功能。以下将详细阐述这个过程涉及的关键知识点。 1...
通过使用JSON数据传输,我们可以实现高效、安全的数据库访问,并且可以减少数据传输的大小和时间,提高应用程序的性能。同时,我们还可以使用加密和压缩技术来提高数据传输的安全性和效率。 使用JSON实现Android...
本教程将详细介绍如何利用JSON技术在Android客户端和PHP服务器之间建立连接,以便与MySQL数据库进行数据交互。 一、Android JSON解析与网络请求 在Android端,首先需要实现HTTP请求来获取或发送数据。可以使用...