教学网站app端的设计与实现
0、引言
随着互联网的发展,智能手机特别是安卓手机广泛被使用,基于Android平台的教学App能够很好的解决上述问题。客?舳嗽?Android手机上安装教学App,登录后,就可以选择喜欢的课程进行学习。这种便捷、高效、可自主选择学习时间与课程的教学App会是一个发展的方向,将来一定会改变传统的教学方式[1]。
1、系统功能需求分析 1.1 功能需求
教学App是一款用Android Studio[2]开发的基于Android平台进行高效学习的手机应用软件。客户端应该具有用户进行注册、登录,浏览所有可学习的课程,关注课程,课程资源下载,社区进行交流分享,收藏文章,个人设置等功能,为了更好的服务用户,应用还设置了意见反馈,用户可进行意见反馈,以便完善教学App。 1.2性能需求
1)易用性:风格统一的界面设计,友好的交互设计,简单方便的操作步骤;
2)稳定性:App运行时要求高效、稳定、可靠,内存消耗与cpu消耗小;
3)兼容性:Android碎片化;
4)可拓展性:App设计时应考虑扩展问题,以便将来完善与拓展。
2、系统总体设计
教学网站App总共包括三个部分:云服务器、Android客户端以及数据库设计。 2.1云服务器端
系统的服务器使用的是Bmob云服务器。管理员通过登录应用的账号进入系统的控制台,可以在控制台对所有数据进行数据的增删改查。
2.2Android客户端
教学App采用B/S模式,用户与App的交互界面进行交互,同时与云服务器的数据进行数据交互。云服务器向Android客户端提供数据接口方法以便用户进行数据操作。在Android端App的开发过程中,利用XML进行界面设计[4],使用include 进行界面复用,优化布局,功能模块使用Activity、Fragment实现与用户的交互App通过Gson、Json与云服务器的数据交互[3]。 主要功能如图3所示。 2.3 数据库设计
数据库中有7张表,各数据表的关系说明(E-R图)如图1所示。
3、系统实现
3.1数据库的建立与连接
登录应用的账号到控制台,在控制台界面手动添加以上数据表。或者在程序中创建对应数据表的实体类,程序首次运行会自动在云服务器创建相应的数据表。 3.2云服务器的设置
创建一个应用,得到相应的 Appkey,以便在程序中使用[4]。可以手动在云服务器创建数据表,添加测试数据。 初始化Bmob SDK:Bmob.initialize(this, \); 3.3Android App的设计与实现 1)学生用户登录注册
设计思想:学生用户启动教学App时,进入登录页面LoginActivity,输入账号和正确的密码点击登录按钮,通过身份验证后进入主页面MainActivity。否则,会提示登录失败。 点击顶部工具条的右上角的“注册”按钮,跳转到注册页面SigninActivity。输入用户名和两次密码即可注册。注册会检查用户名是否存在,如存在会提示用户更改用户名。 2)课程相关操作
设计思想:当学生用户成功登录后,会自动跳转到主页面(MainActivity),主页面上为一个ListView显示所有课程。而一个ListView就需要一个适配器与一个数据源,数据源就是从Bmob后端云传递过来的课程集合。