这篇文章翻译自Ravi Tamada博客中的Android Custom ListView with Image and Text using Volley
终于效果
这个ListView呈现了一些影视信息,每一行是一个影片的信息,每一行中有一张电影的图片,电影的名字、评分、类型、年份等信息。
1.json数据
我们通过解析json然后拿到数据,这个json数据包含json数组。每一个json数组中是一个json对象,json对象中包含了电影的图片url地址、标题、年份、评分、类型等信息
JSON Url:http://api.androidhive.info/json/movies.json
2.下载Volley库(volley.jar)
假设你第一次使用Volley框架,我建议你去我之前的文章看一下Android网络框架-Volley(一) 工作原理分析 。然后到百度上下载一个volley.jar。加入到项目的lib目录里面
3.布局分析
我选择了RelativeLayout来实现这个布局,图片我们使用volley提供的NetworkImageView
如今我们来新建一个Android项目
4.创建一个新的项目
1.打开eclipse,点击File-->New-->Android Application Project。填好基本信息后,我们把包名命名为info.androidhive.customlistviewvolley
2.将volley.jar加入到项目的lib目录下
3.我们先把包建好。我们一共分为4个包: adapter, app, model 和 util 。
如今我们项目结构例如以下:
info.androidhive.customlistviewvolley.adater
info.androidhive.customlistviewvolley.app
info.androidhive.customlistviewvolley.model
info.androidhive.customlistviewvolley.util
4.打开res/values/colors.xml。
假设没有colors.xml,我们就自己创建一个。然后加入例如以下代码
加入例如以下代码,我们使用JsonArrayRequest来发送请求,发送json请求我们在Android网络框架-Volley(四) 使用get和post方法发送json请求 已经讲过了。我们将解析来的Movie对象存储在一个ArrayList中,调用notifyDataSetChanged()方法通知listview去更新我们的数据。