安卓期末大作业——单词本APP(源码+任务书)

计算机学院

项 目 报 告

2020 - 2021 学年 第 2 学期

课程名称: Android移动开发技术

项目名称: 单词本

学生姓名:

小组成员:

2021年 6 月

题目:单词本APP

1需求分析与系统设计

  1. 项目介绍

此项目是一个帮助记忆单词的单词本,用户输入要记忆的单词,系统会自动保存到sqllte数据库中,用户可以自行设置界面风格。设置单词记忆顺序等,可以查找单词,删除单词,以及隐藏中文。可以帮助用户更好的记忆单词。

  1. 功能需求

  1. 单词本可以通过用户输入中英文,来实现单词的添加。
  2. 用户可以随意开关某个单词的中文释义
  3. 用户可以删除已经添加的单词
  4. 用户关机或者退出应用不会导致单词本内的单词丢失
  5. 用户可以自定义单词本中单词的顺序
  6. 可以选择自己喜欢的界面风格
  7. 用户可以快捷的查找某个单词在有道上的详细信息
  8. 用户可以查找某个单词
    1. 功能需求及示意图

  1. 用户点击加号按钮输入单词,键盘会自动弹出并焦点在输入框,用户输入英文和中文释义,单词本上将在最上面显示这个单词,并会有下拉动画。用户可以通过上方放回箭头取消输入。

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

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

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

  1. 搜索可以搜索相关的单词

  1. 菜单可以选择切换界面或者删除全部单词,将以卡片/列表显示单词

注:由于时间仓促,该部分的示意图以截图的形式替代。

1.4本程序需解决的有关技术问题

1. CardView 和 constraintLayout的布局切换

2.通过继承asyncTask实现多线程查询数据库

3.查询数据库过程中多个类的调用和封装解耦,模块化开发

4.通过livedate监听数据变化来改变视图显示。

5.如何通过滑动删除单词和如何改变单词位置

6.各个framgement之间的切换导航

1.5程序流程

  1. 程序启动后先通过MainActivity的onCreate方法

  1. 进入wordsFramgment类,通过MyAdaper new出单词列表

  1. 当通过监听WordViewModel发现数据发生改变时,会同时增删改单词列表条数

  1. 对数据改变的方法通过WordViewModel类中的方法调用WordReposity中的方法再调用WordDatabase或WordDao中的方法进行增删改或者查询

5.通过Word 建立数据库表和映射关系。

2系统实现

2.1类分析与设计

(1)Word类:

1.这个这个类定义了单词条目的属性:id word chineseWord chineseInvisible 并同时映射到数据库对应的属性字段;

2.定义了set/get方法用于存取数据

(2)WordDao类:

1.dao层用注解定义了增删改查方法

对于复杂查询,再注解中定义了sql语句:

A.

B.模糊查询并按倒叙排序

(3)WordDatabase类:

1.利用单例工厂模式,new了一个WordDataBase类,这个类继承了RoomDatabase,建立了数据库,用来通过getDatabase来实例化WordDao

Static 可以不需要new 就可以调用方法

Synchronized同步块只有一个再执行,反正多线程而new了多个实例

此方法构建并返回一个wordDao。同时此方法中还包含数据库的升级及修改方法

(4)WordRepository类:

1.多线程调用WordDao的方法完成增删改查。

2.主要功能是实现多线程

(5)WordViewModel类:

1.通过调用WordRepository类的方法完成增删改查

2.主要功能是处理数据相关功能,返回的LiveData可以监控数据变化,并再变化时调用相应方法来处理视图等。

(6)MainActivity类:

1.设置了视图导航。

2.重写了返回键的方法

(7)AddFragment类:

1.定义了添加单词界面的功能

2.进入界面后,将输入框聚焦在英语输入框上,并弹出键盘。

3.点击添加按钮后,通过WordViewModel将数据写入数据库,并通过导航回到主界面

(8)MyAdapter类

1.通过点击单词条,用intent并传入一个网址可以跳到有道词典搜索

2.通过查询数据库ChineseInvisible字段,初始化设置是否显示中文释义

(9)WordFragment类

1搜索功能

2.在WordsFragment中设置了菜单功能,点击清空数据会弹出alertDialog对话框,若选择确认,则调用wordViewModel中的deleteAll()方法删除所以数据;点击切换视图时,会先在SharePreferences中获得现在时什么视图的值,然后调用recyclerView的方法设置另一个视图。

