项目名称 | 基于Android的WiF对讲机 |
---|---|
行业 | 手机应用 |
架构类型 | Android应用 |
开发技术 | 1、可采用的技术: Android、Java 2、公用技术:Java、Android SDK、XML 3、数据库技术: SQLite数据库 4、Webserver |
规模 | 系统总体规模1.9人月,可根据选用的系统功能模块,计算裁剪后的系统规模。 |
对讲机:用于通讯的设备。对讲机不同于移动电话,它不用根据通话时间计费。比较移动电话和双向对讲机的成本,用户会发现对讲机更经济实用。手持对讲机是一种体积小、重量轻、功率小的无线对讲机,适合于手持或袋装,便于个人随身携带,能在行进中进行通信联系。当你们在没有对讲机而你又需和摸个人进行通话怎么办。你肯定会想我有手机打个电话给他就可以了。这是解决了问题但是有产生了花费。能不能不花钱呢?答案是肯定的,只要你使用我们的WiFi对讲机就可以用手机实现免费的对话。只要你的手机可以使用WiFi你就可以在局域网内像使用对讲机一样和同一个局域网内的所有成员进行对话和沟通。
本文主要描述在Android系统下的智能手机应用,基于Android SDK在Android平台的智能手机上开发的手机网络应用。目的是为了清晰地描述用户使用本软件必须要完成的任务和定义开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务。
4.1 系统功能结构
本项目主要功能包括PC终端和移动终端,通过PC终端与移动终端屏幕共享来达到语音对讲效果,这样使得在一定WiFi范围内的两终端可以达到随时语音交互效果。功能结构图如下所示:
4.2客户端功能需求
4.2.1 功能需求概述
该系统的功能主要体现在无线热点搜寻、无线网络选择、频道选择,用户连接设置、无线呼叫等模块。
本模块主要是实现了手机客户端对WiFi设备的搜索功能一边客户端可以根据自己的需求来连接不同的WiFi设备。
无线网络选择:本模块实现了无线设备的选择及连接功能。用户可以将搜索到的WiFi设备进行列表,用户从列表中选择相应的设备并连接实现无线呼叫。
频道选择:用户获取服务端的所有频道列表,用户可根据需要来选择频道实现无线通讯。
用户设置:客户端通过建立无线连接选择频道然后选择通讯模式及传输模式来实现两个客户端的呼叫或是一对多客户端的群体呼叫功能。
无线呼叫:本模块负责客户端之间的通讯机呼叫接受转化服务。是用户可以方便的进行语言信息的传递。
4.2.2 无线热点搜寻模块
软件使用者打开软件会搜索当前范围内所有的WiFi设备并提供相关列表信息及信号强度。
4.2.3 无线网络选择模块
用户可以通过搜寻到的WiFi设备列表显示的相关信息对其进行适当的选择。并和该设备进行连结。
4.2.4 频道选择模块
当用户连接到设备后会显示服务断提高的频道相关的列表。用户可更具需要选择频道加入和频道中其他用户进行连接。
4.2.5 用户连接设置模块
4.2.5.1 用户选择
选择需要呼叫的用户并建立WiFi连接实现语言呼叫。
本系统提供两种连接模式供使用者选择,一种是服务器转发另一种是点对点互传。
服务器转发是将所有的语言信息通过服务器广播的方式发送到连接用户。
点对点互传是直接通过WiFi在两个手机建立连接通道直接传输语言信息。
用户连接设置选中要呼叫的用户并建立连接。
4.2.5.2 频道选择
客户端可通过频道功能来实现群体呼叫的功能。
由于要实现全体广播的效果必须使用服务器广播来实现,在这就必须将传输模式设定为服务器转发模式。
频道连接设置选择要广播的频道并建立客户端和服务器的连接实现语言广播。
4.2.6 无线呼叫模块
实现语言的发生。按下呼叫键开始语言信息呼出,此时无法接收任何信息。弹起时只能接收别人传的过来的语言信息无法发送。
4.3服务端功能需求
该系统的服务端主要实现频道的管理及语言信息的转发和广播功能。功能主要体现在频道管理和转发服务两大模块传输。
本模块实现了服务端对用户端频道的管理。包括了频道的添加、设置、删除及频道的连接数设置等。
转发服务:本模块主要是负责服务端对客户端传输模式的控制。包括了文本协议传输、音频文件传输及数码流传输等传输服务的实现。
4.3.1 频道管理模块
本模块主要是对频道的控制管理,方便客户端根据不同的频道来实现不同的情况下的语言播报。
4.3.2 文件转发模块
4.3.2.1文本协议服务
将呼入的音频数据转换为文本文件通过服务器转发,在客户端再讲文本文件使用语言播报工具转换成语音。
4.3.2.2 音频文件转发
将呼出信息存储问录音文件并发生到客户端,有客户端在后台将录音文件播报出来。
4.3.2.3 数据流转发
将呼出音频直接转换成数据流以以数据流的形式传送到客户端,在客户端将数据流还原成音频直接播报。
4.4 非功能需求
4.5 系统逻辑结构
对讲机:用于通讯的设备。对讲机不同于移动电话,它不用根据通话时间计费。比较移动电话和双向对讲机的成本,用户会发现对讲机更经济实用。手持对讲机是一种体积小、重量轻、功率小的无线对讲机,适合于手持或袋装,便于个人随身携带,能在行进中进行通信联系。
WebService是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台,不同语言、不同技术整合到一起。在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方SDK来调用WebService。PC版本的WebService客户端库非常丰富,例如,Axis2、CXF等,但这些开发包对于Android过于庞大,也未必很容易移植到Android上。因此,这些开发包并不在我们考虑的范围内。适合手机的WebService客户端SDK也有一些。本项目建议使用了比较常用的KSOAP2。
本系统是将传统的对讲机功能通过网络服务及WiFi移植到手机平台项目新颖但是难度较大。针对于在实验室进行android应用或游戏开发,常常会涉及到移动设备的常用功能,如:蓝牙、WI-FI网络、GPS等,在正常实验室无真机调试环境下是无法实现这些需要外围设置来支持的功能,简单来说也就是通过android模拟器开发的应用和游戏只能是单机项目,如果需要开发蓝牙、WI-FI网络、GPS等需外围设备支持的功能,必须在实验室提供真机支持,同时真机也支持USB在线调试,可以直接在真机上进行应用或游戏的直接开发和调试,因为真机上这些外围设备都物理存在并提供相应功能的使用,所以在真机上是可以完成所有android的开发。
本项目总的实施工作量为40人天(1.9人月),具体工作量分析如下表所示:
主要阶段
|
工作量(人天)
|
|||||
功能需求 | 设计 | UI+编码+测试 | 小计 | |||
移动设备端 | 无线热点搜寻 | 搜寻热点 |
1
|
1
|
2
|
4
|
选择无线网络 | 选择无线网络 |
1
|
1
|
2
|
4
|
|
选择频道 | 服务端频道列表 |
1
|
1
|
2
|
4
|
|
用户连接设置 | 用户选择 |
1
|
1
|
2
|
8
|
|
频道选择 |
1
|
1
|
2
|
|||
无线呼叫 | 无线呼叫 |
1
|
1
|
2
|
4
|
|
服务端 | 频道管理 | 级别管理 |
1
|
1
|
2
|
4
|
转发服务 | 文本协议服务 |
1
|
1
|
2
|
12
|
|
音频文件转发 |
1
|
1
|
2
|
|||
数据流转发 |
1
|
1
|
2
|
|||
合计
|
40人天(1.
|