概要设计基于安卓手持设备的语音通讯系统.docx
- 文档编号:11850206
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:18
- 大小:134.04KB
概要设计基于安卓手持设备的语音通讯系统.docx
《概要设计基于安卓手持设备的语音通讯系统.docx》由会员分享,可在线阅读,更多相关《概要设计基于安卓手持设备的语音通讯系统.docx(18页珍藏版)》请在冰豆网上搜索。
概要设计基于安卓手持设备的语音通讯系统
基于安卓手持设备的语音通讯系统
概要设计
总页数
正文
附录
生效日期
编制
批准
修改履历
修改编号
日期
修改人
版本号
修改内容
1
VER0.1.0
初始做成
2
3
目录
1文档概述5
1.1文档目的和范围5
1.2术语/缩略语5
1.3参考文档5
2模块概述6
2.1模块功能定义6
2.2模块结构6
2.3模块动作时序9
3接口说明9
3.1数据结构定义9
3.2函数9
3.2.1模块间接口函数11
3.2.2模块内接口函数11
1文档概述
1.1文档目的和范围
本设计的目标为运用可视化程序设计和数据库产品开发一个基于安卓手持设备的语音通讯系统。
1.2术语/缩略语
序号
术语/缩略语
说明
1
Android
安卓操作系统
2
Mysql
Mysql开源数据库
1.3参考文档
序号
文档名
作者
时间
版本
1
Java程序设计实用教程[M]
耿祥义,张跃平
2010年4月
人民邮电出版社
2
Android开发应用从入门到精通[M]
朱桂英
2011年
第1版.中国铁道出版社
3
Android开发从入门到精通[M]
扶松柏,于秀青
2012年
北京希望电子出版社
4
Android移动应用开发从入门到精通[M]
ShaneConder
2010年
人民邮电出版社
5
Thinkinginjava[M]
埃克尔
2007年
机械工业出版社
6
Java入门经典[M]
CadenheadR
2012年
人民邮电出版社
7
软件工程导论[M]
张海藩
2008年2月
清华大学出版社
2模块概述
根据系统的主要功能分类,语音通讯系统可以分为用户信息管理模块、语音通信模块和文本通信模块三大模块。
其中用户信息管理模块负责管理用户的个人信息和用户的好友;语音通信模块用于使用户间能够自由进行语音聊天;文本通信模块完成用户间的文字聊天功能。
系统将根据这三个模块组织代码结构。
2.1模块功能定义
序号
功能点
功能点详细内容
1
Login登录
控制用户登录相关操作
2
Regedit注册
控制注册相关界面操作
3
添加好友
添加以为好友
4
删除好友
删除一位好友
5
语音采集
调用安卓MediaRecorder录制声音
6
语音传送
将采集到的语音发送出去
7
语音接受
接受发来的语音消息
8
文字采集
接受文字消息
9
文字传送
发送文字消息
10
文字接受
接受文字消息
11
Connect服务器
通过HttpConnect类链接服务器进行操作
12
数据库操作
对数据库的数据进行增删改操作
2.2模块结构
2.2.1子系统/模块说明
根据功能的不同,可以把语音通讯系统划分为三大模块——用户信息管理模块、语音通信模块、文本通信模块。
三大功能模块构成整个语音通讯系统,使之正常运行。
图2-1为用户信息模块功能结构图。
图2-1用户信息管理功能结构图
第一次使用系统的用户需要注册账号,注册账号后才可登录系统与好友通讯。
用户登录系统后可以修改自己的个人信息,也可以对好友进行管理,包括添加、删除好友。
添加的好友只能是已经注册的并且已经在局域网内的。
点击某个好友可以查看其详细信息。
如果用户觉得账号不安全,可以修改自己的密码,增加账号安全性。
图2-1为语音通信模块功能结构图。
图2-2语音通信功能结构图
系统检测为有权限的用户方可与好友进行通讯。
在聊天界面,用户可以选择语音聊天也可以选择文字通讯。
若用户选择语音聊天,用户的amdroid客户端将录制下用户的声音文件,声音文件流发送到服务器端。
服务器将检测对方用户是否在线,如果对方在线,即解析出流对象,根据流对象中的内容将文件流发送到指定IP与端口号的其他安卓的客户端,然后在指定的手机客户端解析传递过来的声音文件,转化成音频文件,调用客户端相关硬件播放出来。
图2-3为文本通信功能结构图。
图2-3文本通信功能结构图
文本通信模块的运行原理与语音通信模块类似,若用户选择文字通讯,用户的amdroid客户端将接收用户的文字信息,然后将其发送到服务器端。
服务器将检测对方用户是否在线,如果对方在线,即解析出字节流对象,根据流对象中的内容将流对象通过TCP/IP协议发送到指定IP与端口号的其他安卓的客户端,然后在指定的手机客户端解析传递过来的字节流,转化成文字显示到客户端。
若对方不在线,则将消息缓存在服务器,当对方下次上线被服务器检测到时再将消息推送过去。
但文字通讯没有对音频的解析过程,相对来说更简单一些。
2.2.2功能需求描述
系统以C/S模式实现。
图2-4为客户端系统功能结构图。
图2-4系统功能结构图
服务器端与数据库相连,主要负责保存用户信息和用户聊天信息并且分析数据包将其发送到相应IP端口。
客户端系统功能结构如上图所示,用户必须先注册为系统用户后才能使用系统进行通讯。
注册为用户后可以对自己的信息进行管理,也可以开始搜索局域网内好友(好友必须为注册用户),有好友后可以进行语音文字通信。
出于某些原因也可以删除不需要的好友,好友将从好友列表消失。
模块名称
模块类型
概要说明
LoginActivity
接口
控制用户登录操作
RegisterActivity
接口
控制注册界面注册操作
Record
内部模块
采集、发送、接受语音消息
VoiceChatChatActivity
内部模块
接受、发送、采集文字消息
2.3模块动作时序
3.2.1语音通信模块功能流程图
图3-1通信模块功能流程图
3.2.2文本通信模块功能流程图
图3-2文本通信模块功能流程图
3.2.3用户信息管理功能流程图
图3-3用户信息管理功能流程图
3接口说明
3.1数据结构定义
3.1.1
用户信息数据结构
publicclassUser{
privateStringuserName;//用户名
privateStringalias;//别名(若为pc,则是登录名)
privateStringgroupName;//组名
privateStringip;//ip地址
privateStringhostName;//主机名
privateStringmac;//MAC地址
privateintmsgCount;//未接收消息数
}
消息数据结构
publicclassChatMessage{
privateStringsenderIp;//消息发送者的ip
privateStringsenderName;//消息发送者的名字
//privateStringreciverIp;//消息接收者的ip
privateStringmsg;//信息内容
privateDatetime;//发送时间:
格式:
privatebooleanselfMsg;//是否自己发送
}
3.1.2
publicinterfaceMIsym{
//StringSEVERIP="192.168.1.100";
//StringSEVERIP="171.34.115.178";
//StringSEVERIP="192.168.1.105";
StringSEVERIP="192.168.43.102";
//StringSEVERIP="192.168.42.229";
//StringSEVERIP="10.0.2.2";//服务器IP地址应该是本地才对
//StringSEVERIP="10.16.25.171";//服务器IP地址
intSEVERPORT=30001;//服务器端口号
intPROTOCOL_LEN=2;//字符串长度
StringMSG_MI="╔╗";//标识聊天信息
StringNAME_REP="┠┨";//表示用户名重复
StringLOGIN_SUCESS="卐Ψ";//标识登录成功
StringUSER_LOG="§∮";//表示用户登录
StringUSER_REG="ξω";//表示用户注册
StringPSD_WRONG="⊙●";//表示密码错误
StringUSER_NO="★☆";//表示用户名不存在
StringdOWN_MI="〓≡";//表示文件下载请求
StringReg_Fail="reg_fail";///注册失败
Stringupdate_info="update_info";///用户修改个人信息
Stringupdate_info_success="update_info_success";///修改信息成功
Stringupdate_info_fail="update_info_fail";///修改信息失败
Stringgetinfo_byUserName="getinfo_byUserName";///在修改个人信息时,要根据名字得到所有信息
Stringback_userInfo="back_userInfo";///返回用户的个人信息
Stringupdate_password="update_password";
Stringupdate_password_success="update_password_success";
Stringupdate_password_fail="update_password_fail";
Stringupdate_password_fail_OldPwdErr="update_password_fail_OldPwdErr";///原来的密码输入有误
}
3.1.3
/*
*一些用到的常量
*
*/
publicclassUsedConst{
publicstaticfinalintFILESENDSUCCESS=0xFF;//文件发送成功
publicstaticfinalintFILERECEIVEINFO=0xFE;//接收文件,包含文件信息
publicstaticfinalintFILERECEIVESUCCESS=0xFD;//接收文件成功,包含文件信息
publicstaticfinalintFILERECEIVEVOICE=0xFC;//接收语音文件
publicstaticfinalintFILERECEIVESENTVOICE=0xFB;//发送语音文件
}
3.2函数
3.2.1模块间接口函数
3.2.1.1onCancelled()
函数名
onCancelled
文件名
LoginActivity.Java
功能概要
取消登录
记述形式
protectedvoidonCancelled()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
取消登录
使用注意事项
3.2.1.2onLogin(finalBooleansuccess)
函数名
onLogin
文件名
LoginActivity.Java
功能概要
登录
记述形式
protectedvoidonLogin(finalBooleansuccess)
参数
类型
变量名
I/O
说明
Boolean
success
I
数据正确
返回值
类型
-
说明
值
-
-
-
-
详细说明
用户登录
使用注意事项
3.2.1.3onCancelled()
函数名
onCancelled
文件名
RegisterActivity.java
功能概要
取消注册
记述形式
protectedvoidonCancelled()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
用户取消注册
使用注意事项
3.2.1.4onRegister(finalBooleansuccess)
函数名
onRegister
文件名
RegisterActivity.java
功能概要
注册
记述形式
protectedvoidonRegister(finalBooleansuccess)
参数
类型
变量名
I/O
说明
Boolean
success
I
数据是否正确
返回值
类型
-
说明
值
-
-
-
-
详细说明
用户注册
使用注意事项
3.2.2模块内接口函数
3.2.2.1onRecord()
函数名
onRecord
文件名
Record.java
功能概要
采集语音
记述形式
publicvoidonRecord()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
开始采集语音信息
使用注意事项
3.2.2.2StopRecord()
函数名
StopRecord
文件名
Record.java
功能概要
停止采集语音
记述形式
publicvoidStopRecord()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
结束采集语音信息
使用注意事项
3.2.2.3getPath()
函数名
getPath
文件名
Record.java
功能概要
获取语音信息路径
记述形式
publicStringgetPath()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
获取语音信息路径,以供消息发送
使用注意事项
3.2.2.4sendAndAddMessage()
函数名
sendAndAddMessage
文件名
VoiceChatChatActivity.java
功能概要
发送消息
记述形式
privatevoidsendAndAddMessage()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
将消息发送出去
使用注意事项
3.2.2.5receive(ChatMessagemsg)
函数名
receive
文件名
VoiceChatChatActivity.java
功能概要
接受消息
记述形式
publicbooleanreceive(ChatMessagemsg)
参数
类型
变量名
I/O
说明
ChatMessage
msg
I
消息的数据结构
返回值
类型
boolean
说明
值
TRUE
接受成功
FALSE
接受失败
详细说明
接受其他用户或系统消息
使用注意事项
3.2.2.6finish()
函数名
finish
文件名
VoiceChatChatActivity.java
功能概要
消息发送完成
记述形式
publicvoidfinish()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
消息发送完毕后,清理一些不必要的数据
使用注意事项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 概要 设计 基于 手持 设备 语音 通讯 系统