3.用onChildDraw画滑动后面的灰色阴影和垃圾桶图标

4.点击悬浮按钮跳到添加单词界面

5.移动单词和滑动删除单词功能

2.2 界面布局

2.3关键实现

1.在AddFramgent中,若输入框两个都不为空,设置添加按钮可用

2.在MyAdapter中,监听开关,若发生改变显示/隐藏中文释义,同时修改数据库中ChineseVisible字段的值。

3.在WordsFragment中设置了菜单功能,点击清空数据会弹出alertDialog对话框,若选择确认,则调用wordViewModel中的deleteAll()方法删除所以数据;点击切换视图时,会先在SharePreferences中获得现在时什么视图的值,然后调用recyclerView的方法设置另一个视图。

4.滑动删除后会弹出一个snackbar,点击即可撤销删除

5.onMove()方法处理长按拖动事件,发生拖动时,替换两个Word的id,livedate检测到数据发生改变,就重新绘画界面

3系统测试

3.1程序存在的问题

(1)再添加单词页面点击上方或下方的返回,键盘不会消失

解决方法:再AddFagment中button触发方法中添加键盘回缩方法:

(2)在添加单词页面中,没有自动聚焦到英语单词输入框

解决方法:再onActivityCreate中添加方法

(3)若长按拖动速度过快,会导致有些单词的中文意思会自动隐藏。

(4)列表界面单词之间的分界不够明显

解决方法 再每个列表条目上添加下划线。

  1. 在部分手机版本中会出现搜索后单词丢失bug;

3.2运行过程示例

(1)添加单词: ---单词添加成功

(2)删除单词: ---删除单词成功

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

(4)切换视图: -成功

(5)搜索功能: --成功

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

4总结与建议

本课程学习了andorid的开发,经过本次项目,对android开发的整体把握更加清楚。

通过模块化开发,对每个类更加清楚,对liveData..SharePreference..navigation等类的使用和数据库的操作有了更加深入的理解。

https://download.csdn.net/download/qq_39154376/85355334icon-default.png?t=M4ADhttps://download.csdn.net/download/qq_39154376/85355334

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7777.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WEB设计基础期末大作业(含实验报告)

学  号 姓名 设计日期 设计名称 个人网站设计 设计目的:   掌握小型网站设计的常用方法与技术。 设计内容:   设计一个小型网站,主题为……,主页的名称为myIndex.html,主页内容要包括网站logo&#…

安卓期末大作业——校园二手街APP设计和实现

安卓期末大作业——校园二手街APP设计和实现 目 录 1.引言 4 1.1 研究背景和意义 4 1.2 本文研究内容 4 1.3 论文结构安排 4 2.相关文献综述 5 2.1 关于移动互联网的地理社交研究 5 2.2 关于移动互联网商业模式研究 5 2.3 关于校园电子商务平台的研究 6 2.4 关于中国移…

安卓期末大作业——售票APP源码和设计报告

大作业文档 项目名称:售票app专业:班级:学号:姓名: 目 录 目录 一、项目功能介绍3二、项目运行环境31、开发环境32、运行环境33、是否需要联网3三、项目配置文件及工程结构31、工程配置文件32、工程结构目录4四、项…

网页设计与制作期末大作业报告——大学生线上花店

《网页设计与制作》 大作业报告 学院:**学院 姓名: 学号: 专业: 摘要:摘要:2018年,大学毕业的李强回到家乡鹤壁创办了名为“初心花店”的线上平台,提起创业的初衷,李强直言“就是…

百度文心一言,不做ChatGPT的中国翻版

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 3月16日,百度的文心一言终于正式邀请测试了。 据李彦宏介绍,文心一言可以实现文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成等。 通过观看直播,我们发现文心一言的表现可圈…

中国版的chatGPT“文心一言“到底怎样?

GPT4的提前发布,把压力着实给到百度了!在ChatGPT引爆聊天机器人领域后的数月,我们终于迎来了国内的第一款生成式对话产品。 3月16日14:00,百度文心一言新闻发布会于百度北京总部正式召开。百度创始人、董事长兼CEO李彦宏也实现了…

能编代码、Ai聊天??火爆全球的 ChatGPT 到底是什么?

目录 ChatGPT 背景 ChatGPT 是什么?有多厉害? ChatGPT 会发展到哪一步? 智能时代展望 ChatGPT 背景 马斯克投资了一家叫OpenAI的公司,最近推出了一个特别火的应用叫做ChatGPT,最近ChatGPT刷爆了各大平台。 “Cha…

