把从网络获取的图片数据保存在SD卡上,
先把权限都加上
网络权限 android.permission.INTERNET
SD卡读写权限
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
android.permission.WRITE_EXTERNAL_STORAGE
总体布局
写界面,使用ListView,创建条目的布局文件,水平摆放的ImageView TextView
在activity中获取到ListView对象,调用setAdapter()方法,设置一个适配器
新建一个包 Adapter,新建一个适配器ContactsAdapter继承系统的BaseAdapter
新建一个domain包,新建一个Contact的javaBean,属性id,name,image,有参构造函数
新建一个service包,新建一个ContactService业务类,新建一个静态方法getContacts(),获取联系人的,getImages()获取图片
开启新线程,使用ContactService.getContacts()里面实现获取网络数据,返回List对象,使用Handler传递数据给主线程
创建缓存图片的SD卡目录
获取File对象,通过new File(),获取到SD卡根目录下面的cache文件夹,参数:
Environment.getExternalStorageDirectory(),”cache”文件夹名称
调用File对象的exists()方法,判断目录是否存在,不存在就创建,调用File对象的mkdirs()
展示ListView
设置ContactsAdapter类的构造函数,传递进去参数:数据,布局文件,缓存目录FIle对象
重写getCount()方法,return数据的条数
重写getItem()方法,返回 根据索引得到的集合中的数据,List对象的get()方法,参数:索引
重写getItemId()方法,一般返回数据的索引
重写getView()方法,传递进来的参数:position索引,convertView
convertView是缓存的View对象,当第一屏的时候,该View对象为null,判断如果为null,就调用布局填充器来填充条目布局文件。










