安卓期末大作业——单词本APP(源码+任务书)
计算机学院
项 目 报 告
2020 - 2021 学年 第 2 学期
课程名称: Android移动开发技术
项目名称: 单词本
学生姓名:
小组成员:
2021年 6 月
题目:单词本APP
1需求分析与系统设计
项目介绍
此项目是一个帮助记忆单词的单词本,用户输入要记忆的单词,系统会自动保存到sqllte数据库中,用户可以自行设置界面风格。设置单词记忆顺序等,可以查找单词,删除单词,以及隐藏中文。可以帮助用户更好的记忆单词。
功能需求
单词本可以通过用户输入中英文,来实现单词的添加。
用户可以随意开关某个单词的中文释义
用户可以删除已经添加的单词
用户关机或者退出应用不会导致单词本内的单词丢失
用户可以自定义单词本中单词的顺序
可以选择自己喜欢的界面风格
用户可以快捷的查找某个单词在有道上的详细信息
用户可以查找某个单词
功能需求及示意图
用户点击加号按钮输入单词,键盘会自动弹出并焦点在输入框,用户输入英文和中文释义,单词本上将在最上面显示这个单词,并会有下拉动画。用户可以通过上方放回箭头取消输入。



用户可以通过单词盘边的按钮来关闭或开启中文意思

向右滑可以删除单词,同时底部有提示信息,可以撤销删除,点击撤销可以还原被删除的单词



长按拖住上下滑动可以设置单词的优先级


搜索可以搜索相关的单词

注:由于时间仓促,该部分的示意图以截图的形式替代。
1.4本程序需解决的有关技术问题
1. CardView 和 constraintLayout的布局切换
2.通过继承asyncTask实现多线程查询数据库
3.查询数据库过程中多个类的调用和封装解耦,模块化开发
4.通过livedate监听数据变化来改变视图显示。
5.如何通过滑动删除单词和如何改变单词位置
6.各个framgement之间的切换导航
1.5程序流程
程序启动后先通过MainActivity的onCreate方法
进入wordsFramgment类,通过MyAdaper new出单词列表
当通过监听WordViewModel发现数据发生改变时,会同时增删改单词列表条数
对数据改变的方法通过WordViewModel类中的方法调用WordReposity中的方法再调用WordDatabase或WordDao中的方法进行增删改或者查询
5.通过Word 建立数据库表和映射关系。
2系统实现
2.1类分析与设计
(1)Word类:
1.这个这个类定义了单词条目的属性:id word chineseWord chineseInvisible 并同时映射到数据库对应的属性字段;
2.定义了set/get方法用于存取数据













2.2 界面布局







2.3关键实现






3.2运行过程示例




3)中文释义显示/隐层: -成功


(4)切换视图: -成功

5)搜索功能: –成功

(6)点击单词后跳到有道词典搜索详细详细 –成功


4总结与建议
本课程学习了andorid的开发,经过本次项目,对android开发的整体把握更加清楚。
通过模块化开发,对每个类更加清楚,对liveData..SharePreference..navigation等类的使用和数据库的操作有了更加深入的理解。