第35卷第12期2020年12月
/黑亠评紅芳F2学报
Journal of Leshan Normal University
No.12Vol.35
Dec.,2020
DOI:10.16069/jki.51-1610/g4.2020.12.008
基于Android平台的记事本App的开发与实现
江志华1,陈翱天2
(1.乐山师范学院人工智能学院,四川乐山614000;  2.北京交通大学计算机与信息技术学院,北京100044)
摘要:文章介绍了基于Android的智能终端完成记事本App客户端及服务端的开发与实现过程。该App基于MVC 模式,使用fragment,sqlite等技术,实现了信息的富文本编辑与查询、用户注册与登录、信息上
传至服务器、PC端的后台管理等功能。记事本App的使用,丰富了人们记录内容的形式,提高了记录信息的效率,为工作和生活提供了便利。
关键词:Java;Android;MySQL;系统实现
中图分类号:TP311.1文献标志码:A文章编号:1009-8666(2020)12-0049-06
0引言
随着移动互联网的发展,移动智能终端设备在人们工作生活中起着越来越重要的作用。在人们日常学习和工作中经常需要快速高效地记录许多信息,然而传统的记录方式已经满足不了这种需求,因此开发一款能够便捷、高效运行在移动智能终端设备上的记事本App变得很有必要[1]。
在文献[1]中作者利用语音识别以及合成技术将语音转换成文字,通过云存储技术存储用户的笔记数据,设计实现了一款语音云记事本软件。在文献[2-5]中作者仅实现了记事本文本增删改查、检索以及信息分享、同步等基本功能。现有记事本App大多只实现了基本的信息记录功能,功能较单一,记录的信息类型也仅限于文本类信息;缺少用户身份验证功能,存在一定的安全隐患,一旦用户的安卓设备丢失,用户的笔记数据就可能会泄漏。本文开发实现的记事本App集多种功能于一体,在实现信息记录基本功能的基础上,还实现了用户安全验证、信息云备份等功能。App通过在客户端设置密码,
实现启动验证功能,保障了用户信息的安全性;能够支持文本、清单、图片、语音多种信息类型的记录与备份,实现了记录信息类型的多样性;实现了信息云备份功能,用户能够根据需要关闭或打开云备份功能,将信息备份至云端服务器。该App 具有一定的创新性和应用价值,能有效地帮助人们提高记录效率,为人们的工作生活提供了方便。
收稿日期:2020-06-03
作者简介:江志华(1981—),男,湖北黄梅人。乐山师范学院人工智能学院讲师,硕士,研究方向:软件工程、企业信息化;陈翱天(2001—),男,四川达县人。北京交通大学计算机与信息技术学院2019级本科生。
49
1系统开发相关技术客户端功能模块
记事本App以Android5.0+为开发平台,服务端前台采用html、javascript、CSS+DIV等技术,后台数据利用Spring Boot、Jpa等框架技术进行处理。App采用MySql数据库存储信息,实现对信息的增加、删除、查、修改、上传到云端备份等功能。
Android是以Linux核心作为基础的一种操作系统,其代码是开源的,由Google公司和开放手机联盟领
导及开发。其主要应用于移动智能终端设备,如智能手机和平板电脑,是目前市面上主流手机的操作系统之一[2-3]。
App服务端开发环境为Tomcato Tomcat是A-pache基金会的核心项目之一,是一个免费开源的Web应用服务器,主要用在基于Java的Web 应用中,是开发和调试JSP程序的首选[6]。
App服务端采用Spring Boot框架管理整个应用,使用Jpa做数据的持久化,与数据库之间进行交互。
Spring Boot框架可用于简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于成为快速应用开发领域(rapid application develop­ment)的领导者[7]。
JPA是Java Persistence API的简称,是JDK 5.0注解或XML描述对象一关系表的映射关系,其可将运行期的实体对象持久化到数据库中⑻。
2系统总体功能框架
记事本App采用前后端分离的设计模式,系统总体上分为前端客户端和后端服务端两大模块。客户端模块包括:用户注册和登录、启动验证、信息添加和查询、云备份、账户信息设置和修改。服务端模块包括:用户登录、账户管理、查询信息、邮箱验证、图片服务器、数据持久化等。客户端功能模块
见图1,服务端功能模块见图2[9]o
手机上可以打html与css的app
L
|
-
H
H
服务端功能模块
图1客户端功能模块
Fig.1Client Function Module
3系统数据库设计与构建
根据记事本App总体功能,为系统设计8个基本信息表,客户端包括:用户信息表user_in-fo、启动验证信息表note_lock、信息记录清单表note_bill、信息记录表note_info。服务端包括:用户信息表user_info、邮件信息表email_info、信息记录清单表note_bill、信息记录表note_info[9];客户端和服务端数据库模型图见图3、图4o
图3客户端数据库模型图
Fig.3Client Database Model Diagram
50
图4服务端数据库模型图
Fig.4Server Database Model Diagram 4系统主要功能开发与实现4.1记事本APP客户端开发与实现
4.1.1客户端预计效果
记事本APP客户端提供用户记录信息功能,用户的所有操作都是基于客户端完成的。其设计效果包括:增加、修改和查询游客信息,设置App启动验证。用户可以通过登录App获取设置/修改邮箱、设置/修改头像、设置/修改昵称、修改/设置密码、修改电话、云备份、后台管理等权限。用户可选择电话验证码直接登录,也可通过注册账户密码的方式登录。用户忘记登录账户密码时可通过手机号回。游客用户卸载App 时将导致记录的信息永久删除,登录用户卸载App时已同步至服务器的数据信息不受影响。客户端对游客和注册用户的功能支持情况见表1。
表1客户端角功能表Table1ClientRole Function Table
模块
用户模块信息记录模块云备份模块
后台管
理模块
设置启设置用増加修改删除查询云备份后台信息动验证户信息信息信息信息信息功能管理功能
7
游客X X X V7V
注册用户V V V7
4.1.2用户模块
a)用户注册。用户可通过注册获得记事本App账号,在登录页面点击“立即注册”进入注册页面。注册页面包含:输入手机号、密码、确认密码、图形验证码、短信验证码、记事本相关协议等信息。用户注册页面对输入的信息都有验证功能,当输入的信息不恰当时,会出现相应提示,注册成功后返回登录页面。
b)用户登录。App提供电话号码加短信验证码以及注册账号加登录密码两种登录方式。用户通过在个人信息页面点击“登录”进入登录页面,登录页面对每一个输入的信息都有验证:是否为空验证,电话号码和密码长度以及有效性验证。用户登录成功后返回到个人信息页。用户登录App后可获取用户基本信息设置、云备份、后台管理等权限。用户登录流程如图5,界面设计如图6所示。
图5登录模
块流程图
Fig.5Flow
Chart of Login
Module
图6登录页面
Fig.6Login Page
图7云备份
模块
Fig.7Cloud
Backup Module
51
4.1.3云备份模块
注册用户在登录成功后就可获得云备份的权限,可以将记录的信息备份至服务器。在个人中心页面打开云备份按钮即可开启云备份功能,记事本App客户端在后台将用户信息上传至服务器。用户在关闭云备份按钮后,客户端将停止向服务器上传信息,但已上传的信息不受影响。在信息列表处可以看到当前已备份至服务器的记录数。云备份模块界面见图7o
4.1.4启动验证模块
用户可以为客户端设置启动验证,在个人中心页面选择打开启动验证按钮即可进入图案密码设置界面。按照页面提示设置图案密码,客户端将拥有启动验证功能。当退出记事本App重新进入后将进入验证图案密码界面,只有密码正确才可进入客户端。记事本App客户端密码保存在本地数据库,App不会将密码上传至服务器,用户必须牢记客户端启动验证密码,一旦忘记将无法回。同样,如果用户需要关闭启动验证,需在个人中心页面选择关闭启动验证按钮,选择后将进入图形密码验证页面,验证成功后即成功关闭启动验证功能。
4.1.5信息记录模块
a)信息清单。用户进入客户端主界面后可见信息清单页面,页面上的信息包括:信息列表、信息标题、信息标记、信息包含类型、信息创建时间。在信息清单上支持对每一条信息进行左滑、信息置顶或删除操作。信息被置顶后将显示于信息清单的最上层;信息被删除后将会从数据库删除,删除后不可回。
b)信息清单搜索。App提供信息搜索功能,用户点击清单最上方搜索框即可进入搜索页面。搜索采用模糊搜索和即时响应的方式,用户只需输入少量的关键字即可查询到相关信息。
c)信息录入。用户点击记事本页面的新建按钮,即可进入记事页面。App支持文本、清单、图片、语音等多种数据类型。用户可以选择相应的数据类型进行信息录入,录入完毕点击返回按钮即可保存数据。
4.2记事本APP服务端设计与实现
4.2.1用户信息模块
服务端提供App客户端用户信息处理,实现与客户端信息的交互。该模块包含用户注册、登录、获取及更新用户信息、发送邮箱激活及验证码邮件、验证邮箱验证码、设置头像、忘记密码、重置密码等功能接口。
4.2.2信息上传模块
服务端提供App客户端信息云同步的数据处理,实现将客户端上传的信息保存至服务器。该模块包含处理从客户端传递过来的数据的接口。
4.2.3邮箱验证模块
用户在发送邮箱激活验证邮件后,当用户收到邮件并发起验证请求时,服务器将判断验证是否通过。服务器判断的依据为验证码是否有效、是否超时发起验证、验证邮箱与当前邮箱是否一致。验证通过后,用户的邮箱被标记为已验证。
4.3后台信息管理
4.3.1登录后台管理
在浏览器中输入地址www.xfishs.shop/ note/manager即可进入用户的后台管理登录界面,用户登录成功后进入用户后台管理主页。后台管理不支持注册和短信验证码登录,用户需要在客户端注册才可以登录后台管理。后台管理登录界面如图8所示。
图8后台管理登录界面
Fig.8Background Management Login Interface
以下是实现登录的关键代码:
@PostMapping("/login")
public String login(HttpServletRequest request, @RequestParam("phone")String phone,
@RequestParam("password")String pass­word){
UserInfo userInfo=userInfoService.findUserInfoBy UserPhone(phone);
52
if(Objects.isNull(userInfo))
return"fail";
if(!UserPassword().equals(pass­word))
return"fail";
return"redirect:/manager/home";}
4.3.2删除信息
用户在后台管理主页可以看到已上传至服务器的所有信息。当用户鼠标移动到某条信息上时,该条信息的右上角会显示删除按钮,点击删除按钮将弹出提示窗口。确认删除后,信息将从服务器中删除。信息的删除操作采用异步处理,删除后数据将从页面移除。
4.3.3注销登录
为防止造成信息泄露,当前登录用户可以注销登录。用户在后台管理主页面点击安全退出按钮即可退出当前登录,退出后APP将跳转到登录界面,用户需要重新登录才可以进行后台管理等相关操作。
4.3.4查看信息详情
用户在后台管理主页点击信息,即可查看每条信息的详情。用户在信息详情页也可对信息进行删除,删除按钮位于信息右上方。详情界面如图9所示。
图9信息详情
Fig.9Information Details
5系统测试
5.1系统测试环境
本次系统测试客户端使用的硬件设备为努比亚NX511J,其基本配置为2G内存、An- droid5.1.1操作系统;服务端使用的硬件设备为HP246G3笔记本电脑,其基本配置为8G内存、i5-4210U2.40GHz CPU,Windows10(64位)操作系统。
5.2测试用例
将编译后的客户端安装至手机,服务端项目发布至tomcat中,并打开数据库服务器,对App 各项功能进行测试[10]o由于功能模块比较多,限于篇幅原因,此处仅选择客户端用户登录和服务端信息删除功能做测试用例介绍。测试用例表具体见表2、表3o
表2客户端用户登录测试用例表
Table2Table of Client User Login Test Case
待测功能测试用例
标识
测试类型
测试用例设计
测试结果
需求追溯预置条件测试步骤实际结果
用户登录功能TestCase1功能测试
用户登录系
统,用户登
录功能
输入登录信
用户登录息,登录系
功能正常通过
表3服务端信息删除测试用例表
Table3Table of Server Side Information Deletion Test Case
待测功能测试用例
测试类型
测试用例设计
测试结果标识需求追溯预置条件测试步骤实际结果
删除信息TestCase2功能测试用户登录后
台管理
后台戸经有点击删除按
后备份经有钮,在弹出
务备的信服窗口点击确
务器的信息认按钮
功能正常,
信息成功
删除
通过
53

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。