基于Android的个人学习APP

2019-02-02 03:58刘清秀
数字技术与应用 2019年11期

刘清秀

摘要:随着移动端技术的飞速发展,人们对新知识的渴望及随时随地进行学习的需求日益强烈。本文研究设计并实现了基于Android平台的个人学习APP。系统采用了侧滑菜单和Fragment,利用XML和SQLite进行数据存储;使用Pull对数据进行解析。注册用户登录后可以在线学习、收藏、下载在线资料。实现了在线学习和线下学习相结合。操作简单使用方便,提高了移动端用户的学习效率及学习的系统性。

关键词:Android Fragment;XML;SQLite

中图分类号:TP309 文献标识码:A 文章编号:1007-9416(2019)11-0138-02

0 引言

随着Web技术的发展,Web上提供了丰富的学习资源,使得人们的学习方式发生了巨大的变化,越来越多的人利用网络进行学习。随着移动端设备的普及以及相应技术的发展,人们对于随时随地,利用碎片时间学习的需求越来越强烈。本文研究设计并开发了基于Android的个人学习APP。采用侧滑菜单和Fragment技术,使用Java语言实现系统的基本功能,利用XML和SQLite进行数据存储,使用Pull对数据进行解析。实现了用户注册、登录、在线学习、资料下载、资料收藏等功能。系统界面友好,使用简单。能够使用户利用随片时间学习提高。

1 系统分析

系统主要面向Android。用户可以查看在线的学习资源,也可以将资源下载到移动端进行离线学习。

系统能够实现新用户的注册功能;用户的登录功能;注册用户登录后可以在线学习、下载博客文章;学习、收藏、下载视频资料;对系统进行相关的设置及退出系统;用户可以进行线下学习。

系统采用了侧滑菜单和Fragment,利用XML和SQLite进行数据存储;使用Pull对数据进行解析。

系统在Android下开发及运行,Android是一种基于Linux的自由及开放源代码的操作系统。

2 系统设计

2.1 功能设计

系统能够完成用户注册登录功能、博客文章查看下载功能、学习视频观看收藏功能、已下载博客文章查看功能、已下载学习视频观看功能、设置功能。

(1)用户管理功能。用来注册新用户和用户登录。(2)博客文章管理功能。在线博客的列表、查看、下载功能。用来显示所有在线博客,查看博客详情及下载该博客。下载完的博客列表、查看功能。(3)视频管理功能。用来显示所有在线视频,观看视频及收藏该视频。(4)设置功能。系统的相关设置及退出。

2.2 数据库设计

该系统需要四个数据库表。

(1)用户表(Users表)用来存储用户的基本信息。(2)博客表(Blogs表)用来存储博客文章的信息。(3)视频表(Videos表)用来存储学习视频的信息。(4)评论表(Comments表)用来存储评论的信息。

3 系统的实现

系统Android端开发使用Java语言,借助eclipse工具和Android的ADT开发工具,开发界面以及实现功能。在概要设计时已经明确了该软件的模块功能,在开发时所有的资源信息和访问权限将在AndroidMainfest.xml文件中配置,所有的用户界面都是通过xml布局文件来实现,功能则有Activity和fragment相结合来完成。

3.1 登录与注册模块的实现

该模块包括登录和注册两个界面,当用户非首次登录时,系统会自动保存之前的登录信息,完成自动登录。第一次登录前需先进行注册,注册信息需要符合系统的合法性要求。

3.2 主界面的实现

该部分包括菜单界面和显示区域,以侧滑菜单的形式整合四大功能界面,提供功能入口并显示模块功能和交互。手指向右滑动展现菜单界面,显示用户名、用户头像和其他的功能按钮。右边是显示区域,用来显示当前功能的标题和其界面。

3.3 博客文章管理模块的实现

当用户在左侧菜单点击博客文章按鈕时,内容区域即显示该博客文章界面的内容,标题栏设置为“博客文章”。该界面以列表的形式展示了服务器端提供的博客文章数据的所有内容,每条数据包含文章标题、文章内容、文章作者、文章日期。当点击每一条数据时会打开该文章显示和下载的界面。

当用户点击博客文章列表中某一篇文章时,会弹出该文章的查看界面,该界面以窗口形式展示文章标题、文章作者、文章时间和文章内容,并提供返回和下载的功能。当用户点击返回按钮时,该窗口关闭,用户回到博客文章列表界面。当用户点击下载按钮时,将博客下载到终端数据库中。

当用户在该窗口点击下方的下载按钮后,进入博客文章下载功能。此时开启SQLite数据库,将该实体类Blog的信息写入数据库Blogs表中。具体实现将在后面的数据库端实现中完成。当用户在该窗口点击下方的返回按钮后,销毁此自定义dialog,返回到博客文章列表界面。

当用户在主界面左侧菜单中点击下载博客文章按钮时,内容区域即显示该下载博客文章模块的内容,标题栏设置为“学习视频”。该界面以列表的形式展示了本地终端数据库中从博客文章下载模块下载的博客文章数据的所有内容。

3.4 视频管理模块的实现

当用户在左侧菜单中点击学习视频按钮时,内容区域即显示该学习视频界面的内容,标题栏设置为“学习视频”。该界面以列表的形式展示了服务器端提供的学习视频数据的所有内容。当点击列表中的某一项时会打开该视频并播放视频。

当用户长按列表中某一项时,会弹出视频收藏对话框,点击确认收藏成功,点击取消则返回列表。

当用户在主界面左侧菜单中点击收藏视频按钮时,内容区域即显示该收藏视频界面的内容,标题栏设置为“收藏视频”。该界面以列表的形式展示了本地手机数据库中从学习视频收藏模块收藏的博客文章数据的所有内容。当点击每一条数据时会打开该视频播放界面。

3.5 设置模块的实现

当用户在主界面左侧菜单中点击设置按钮时,内容区域即显示该设置界面的内容,标题栏设置为“设置”。该模块共软件说明和软件退出两个功能。

当用户点击“软件说明”按钮时,弹出自定义对话框,用来显示软件说明的内容,点击“返回”按钮关闭该对话框。

4 结语

本文针对当前大量移动端用户对于随时随地进行学习的渴望,研究并设计开发了该APP,系统实现了移动端用户采用在线与离线相结合的方式进行个人学习。有效提高了个人移动端学习的效率与系统性。

参考文献

[1] 何文才,马鹏斐,刘培鹤,等.基于Android平台的SQLite数据库加密研究[J].计算机应用与软件,2019(10):310-315+333.

[2] 周星锦,秦宇,吴秋新,等.Android框架层完整性度量方案[J].计算机系统应用,2019,28(08):1-9.

[3] 陆一飞,潘敏学,张天,王林章,李宣东.面向安卓应用建模的IFML扩展[J].软件学报,2019,30(10):3148-3167.

[4] 胡甜媛,姜瑛.体现使用反馈的APP软件用户评论挖掘[J].软件学报,2019,30(10):3168-3185.

[5] 谢佳筠,伏晓,骆斌.Android防护技术研究进展[J].计算机工程,2018,44(02):163-170+176.