智慧江大APP的设计开发研究报告
吴影 梅增鑫 徐俊华
摘 要:文章针对当前移动端软件环境技术、互联网的技术发展以及最新的移动互联网开发技术进行研究,阐述开发一款专属校园app的经历。该app基于android studio平台开发,展现最终成品的演示,并对未来移动开发技术的展望。
关键词:app;开发技术;校园;互联网
1? ? app设计需求
大学生对于各种信息平台的接受度和依赖度非常强,但是市面上的生活服务类应用软件鱼龙混杂。针对大学生的需求、以大学生的利益为基本出发点来提供信息、方便大学生学习生活的应用软件还少之又少,大学生日常学习、查询课表、吃喝玩乐、交友互动等都逐渐互联网化,于是,针对大学生群体的校园app孕育而生。本项目开设江苏大学校园、个人信息查询、课堂学习、交友、生活服务等功能,既能辅助教师课堂教学,又能帮助学生课后学习,还能给校园生活增添乐趣,便捷校园生活,同时还丰富了安卓软件生态环境。
2? ? 项目及其功能介绍
此app的基本功能是将原本使用web端的服务如“江苏大学的教务系统网站”以及“综合门户网站”的访问请求进行分析,获取转换相应的接口,实现模拟登录后通过对于功能的get/post请求来实现数据的来源。该功能最重要的是数据来源,基础功能如查课表、成绩、学校公告等,是通过http请求学校网站,将数据转换成移动app中view上具体元素的内容来实现。
2.1? 登录界面
用户可以实现学校学号和密码登录,也接入了微信开放平台、qq开放平台和新浪微博开放平台,可以支持移动应用支持qq帐号、微信、微博登录、分享到qq、微信等功能。用户首次通过第三方应用登录之后,绑定学号,后续即可使用第三方账号登录,来获得更好的用户体验。登录界面如图1所示。
2.2? 菜单界面
菜单界面是个静态资源,使用简单的listview完成界面的布局编写,每一个listview元素采用线性布局,加载菜单的步骤在setcontainview事件中完成。其中,图标资源使用的是阿里矢量图标库的资源,菜单界面如图2所示。
2.3 个人信息
个人信息界面查询的是用户的基本信息,信息通过http请求提取自学校相应的网站,用户可以操作的内容是头像更改,头像保存在app服务器上,界面实现了沉浸式状态栏,是目前绝大多数app都实现的规范。个人信息界面如图3所示。
2.4? 课程表查询界面
信息查询界面主要通过使用jsoup解析工具模拟登录,并自动获取用户的课程信息,jsoup解析模拟请求得到的html页面的表格信息,实现封装成course对象,得到课程的集合,传递给对应的布局去适配加载。整体布局采用的是相对布局界面,方便各个元素位置的变动,实现课程表一键查询功能,并支持往年课表查询,自动高亮当前信息,点击对应的课程可以查询课程详情,长按课程表格处可以实现添加课程和删除课程的功能。个人课表界面展示如图4所示。
使用的jsoup gradle依赖导入implemen-tation group:‘org.jsoup, name:jsoup,version: ‘1.11.2课程表的单个课程使用material库的cardview布局implementationcom.android.s- upport:cardview-v7:28.0.0
用户初次查询课表后将自动将课程信息存放到sqllite数据库中,实现数据的持久性,提高下次查询速度。
2.5? 成绩查询界面
成绩查询界面采用了collapsingtoolbar-layous设计,来自于designsupprot库:gr-adle依赖:implementationcom.android.supp- ort:design:24.2.1使用该布局实现了可折叠式标题栏,向下滑动时上面的布局实现错位折叠效果,用户的滑动操作体验得到提高,同时,使用安卓的paint和view类实现了自定义饼状图,可以很直观地看到当前学期的课程成绩分布。在recyclelayout的最下方,统计了学生的学分总和和平均绩点。成绩查询功能展示如图5所示。
2.6? 论坛功能
由于论坛功能需要处理的问题很多,于是使用了discuz论坛框架去搭建完成,在框架的基础上增加分区,优化ui布局,实现论坛发布功能。使用该框架要使用php+mysql环境,项目地址https://www.discuz.net/。
2.7 表白墙功能
表白墙的服务器端采用php+mysql完成,可以实现内容的发布和管理员对内容的管理,采取混合开发模式完成,使用安卓webview套壳web界面,实现开发的高效和未来实现跨平台做好准备。表白墙展示如图6所示。
3? ?前景预测
一款app的开发经历使得理论知识得到了更好的强化,但是成为一个合格的移动端开发者还远远不够,未来这款app的功能增加和完善将使用更加丰富的技术,从而不断提升自己的能力。
4? ?结语
以现在的移动端开发技术来说,由于移动端现在具有两大平台,实现两个平台的开发需要大量的人力,目前使用flutter前端框架可以實现一份代码自动生成多平台的应用,使用flutter框架不仅可以实现高效开发,并且使用体验接近原生效果,用户几乎感觉不到差别,这也许是未来该app的转型方向,随着版本的迭代更新,其功能会越来越完善。
[参考文献]
[1]郭霖霖.第一行代码android[m].北京:人民邮电出版社,2014.
[2]何瑞君.flutter从0到1构建大前端应用[m].北京:电子工业出版社,2019.
[3]李刚.疯狂java讲义[m].北京:电子工业出版社,2008.
智慧江大APP的设计开发研究报告
本文2022-11-02 12:40:17发表“毕业论文”栏目。
本文链接:https://www.wenmi123.com/article/386373.html