Android数据加载和Json解析——蓝本
1、下载数据来创建一个实体类
class MyData
{
String imagepath;
String title;
String desc;
public MyData(String imagepath, String title, String desc)
{
super();
this.imagepath = imagepath;
this.title = title;
this.desc = desc;
}
}
2、AsyncTask数据载入及Json解析类
class FileAsyncTask extends AsyncTask<String, Void, String>
{
@Override
protected String doInBackground(String... params)
{
InputStream is = null;
ByteArrayBuffer byteArrayBuffer = new ByteArrayBuffer(4000);
try
{
URL url = new URL(params[0]);
URLConnection openConnection = url.openConnection();
//设置连接超时的时间
openConnection.setConnectTimeout(3000);
//数据读取超时的时间
openConnection.setReadTimeout(3000);
is = openConnection.getInputStream();
byte[] buffer = new byte[1024];
int len;
while (-1 != (len = is.read(buffer)))
{
byteArrayBuffer.append(buffer, 0, len);
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
runOnUiThread(new Runnable()
{
public void run()
{
//设置载入异常时的控件,通常显示运行进度条
}
});
e.printStackTrace();
}
finally
{
if (is != null)
{
try
{
is.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
String res = new String(byteArrayBuffer.toByteArray(), 0,
byteArrayBuffer.length());
return res;
}
// 解析jsonArray数据
@Override
protected void onPostExecute(String result)
{
try
{
JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
String imagepath = jsonObject.getString("imagepath");
String title = jsonObject.getString("title");
String desc = jsonObject.getString("desc");
MyData myData = new MyData(imagepath, title, desc);
dataList.add(myData);//加入数据
}
myAdapter.notifyDataSetChanged();//通知适配器数据改变
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
super.onPostExecute(result);
}
}
3、调用
private ArrayList<MyData> dataList = new ArrayList<MainActivity.MyData>();//声明全局变量dataList
FileAsyncTask fileAsyncTask = new FileAsyncTask();
fileAsyncTask.execute("http://192.168.56.1:8080/service.txt");
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Android数据加载和Json解析——蓝本的更多相关文章
- [转载] Android动态加载Dex机制解析
本文转载自: http://blog.csdn.net/wy353208214/article/details/50859422 1.什么是类加载器? 类加载器(class loader)是 Java ...
- Android异步加载访问网络图片-解析json
来自:http://www.imooc.com/video/7871 推荐大家去学习这个视频,讲解的很不错. 慕课网提供了一个json网址可以用来学习:http://www.imooc.com/api ...
- Android Volley和Gson实现网络数据加载
Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...
- Android 图片加载框架Glide4.0源码完全解析(二)
写在之前 上一篇博文写的是Android 图片加载框架Glide4.0源码完全解析(一),主要分析了Glide4.0源码中的with方法和load方法,原本打算是一起发布的,但是由于into方法复杂性 ...
- Android图片加载框架最全解析(八),带你全面了解Glide 4的用法
本篇将是我们这个Glide系列的最后一篇文章. 其实在写这个系列第一篇文章的时候,Glide就推出4.0.0的RC版了.那个时候因为我一直研究的都是Glide 3.7.0版本,再加上RC版本还不太稳定 ...
- Android图片加载框架最全解析(三),深入探究Glide的缓存机制
在本系列的上一篇文章中,我带着大家一起阅读了一遍Glide的源码,初步了解了这个强大的图片加载框架的基本执行流程. 不过,上一篇文章只能说是比较粗略地阅读了Glide整个执行流程方面的源码,搞明白了G ...
- Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
在本系列的上一篇文章中,我们学习了Glide的基本用法,体验了这个图片加载框架的强大功能,以及它非常简便的API.还没有看过上一篇文章的朋友,建议先去阅读 Android图片加载框架最全解析(一),G ...
- Android下设置ListView数据加载完成后执行layoutanimation
今天使用android的volley框架写了一个简单的网络天气获取的demo. 承载数据的空间是ListView 因为是网络加载,必然先要设置ListView的默认数据,我设置的就是那个Loading ...
- Android之MVP模式实现登录和网络数据加载
MVP简介 相信大家对 MVC 都是比较熟悉了:M-Model-模型.V-View-视图.C-Controller-控制器,MVP作为MVC的演化版本,也是作为用户界面(用户层)的实现模式,那么类似的 ...
随机推荐
- SQL Server 性能调优培训引言
原文:SQL Server 性能调优培训引言 大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MS SQL技术学习的一个兴趣记录. 作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤 ...
- kernel 于ioctl申请书
ioctl经营无纸装置频繁使用的类型.同时这是一个非常实用的方法进程调试. 这里正在进行wdt该文章继续 static long at91_wdt_ioctl(struct file *file, u ...
- BZOJ 1324 Exca神剑 最小割
标题效果:给定一个n*m矩阵.所有的格宝石之子,人们可选择起始位置,后除去宝石的当前位置的周围消失,然后你就可以走两步,重复上述过程 easy发现格儿子把它周围格孩子不能拿 因此,党格访问问题 黑白染 ...
- 联想昭阳e43l笔记本配置
驱动精灵硬件检测报告 版本:2015.3.26.1363(8.1.326.1363)========================================================== ...
- Windows 8实例教程系列 - 理解应用框架
原文:Windows 8实例教程系列 - 理解应用框架 Windows 操作系统之所以风靡世界,是因为其“易学易用”,从用户的角度出发,让数以万计的非IT人员使用计算机实现娱乐,工作等目的.Windo ...
- sharepoint 2013 个人网站公共母板页路径地址
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\FEATURES\MySiteUnif ...
- HDFS 上传文件的不平衡,Balancer问题是过慢
至HDFS上传文件.假定从datanode开始上传文件,上传的数据将导致目前的当务之急是全datanode圆盘.这是一个分布式程序的执行是非常不利. 解决方案: 1.从其他非datanode节点上传 ...
- Ecshop他们主动双语版切换来推断个人的计划
个人思路是基于浏览器的语言来推断自己主动,假设中国的浏览器,对使用中国模板.将英语模板.于.英国的模板差值称为不同的产品类别.文章分类,的模板可设置为相同的固定的文本language,所以你不会有打造 ...
- [ACM] HUST 1017 Exact cover (Dancing Links,DLX模板题)
DESCRIPTION There is an N*M matrix with only 0s and 1s, (1 <= N,M <= 1000). An exact cover is ...
- Chapter 1 Securing Your Server and Network(12):保护链接server
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38438363.专题文件夹:http://blog.csdn.net/dba_huangz ...