APP下载

基于Android的校园APP的设计与实现

2021-06-28余丽娜

现代信息科技 2021年1期
关键词:校园

摘  要:为了满足学生能随时随地掌握校园学生信息的需求,在研究学生日常基本需求及行为的基础上,设计了一款基于Android的“校园学生信息服务助手”APP。在确定开发方案和总体结构的基础上,确定了“校园学生信息服务助手”的核心功能,具体包括:个人信息管理模块、课程表模块、校园论坛模块、私人会话模块。通过该APP,学生可以查询自己的课程信息、发表以及回复主题帖、收藏帖子及关注用户、查看用户间的热门话题、进行用户间的聊天交友。

关键词:校园;服务助手;Android

中图分类号:TP311.5      文献标识码:A 文章编号:2096-4706(2021)01-0099-03

Design and Implementation of Campus APP Based on Android

——Take “Campus Student Information Service Assistant” APP as an Example

YU Lina

(Jiangxi Youth Vocational College,Nanchang  330045,China)

Abstract:In order to meet the needs of students to master campus student information anytime and anywhere,“campus student information service assistant” APP based on Android is designed on the basis of studying studentsdaily basic needs and behaviors. On the basis of determining the development plan and overall structure,the core functions of the “campus student information service assistant” are determined,which specifically include:personal information management module,curriculum module,campus forum module and private conversation module. Through the APP,students can query their course information,publish and reply to topic posts,collect posts and follow users,view hot topics among users,and chat and make friends among users.

Keywords:campus;service assistant;Android

0  引  言

為了使学生在学习之余,能有效地扩大自己的交际网络,丰富日常生活,解决江西青年职业学院学生日常活动安排信息不对称问题,满足学生群体空闲时间交流的特定需求方面,笔者开发了基于Android的“校园学生信息服务助手”APP,该APP主要面向江西青年职业学院学生,提供一些基本功能及交流讨论方式的校园移动应用。

使用该APP,用户需要先注册账号,登录后即可使用应用内的所有功能。用户可以添加自己的课程信息,添加方式有四种:一种是手动输入信息添加,一种是搜索课程并添加,一种是选择应用为其推荐的同校用户课程,一种是通过扫描其他用户的课程表二维条码进行复制。添加成功后输入的课程信息将按照周次展示给用户,用户也可以对已有的课程信息进行修改和删除。用户可以进入“校园”功能界面,浏览所有版块下的热门帖子,发表回复与其他用户进行交流讨论,当然用户自己也可以通过搜索进入其他板块,用户在这里可以收藏自己感兴趣的帖子,也可以关注自己感兴趣的用户。用户可以进入“会话”功能界面,向自己指定的用户发送聊天信息,内容支持文本、语音和图片,在提交自己的地理位置后用户可以查看在自己附近的其他用户并发起会话。个人信息管理模块包括用户的注册登录以及注销、个人信息的修改。课程表模块包括添加课程、修改课程、删除课程、查询课程、生成及扫描课程信息二维码、设置当前周数。校园论坛模块包括查看热门帖子、搜索版块、收藏帖子、关注用户、浏览帖子、发表帖子、回复帖子。私人会话模块包括发送文本消息、发送语音消息、发送文本消息、查看附近的人。

1  开发模式

在Android开发中,MVC是非常常见的开发模式。采用MVC开发可以有效地将业务逻辑、数据处理与UI界面分离,使项目更加易于维护。顾名思义,MVC模式主要分为三个层次,M(Model)层:完成数据、业务逻辑的处理;V(View)层:完成数据显示的处理;C(Controller)层:完成用户与应用交互的处理。在一个Android项目中,扮演上述三个角色的分别是:业务逻辑及数据处理相关代码、XML布局文件、Activity。MVC模式结构如图1所示。

从图1中可以看出,首先由控制器接收用户的操作请求,并判断应该由哪个模型进行下一步处理。其次,被选中的模型根据用户的请求对相应的业务逻辑或数据进行处理,完成后将数据结果返回。最后控制器调用对应的视图对数据进行分析后,通过视图传递给用户。在Android中,充当控制器的Activity的主要职责是将视图层与模型层分离开,起到交互以及一定的解耦作用。

2  系统核心功能

2.1  查看个人课程表

用户点击课表,直接进入个人课程表界面,如图2所示。在这个界面中,“校园学生信息服务助手”APP将根据用户添加的课程信息,将课程显示在界面中。上面显示的是当前所处的教学周次的课表信息,包括当前教学周次所处的月份、上课的节次、课程名称及地点,使得每位学生可以随时随地查看课表。

实现该功能的核心代码为:

SharedPreferencesgetData = getActivity().getShared Preferences(

"weekData", Context.MODE_PRIVATE);

SimpleDateFormatsdf = new SimpleDateFormat("w");

currentYearWeek = sdf.format(new Date());

Integer weekCount =Integer.valueOf(currentYearWeek) - Integer.valueOf(yearWeek);

Integer week = Integer.valueOf(SchoolWeek) + weekCount;

currentSchoolWeek = String.valueOf(week);

2.2  搜索课程

