基于Android的社团宝设计

2021-10-12 06:47王晓东
客联 2021年8期
关键词:设计

王晓东

摘 要:本文介绍了Android应用程序社团宝的设计方法。社团宝为大学生的校园生活提供便利服务,用户通过手机可以查看社团信息、报名参加活动、与好友聊天和管理个人信息。

关键词:Android;社团宝;设计

一、系统设计

在每一年的开学季,高校社团都会开展招新活动,但是招新方式比较单一,许多入校新生根本不能详细了解各个社团及其活动。为了方便社团展示自己以及新生了解社团,推出社团宝这一应用软件。在开发一个应用软件之前,需要对开发的目标和所实现的功能进行细致有效的分析,进而确定开发所需要的具体准备工作。在对学生的需求进行深入了解,以及与校方相关人员交流之后,确定社团宝应该具有的基本功能。

系统分为服务器端、Android管理端和Android客户端三个部分。服务器端应该具有收发数据和操作数据库的功能,Android管理端应该具有社团信息管理登录、社团成员信息管理、社团管理和社团意见反馈等功能,Android客户端应该具有社团信息浏览、活动信息查询、报名参加活动、与好友聊天和个人信息管理等功能。

二、服务器端设计

服务器端利用服务线程,循环接收Android客户端传送来的数据,经过处理后发送给管理端。这样做就可以将客户端、服务器端和管理端联系起来,形成一个共同协作的整体。采用Navicat for MySQL数据库管理数据,服务器根据管理端和Android客户端发过来的请求调用适当的方法,执行相应的SQL语句来对数据库进行操作,保证数据的真实有效。社团宝的数据库一共有16张表,包括活动表、活动相册表、社团管理人员表、社团表、活动人员表等等。以社团表community为例,该表有7个字段,包含社团ID、社团名称、社团介绍、社团口号、社团图标、社团照片和社团状态,其中社团ID为主键。建立该表的SQL语句如下:

CREATE TABLE ‘community’(

‘community_id’ int(10) NOT NULL default ‘0’,

‘community_name’ char(10) default NULL,

‘community_introduce’ char(200) default NULL,

‘community_kouhao’ char(50) default NULL,

‘community_tubiao’ char(15) default NULL,

‘community_picture’ char(10) default NULL,

‘community_stat’ char(2) default NULL,

PRIMARY KEY (‘community_id’)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

社团宝中需要向服务器索取和传输大量信息,因此设计了服务线程类ServerThread,它提供管理端与Android客户端接口,增加系统的可靠性。在服务线程类中创建连接端口的方法,首先创建一个绑定端口到端口10006上的ServerSocket对象,然后打印连接成功的提示信息。创建新的线程并启动,接受客户端请求Socket,成功之后调用并启动代理线程,对接收的请求进行具体的处理。

三、管理端设计

管理端作为一个管理端口,主要的作用是建立用户和社团的信息与管理机制,具体的功能有用户登录、社团管理、意见管理和账号管理。以社团管理功能的开发为例,它包括增加社团、屏蔽社团、修改社团信息、解除屏蔽社团等子功能。增加社团主界面的上部为一个相片框,下面是几个TextView控件,用来添加相应的社团信息。调用Android 原生相册的方法,实现社团会徽的选择,对从相册中选中的照片进行压缩处理,并且将其从Bitmap数组转化为byte数组,用于上传到服务器。将界面文本区内的文字提取出来,并且转化为字符串类型,存到mes字符串中,表示新增社团的信息。在服务器端有相应的方法解析此字符串,并且插入到数据库中。在上传图片到服务器中时,需要先将Bitmap图片转为byte数组再上传,在服务器端又将byte数组转为Bitmap图片并保存。相关代码如下:

name=shetuaname.getText().toString;//将社团名称转化为字符串类型

mes=name;

…………

mes=mes+“<#>”+kouhao;//将社团口号加入到mes字符串中

…………

NetInfoUtil.zengjiashetuan(mes);//将mes上传到数据库中

四、客户端设计

当Android客户端想要获取数据或者更新数据库信息的时候,就要与服务器建立连接。具体做法是首先建立通信,确定Socket的IP地址和端口号,获得输入流和输出流。向服务器发送请求,接下来得到服务器的反馈信息,最后关闭打开的连接,返回获取的信息。相关代码如下:

ss=new Socket(“10.16.189.186”,10006);// 确定IP地址和端口号

din=new DataInputStream(ss.getInputStream());//获得输入流

dos=new DataOutputStream(ss.getOutputStream());//获得输出流

…………

单击主界面底部菜单栏的“个人”,可以切换到个人界面。该界面实现了注销、修改资料和意见反馈等功能,方便用户管理自己的信息。以修改资料为例,设置线程,根据用户的ID获取用户加入的社團、用户的头像名、用户的姓名、性别和联系方式等信息。根据用户的头像名获取服务器中的图片,最后将所有获得的信息显示在指定的位置。在修改个人信息界面中设置保存键,并为保存键添加监听。当用户单击“保存”后,系统首先判断用户所输入的内容是否为空,如果提交的数据有空的选项,就会提示用户。如果数据不为空,则调用相关线程进行处理。

五、结语

经过系统测试,社团宝软件能够实现预期功能,而且容易操作,便于管理。社团宝的设计较为人性化,用户经过填写信息注册之后,即可浏览相关信息。社团详情界面介绍了社团的相关信息,方便用户浏览。用户也可以在活动界面浏览社团所举办的活动信息,并发表个人评论。社团宝中数据的状态和内容可以灵活地被修改,系统管理人员输入口令之后,即可进入管理界面。社团宝既能为用户提供正确健康有效的资讯,又能显著降低系统管理人员的工作强度,提高了工作效率。

参考文献:

[1] 吴亚峰. Android应用案例开发大全(第4版)[M].北京:人民邮电出版社, 2018.

猜你喜欢
设计
BUBA台灯设计
有种设计叫而专
陈国兴设计作品
匠心独运的场地设计画上完美句点
跨越式跳高递进与分层设计
设计之味