6
四川大学锦江学院毕业论文(设计)
开放开发平台。Eclipse的本身是一个框架平台和服务,支持众多插件组件构建使得这套工具具有灵活性。尽管 Eclipse 是使用 Java 语言开发的,但是它的使用并不局限于 Java 语言;他支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件都可用。
Android SDK是以Java语言为基础,也是一种软件开发工具包。开发工程师来开发软件应用,通过SDK提供的一些工具将其打包为Android平台使用的apk文件,然后用内带的模拟器来模拟和测试应用软件在安卓平台上的运行情况和效果。Android SDK 指的是Android专属的软件开发工具包。 下载好Android SDK后,开始安装,Android SDK采用了Java语言,所以需要先安装JDK,在这里我安装的是JDK1.7。直接下载JDK安装文件安装更为方便。 Android SDK不用安装,下载后,直接解压即可, 将下载后的SDK的压缩包解压到适当的位置,就这么简单;SDK安装OK。 使用Eclipse进行Android应用开发需要给Eclipse装ADT插件,这样Eclipse就可以和Android SDK进行连接,可以在Eclipse中启动Android模拟器进行程序调试等ADT插件安装这里不再赘述,也可以下载ADT的zip包安装 安装完插件后,需要做一些简单的配置: 1、在Eclipse中,选择Window--> Preference; 2、从左侧的菜单中,选择Android项; 3、设置SDK Location,点Browse选择SDK的安装根目录. 2.2.3 用户要求
对用户没有特定的要求,有无计算机专业知识都可以使用本软件进行聊天,因此本系统会提供一个人性化,用户易操作的界面,能实现最基础的文字传输功能,还包括语音,图片,位置的传输功能。
用户在客户端运行聊天软件时,通过判断内部控制模块是否存储了已经配置好的用户信息,若存在,则直接调用配置存储过的用户登录信息进行网络连接;若不存在,则系统判断进入向导模式,提供用户选择登录或是注册。若用户注册过账号,则可以直接到登录界面填写登录信息进行登录,如果用户没有账号,则选择注册,到注册界面进行注册;登录成功后,就会显示联系人列表,不成功时,可以点击手动设置来配置一些登录信息和网络设置信息等[6]。 2.2.4 运行环境
服务器方面要求双核,CPU 频率大于2.0GHZ,内存大于1G,硬盘空间要求300G及以上,系统建议是Windows7。客户端必须是Android系统且版本要在5.0的手机,运行内存1G以上。
6
7
四川大学锦江学院毕业论文(设计)
2.3 基于数据库实现设计
2.3.1常用的数据库软件
SQL数据库:SQL是一种操作命令集专为数据库而建立的,相对来说功能齐全,这种数据库语言是一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义
DB2数据库:IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令[8]。
本设计数据库采用SQLite数据库,SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。 2.3.2消息推送原理
所有的功能模板都基于数据库实现,包括消息推送,接下来我将介绍推送功能的实现原理。安卓消息推送主要有三种方式:
使用SMS服务,就是依靠服务器端发送短信广播,通过手机客户端监听短信的广播,通过系统对数据进行相应的处理,从而达到消息推送的方式。优势就是省电,省流量。使用轮询方式,客户端从网络中主动获取数据。但是有一个缺点就是耗电、耗流量。轮询方式方便于我们理解,实现也起来较为简单,若只是做个试用的版本的情况下建议使用。但若是作为会一直在运行的应用,用很多种方法去优化,还是会比较耗费流量的,是因为运行过程中会一直获取网络中的数据。使用长连接方式,普遍来讲,服务器端推送的数据的方式,一般都是用这种方式进行数据推送。优点是省流量、缺点是耗电。这里我们介绍一下工作原理,工作原理就是客户端与服务器端会建立一条长时间的数据流连接,移动客户端设备从建立起长链接开始一直在等待服务器端传过来的数据。由于连接是持续不断的,过程中也没有数据流操作,所以这就是长链接方式的优势之处,可以相对节省流量。可是又因为客户端会一直保持数据在网络中的连接,所以长链接的推送方式,原理上来讲是比较耗费电量的。 2.3.3数据库表 用户的数据库表 字段名 id UserName
数据类型 Int varchar 说明 主键 用户名 允许为空 N N 7
备注 8
四川大学锦江学院毕业论文(设计)
Password Tel Sex Email varchar varchar varchar varchar 密码 电话 性别 邮箱 N Y Y Y 表2.1用户的数据库表
聊天记录数据库表 字段名 dataid name img data time 数据类型 varchar varchar varchar varchar datatime 说明 主键 好友账户名 好友头像 聊天记录 最后聊天时间 允许为空 N N N Y Y 备注 表2.2聊天记录数据库表
好友信息数据库表 字段名称 friendID name data time 数据类型 varchar varchar varchar datatime 说明 主键 好友账户名 聊天记录 最后聊天时间 允许为空 N N Y Y 备注 表2.3好友信息数据库表
2.3.4数据管理要求
用户账号信息:用户账号,由于是String类型,可以为中文。 聊天记录信息:不能存在非法语言。 用户名信息:不能超过20个字符。 密码信息:不超过20个字符。
3.基于Android平台的聊天系统设计
3.1 聊天软件功能
3.1.1 功能描述
四种类型的消息:文本、聊天表情、图片、语音、位置 用户管理功能:注册、登录
好友管理功能:添加好友、删除好友、获取好友列表、黑名单管理、 聊天记录的本地化存储。 3.1.2 界面布局设计
界面布局是一个活动条目中对于用户界面的架构设计,它通过存储全部显示给用户的元素来定义界面布局结构。客户端的用户界面布局文件存放/res/layout
8
9
四川大学锦江学院毕业论文(设计)
中, 用XML 格式的布局文件定义应用程序默认的布局,包括将显示在屏幕的元素和属性。可以通过编程修改客户端界面上对象的状态,这种布局设计是非常重要的,其中也包括了系统定义在XML文件中的元素。 3.1.3 消息推送原理
Java的Scoket网络编程,Java服务端对Android端提交的数据进行处理然后发给客户端进行显示。
多线程编程,每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行,使用过程中用户在客户端首先将信息发送到服务器,服务器识别并解析信息,然后将信息转发给相应的用户,使用线程可以把占据长时间的程序中的人物放到后台去处理,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度,程序的运行速度可能加快,用户界面更加吸引人[9]。
网络编程,Android手机端将组装好的数据包通过无线网络发送到服务器,服务器读取并解析数据包,组装一个相应的回应数据库并返回给Android端,以此达到通信的目的。
3.2系统架构图
3.2.1 系统逻辑流程图
用Visio结合聊天软件所实现功能画出以下流程图: 如图3-1
9
相关推荐: