Android 解析JSON数据填充到Listview中
JSON代码格式化:http://blog.92coding.com/tool/jsonformat.html
用GSON处理JSON数据:http://www.cnblogs.com/VinC/archive/2011/02/25/Use-GSon-Hand-JsonData-For-Android-Device.html
新浪微博开发Json解析:http://www.cnblogs.com/xiaoxiongbuwawa/archive/2012/10/11/2718551.html
Json数据解析:http://www.open-open.com/bbs/view/1319448346593
Json解析及简单例子:http://www.open-open.com/lib//view/open1326376799874.html
类似的json数组数据
- [
- {
- "screen_name": "阿信",
- "followers_count": 11091994,
- "uid": 1265020392
- },
- {
- "screen_name": "阿信星闻",
- "followers_count": 22427,
- "uid": 1822541757
- }
- ]
[{"screen_name": "阿信","followers_count": 11091994,"uid": 1265020392},{"screen_name": "阿信星闻","followers_count": 22427,"uid": 1822541757}]
为了简洁方便首先写一个向服务器发送请求得到相应数据的类:
- package com.wmh.googledoodles;
- import java.io.IOException;
- import org.apache.http.HttpResponse;
- import org.apache.http.HttpStatus;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.util.EntityUtils;
- public class MyHttp
- {
- public String httpGet(String url)
- {
- String response = null;
- HttpClient httpClient = new DefaultHttpClient();
- //创建HttpGet对象
- HttpGet httpGet = new HttpGet(url);
- HttpResponse httpResponse;
- try
- {
- //使用execute方法发送 HttpGet请求,并返回httRresponse对象
- httpResponse = httpClient.execute(httpGet);
- int statusCode = httpResponse.getStatusLine().getStatusCode();
- if(statusCode==HttpStatus.SC_OK)
- {
- //获得返回结果
- response=EntityUtils.toString(httpResponse.getEntity());
- }
- } catch (ClientProtocolException e)
- {
- e.printStackTrace();
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- return response;
- }
- }
package com.wmh.googledoodles;import java.io.IOException;import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;public class MyHttp
{public String httpGet(String url){String response = null;HttpClient httpClient = new DefaultHttpClient();//创建HttpGet对象HttpGet httpGet = new HttpGet(url);HttpResponse httpResponse;try{//使用execute方法发送 HttpGet请求,并返回httRresponse对象httpResponse = httpClient.execute(httpGet);int statusCode = httpResponse.getStatusLine().getStatusCode();if(statusCode==HttpStatus.SC_OK){//获得返回结果response=EntityUtils.toString(httpResponse.getEntity());}} catch (ClientProtocolException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}return response;}
}
再在MainActivity中获取JSON数据,解析出数据内容,填充进适配器,再绑定到Listview控件上
- public class MainActivity extends Activity
- {
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- List<HashMap<String,Object>> ListData = getListData();
- SimpleAdapter ListAdapter = new SimpleAdapter(this,ListData, R.layout.list_item,
- new String []{"screen_name","uid"},
- new int []{R.id.name,R.id.uid});
- ListView list = (ListView)findViewById(R.id.list);
- list.setAdapter(ListAdapter);
- }
- private List<HashMap<String,Object>> getListData()
- {
- List<HashMap<String,Object>> Data = new ArrayList<HashMap<String, Object>>();
- String url = "XXXXXX";
- MyHttp myHttp = new MyHttp();
- String retStr = myHttp.httpGet(url);
- try
- {
- JSONArray jsonArray = new JSONArray(retStr);
- for (int i = 0; i < jsonArray.length(); i++)
- {
- JSONObject jsonObject = jsonArray.getJSONObject(i);;
- {
- HashMap<String, Object> hashMap = new HashMap<String, Object>();
- hashMap.put("screen_name", jsonObject.getString("screen_name"));
- hashMap.put("uid", jsonObject.getString("uid"));
- Data.add(hashMap);
- }
- }
- } catch (JSONException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return Data;
- }
- }
public class MainActivity extends Activity
{@Overrideprotected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);List<HashMap<String,Object>> ListData = getListData();SimpleAdapter ListAdapter = new SimpleAdapter(this,ListData, R.layout.list_item, new String []{"screen_name","uid"}, new int []{R.id.name,R.id.uid});ListView list = (ListView)findViewById(R.id.list);list.setAdapter(ListAdapter);}private List<HashMap<String,Object>> getListData(){List<HashMap<String,Object>> Data = new ArrayList<HashMap<String, Object>>();String url = "XXXXXX";MyHttp myHttp = new MyHttp();String retStr = myHttp.httpGet(url);try{JSONArray jsonArray = new JSONArray(retStr);for (int i = 0; i < jsonArray.length(); i++){JSONObject jsonObject = jsonArray.getJSONObject(i);;{HashMap<String, Object> hashMap = new HashMap<String, Object>();hashMap.put("screen_name", jsonObject.getString("screen_name"));hashMap.put("uid", jsonObject.getString("uid"));Data.add(hashMap); }}} catch (JSONException e){// TODO Auto-generated catch blocke.printStackTrace();}return Data;} }
Android 解析JSON数据填充到Listview中相关推荐
- 老罗Android开发视频教程( android解析json数据 )4集集合
老罗Android开发视频教程( android解析json数据 )4集集合 老罗Android开发视频教程( android解析json数据 ) 第一集android解析json数据 http:// ...
- Android 解析JSON数据
第一种使用JSONObject解析JSON数据,这是Android中最基本的数据解析方式 fromJson("{'status':200," +"'message':'o ...
- 怎么解析Json数据,然后把解析到的Json数据填充到布局中?
一.首先把需要解析的Json数据如下所示: {"res_code": 0,"res_error": "","res_body&qu ...
- android 快速解析json数据搭配Gson库中Android Studio插件 GsonFormat
转:https://www.jianshu.com/p/d34c5e7c8227 更简洁的文章:http://www.cnblogs.com/foxy/p/7825380.html 如果对json解析 ...
- mysql 动态sql 解析json数据_在SQL 中生成JSON数据
这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数 ...
- Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
JSON介绍: JSON:JavaScript对象表示法 JSON是存储和交换文本信息的语法. 特点: JSON是轻量级的文本数据交换格式 JSON独立于语言和平台 JSON具有自我描述性,更易理解 ...
- Android开发--Json数据的解析
在执行解析数据之前,需要将一个类库应用到你的程序中,下载的地址是: http://code.google.com/p/google-gson/ 下载解压之后你需要将蓝色标记的文件放入到你的程序之中应用 ...
- android 解析网络数据(JSON)
解析json数据,获取你需要的信息 首先在manifest中添加允许访问网络的权限信息 <uses-permission android:name="android.permissio ...
- android json.out,Android 之 json数据的解析(jsonReader)
json数据的解析相对而言,还是比较容易的,实现的代码也十分简单.这里用的是jsonReade方法来进行json数据解析. 1.在解析之前,大家需要知道什么是json数据. json数据存储的对象是无 ...
最新文章
- python零基础有用吗-零基础参加软件测试有用吗?老男孩Python培训班
- Go语言介绍 安装 基础命令(一)
- u盘安装linux18.04.3遇到的坑
- 信息安全系统设计基础第九周总结
- vue.js权威指南----代码解释实例
- 面向对象写单片机程序-程序分层
- 易混淆的c++知识点
- python编程入门与实践_Python编程入门到实践(二)
- linux系统查看进程并杀掉,Linux如何查找8080进程并杀掉该进程
- Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
- 基于JAVA+SpringMVC+MYSQL的网上选课系统
- 28181之安装SPVMN的视频插件
- 使用easyx来实现按钮功能
- Unity2019配置ARCore环境
- excel 对列数据进行去重操作
- Pytorch关于高维tensor的dim上操作的理解--以cosine_similarity的dim参数为例
- Latex中使用thebibliography环境时去除“参考文献”标题方法
- Vivado IP核之定点数转为浮点数Floating-point
- 每日一个小技巧:文字转图片怎么操作?介绍给你三款软件
- 分辨率自动调节html,如何让网页自适应手机屏幕分辨率_html/css_WEB-ITnose
热门文章
- python中的screen blit_python pygame blit。获取要显示的图像
- 在歌唱比赛中,共有10位评委进行打分(0-100分的区间),在计算歌手得分时, 去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均, 就是该选手的最终得分。输入每个评委的评分,求某选
- 网络篇-HTTP1.1协议(上)-概述
- 联想Y400安装ubuntu16.04、cuda8.0、cudnn5.1、anaconda2.7、tensorflow1.2、keras、opencv
- 听《武志红的心理课之潜意识就是命运》有感 命运,这个东西信者有,不信者无。我很赞同武老师的观点,一个热的外在命运和我们的内在想象,是镜像关系。这不禁让我想起了小时候的一个故事:一群青蛙比赛爬山,很多人
- linux里的文件服务
- cgb2110-day13
- 【搞定Jvm面试】 Java 内存区域揭秘附常见面试题解析
- 【SW系列】计算机案例之草图文字
- android 单手模式 cm,怎么开启单手模式 安卓自定义单手操作模式缔造教程