ChatGPT与谷歌在搜索上谁更强? | 美通社头条

美通社消息,香港大学商学院人工智能研究所主持的一项最新研究,由来自迈阿密大学(牛津)的徐睿沄,香港理工大学的冯越,香港大学的陈海亮共同合作,对比了使用ChatGPT和传统搜索引擎(如谷…

真实对比,OpenAI ChatGPT与谷歌Bard大比拼

聊天机器人大比拼,ChatGPT和谷歌Bard的实际比较,谁更胜一筹? 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 谷歌最近向公众发布了Bard,与ChatGPT竞争。与ChatGPT一样,人们可以使用…

ChatGPT可能马上取代你!这是它能做的十个工作

来源:华尔街见闻 ChatGPT 的横空出世,在业界掀起了惊涛骇浪。专家表示,ChatGPT 和相关人工智能技术可能会威胁到一些工作岗位,尤其是白领工作。 自去年11月发布以来,新型聊天机器人模型 ChatGPT 已经被用于各种各样的…

拥有Adobe国际认证,让你在ChatGPT肆虐的设计岗位下,依然坚挺

对于创意设计工作者来说,面对人工智能等新技术对传统工作岗位的颠覆和新岗位的创造,创意设计工作者需要进行人力资源的自我开发,即更新知识。也就是说,产业在变化、劳动领域在变化、工作环境在变化,劳动者要不断提高自…

热点:软件测试真的会被ChatGPT代替吗?

送走最后一车货,最后三个工人,老王吃力的关上大铁门。左手从口袋摸出一盒烟,轻轻一颠,滑落一根,右手娴熟的夹住。掏出打火机,点燃,一丝青烟腾起,萦绕在指头。 夕阳穿过玻璃&#xf…

14年,图灵出版了这些口碑科普好书

14年,图灵一直坚持在科普领域深耕,除数学书之外,还拓展到科技科普、脑科学、设计、经管与个人成长等多领域,出版了众多质量和口碑俱佳的作品。 即将上市 《这就是ChatGPT》 作者:[美] 斯蒂芬沃尔弗拉姆(Ste…

GPT-4冲击下,知识图谱的现在与未来

AIGC,ChatGPT以及今天发布的GPT-4 相信已经给大家带来足够的冲击,那么 对于知识图谱的应用产生哪些变化和变革? 知识图谱在其中如何发挥作用呢? 通过LLM是否有可能辅助创建通用大规模知识图谱? AIGC时代下行业知识图谱…

ChatGPT稳定进行对话

必应输入括号中的【吾爱ChatAI】,即可获取完整教程,有稳定进行对话的魔法。

学习笔记:吴恩达ChatGPT提示工程

以下为个人笔记,原课程网址Short Courses | Learn Generative AI from DeepLearning.AI 01 Introduction 1.1 基础LLM 输入 从前有一只独角兽,输出 它和其他独角兽朋友一起住在森林里输入 法国的首都在哪?输出 法国的首都在哪&#xf…

LLM - 搭建 ProteinGPT 结合蛋白质结构 PDB 知识的行业 ChatGPT 系统

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131403263 论文:ProteinChat: Towards Enabling ChatGPT-Like Capabilities on Protein 3D Structures 工程:ht…

ChatGPT最新高校排名出炉:中国最好的十大高校

ChatGPT大家想必已经知道是什么了,那么在ChatGPT眼中中国最好的十大高校是那些呢?它列出来的榜单吓了我一跳,以下是ChatGPT所列出的学校名单和上榜原因。 清华大学 清华大学(Tsinghua University),简称“清…

AI 旅行工具大盘点!31 款 AI 旅行行程规划工具,一键规划旅行路线!

0. 未来百科 未来百科(https://nav.6aiq.com),是一个知名的AI产品导航网站 —— 为发现全球优质AI工具而生 。目前已 聚集全球3000优质AI工具产品 ,旨在帮助用户发现全球最好的AI工具,同时为研发AI垂直应用的创业公司提供展示窗口&#xff0c…

ChatGPT有长期记忆了/ “微信版知乎”推出在即/ 高盛预测全球3亿岗位被AI取代…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好,今天是3月29日,周三。 量子位主办的中国AIGC产业峰会,圆满结束。 今天的日报君,来晚了一些,不过内容依然精彩。 孟晚舟4月1日起当值华为轮值董事长 经济观察网获悉&a…