一.实验题目

联系人管理 APP

二.实验内容

MySQLiteHelper:在程序开始时新建 SQL 及表头。

 

Person:定义实体(包含名称、单位、电话、微信、email 和地址)及构造函数。

 

PersonViewModel:继承自 ViewModel,在 SQLiteActivity 中对 List 增加 "观察者"。

 

SQLiteActivity:主要功能实现类。

 在 onCreate 函数中,personViewModel 通过工厂获得了单例。其后,通过 getListPerson().observe 实现了对 List的观察,当产生变化就会调用 onChanged 函数里的方法通知 RecyclerView 刷新。

 

     在initView函数中实现了RecyclerView与Adapter之间的绑定。实现了

OnPersonRecyclerItemClickListener接口的方法,可以获取目前点击Item的序号。  

  在点击事件中,添加和编辑将进入一个对话框填写新增联系人的信息。更新按钮用于将填写的信息更新进数据库并调用loadPersonList()获取当前List。在添加或编辑后其按键锁死,点击更新按钮更新后可正常点击。

 

TextDialog:编辑对话框。用户输入信息的界面,并将用户输入的信息传回SQLiteActivity进行下一步操作。当用户选择编辑某行,则会将某行已有信息读取进入编辑文本框中,方便修改。

 传值所用子类和函数,负责将value从TextDialog传回到onClick。

 三.实验的结果展示

  

四.实验心得体会

联系人实验程序主体是参考老师的 SQLiteFragment,在此基础上改写的,但由于单界面不能同时放下联系人列表和添加信息框,便选择了分为两个部分编写,由此产生了一个问题,两个部分如何进行传递关键的 value 参数,经过思考,我决定用一个子类来保存参数,而想要获取之中的参数,只需要将其实例化,并调用其中的 getValue 方法即可获取。

posted on 2021-08-16 11:19  翎凌零  阅读(159)  评论(0)    收藏  举报