Android的ListView的使用(其中使用MCV模式)封装性较好

此篇博客是纯代码,https://blog.****.net/weixin_44614751/article/details/103216566
下面是对此篇代码写出的步骤过程,及碎片的分析:
数据源操作
数据的相关操作:

思维导图:Android的ListView的使用(其中使用MCV模式)封装性较好
DataManager
// 管理数据源
/**

  • 存储解析之后的数据
  • 加载数据
  • 保存数据
  • 更改数据
  • 单例模式:
  • 1.禁用构造方法
  • 2.定义单例对象 静态 final

*/
Android的ListView的使用(其中使用MCV模式)封装性较好
外部访问数据
Android的ListView的使用(其中使用MCV模式)封装性较好

创建FriendModel
Android的ListView的使用(其中使用MCV模式)封装性较好
Android的ListView的使用(其中使用MCV模式)封装性较好
DataUtils工具类:Android的ListView的使用(其中使用MCV模式)封装性较好
Android的ListView的使用(其中使用MCV模式)封装性较好
具体的数据实现(构造假数据):
Android的ListView的使用(其中使用MCV模式)封装性较好

加载假数据:
Android的ListView的使用(其中使用MCV模式)封装性较好
界面的搭建:
activity_main.xml
Android的ListView的使用(其中使用MCV模式)封装性较好
Android的ListView的使用(其中使用MCV模式)封装性较好
适配器
Android的ListView的使用(其中使用MCV模式)封装性较好
layout_qq.friend.xml
Android的ListView的使用(其中使用MCV模式)封装性较好
运行结果:
Android的ListView的使用(其中使用MCV模式)封装性较好
发现此时可以把listView封装,所以
Android的ListView的使用(其中使用MCV模式)封装性较好

Android的ListView的使用(其中使用MCV模式)封装性较好
此时的MainActivity为空
activity_main.xml调用
Android的ListView的使用(其中使用MCV模式)封装性较好
运行结果:
Android的ListView的使用(其中使用MCV模式)封装性较好
读取数据显示:
Android的ListView的使用(其中使用MCV模式)封装性较好

FriendItem的代码:
Android的ListView的使用(其中使用MCV模式)封装性较好
Android的ListView的使用(其中使用MCV模式)封装性较好
对于给子视图加Tag值,使用了stringl.xml
Android的ListView的使用(其中使用MCV模式)封装性较好

layout_qq_friend.xml
对于图片剪切为圆形
Android的ListView的使用(其中使用MCV模式)封装性较好

CircleImageView
Android的ListView的使用(其中使用MCV模式)封装性较好
运行的结果:
Android的ListView的使用(其中使用MCV模式)封装性较好
总的逻辑图
Android的ListView的使用(其中使用MCV模式)封装性较好