用户成功登录后,点击搜索课程按钮,跳转至个人课程表界面,如图3所示,在这个界面,用户可以在搜索框输入课程的全名或者关键字,然后点击放大镜按钮,查询成功后对搜索结果进行筛选,获得符合条件的所有课程。

实现该功能的核心代码为:

//搜索课程

String strSQL = "select * from ClassInfo";

query.setSQL(strSQL);

//筛选符合条件的课程

String regEX = etSearchClass.getText().toString();

boolean result = Pattern.compile(regEX).matcher(list.get(i).getcName()).find();

//添加进查询结果List中

if (result)

{requestList.add(list.get(i));}

2.3  生成课程信息二维码

用户登录成功后,在个人课程表界面,点击分享按钮,即可生成带有自己所有课程信息的二维码。

实现该功能的核心代码为:

创建二维码:Bitmap qrBitmap = QRcodeUtil.generateBitmap (userId,800,800);

显示二维码:showQRcode(qrBitmap);

2.4  发表帖子

用户登录成功后,进入校园论坛,在这个部分,使用者可以根据自己的需要来发表自己的技术帖或生活贴。在这个页面,用户可以根据需要输入相应的内容,输入完成后点击发表按钮,即可完成帖子的发布。

2.5  收藏帖子

用户登录成功后,在帖子详情界面可以点击右上角的收藏按钮,调用addCollect()方法对主题帖进行收藏,这里有两种情况,一是用户已经收藏过该主题帖,二是用户还未收藏过该主题帖,前者点击按钮后会取消收藏,后者点击按钮则会完成收藏帖子的操作。

2.6  私人会话

在实现私人会话模块时,主要用到了Bmob后端云提供的IMSDK,两个用户的终端与Bmob服务器之间的通信是基于WebScoket的心跳长连接,当一个用户向另一个用户发送消息时,这条消息首先发送到Bmob的服务器上,然后服务器将根据消息中接收者的ID判断该把这条消息发送给哪个用户终端。为了进行会话,需要在用户之间创建一个BmobIMConversation会话对象,消息的发送与接收都是基于这个会话对象进行的,在这个对象中保存了发送者ID、头像、昵称以及接收者ID、头像昵称的信息,以便服务器对消息进行处理。

2.6.1  发送消息

用户登录成功后,会调用BmobIM类中的connect()方法與Bmob服务器建立起一个长连接。进入应用后,点击任意用户的头像或昵称即可进入用户信息界面,在该界面点击发送消息按钮,即可进入会话界面与该用户进行私下的会话交流,会话界面如图4所示。

发送消息的内容支持文本、图片、语音、视频四种形式。在发送文本消息时,输入想要发送的文本信息,发送图片消息时,可以通过相册和相机两种方式获得图片文件路径,发送语音消息时,调用系统的麦克风录制音频并获取音频文件路径,发送视频消息时,用摄像头抓取视频,在系统控制类的作用下,完成发送。使用者输入完成后通过点击发送按钮就可将消息发送给服务器,服务器则会以所接收到的消息中的接收者ID为依据,将消息下发给指定的用户终端,若指定的用户当前不在线,则将消息存放在一个数组中,等该用户与服务器再次建立起连接后,再将消息依次发送。

2.6.2  接收消息

用户登录成功后,与发送消息类似,调用BmobIM类中的connect()方法与Bmob服务器建立起一个长连接。在私人会话界面通过loadAllConversation()方法加载所有与当前用户有关的BmobIMConversation会话对象,一旦服务器接收到发给当前用户的消息时,则会下发至当前用户的终端。

2.6.3  查看附近的人

用户登录成功后,在私人会话界面点击右上角的附近的人按钮,即可跳转至附近的人界面,同时也将提交自己当前的地理位置,应用将根据该地理位置,为用户找出在附近使用该功能的其他用户,并以包含头像、昵称的列表形式展现给用户,点击任意用户条目,则进入其用户信息界面。当用户关闭此界面时,将删除之前提交的地理位置信息,以防受到骚扰。

3  结  论

本文设计的基于Android的“校园学生信息服务助手”APP,可以随时查看课程表,得知上课时间、上课地点以及上的课程等,以便学生能提前做好上课准备。通过校园论坛模块进行帖子发布、回复帖子以及查看热门帖子等,与线下面对面教学不同,师生通过该APP探讨问题,可以缓解部分学生胆怯的心理,有效提高学生的学习主动性。

参考文献:

[1] 介龙梅,邵国强.基于Android平台的移动社交APP设计与实现 [J].福建电脑,2016,32(7):111-112.

[2] 汪静,许欣,王新年.基于Bmob云平台的消息推送系统设计与实现 [J].软件导刊,2016(12):84-86.

[3] 范志勇.基于Android的移动端社交软件的设计与实现 [D].长春:吉林大学,2015.

[4] 吕留记.基于Android的即时通讯系统的研究与实现 [D].成都:电子科技大学,2016.

作者简介:余丽娜(1983—),女,汉族,江西丰城人,教师,硕士,主要研究方向:计算机应用。

猜你喜欢

校园
Q爆校园
再见,我的校园
校园的早晨
春满校园