Android平台下利用Wi-Fi技术实现即时通讯
发布日期:2011-05-02
随着当前数据处理中心移动化的浪潮,移动互联网应用正以其方便、轻巧、快捷、简单等特性成为越来越多公司和个人的选择。以Linux为基础的Android平台,相对于Symbian.WindowsMobile和Linux等操作平台,对开发者来讲拥有更大的自由空间,其开源的理念直接促进了Android的应用不断扩大。而WiFi解禁所带来的网络速度提升和通讯便利,使得无线局域网络蓬勃发展,比如在医院处方管理、仓储资源调配、公司内部通讯以及个人联系等各方面,无线通讯相较传统通讯而言占据相当大的优势。
1.Android平台简介
1.1Android特征
提供应用程序框架
定制的Dalvik虚拟机
集成了基于Webkit的开源项目的浏览器
提供SQLite数据库用于结构化数据存储
提供对音频、视频和图片等媒体的支持
支持蓝牙、EDGE.3G和WiFi
WiFi的最大优点就是传输速度较高,可以达到11Mbps,另外它与已有的各种802.11DSSS设备兼容支持GSM电话控制。其主要特性为速度快、可靠性高。在开放性区域,通讯距离可达305米,在封闭性区域,通讯距离为76米到122米,方便与现有的有线以太网络整合,组网的成本更低。
(7)强大的开发环境本文实例采用Eclipse3.6(HELIOS)作为集成开发环境,配置JDK1.6.0-20以及Android的最新SDK:android-sdk-r05-windows,以及Android平台自带的设备模拟器,调试、内存和性能检测等工具,以及EcrlipseIDE的开发插件ADT-0.9.701.2Android架构Android平台是在Linux2.6.25版本的基础上改造的,不同的是Android的目标平台是ARM平台,而不是通常的i386平台。Android的模拟器是基于(}emu0.8.2和SDL进行开发的模拟环境。图1为Android平台的架构图:2.Wil"'i技术简介WiFi是由AP(AccessPoint)和无线网卡组成的无线网络。AP一般称为网络桥接器或接入点,其工作原理相当于一个内置无线发射器的HUB或者是路由,而无线网卡则是负责接收由AP所发射信号的CLIENT端设备。}iFi最主要的优势在于不需要布线,可以不受布线条件的限制,因此非常适合移动办公用户的需要,具有广阔市场前景。目前它已经从传统的医疗保健、库存控制和管理服务等特殊行业向更多行业拓展开去,甚至开始进入家庭以及教育机构等领域。另外,无线网络的发射功率实际只有约60--70毫瓦,手机的发射功率约200毫瓦至I瓦,手持式对讲机高达5瓦,而且无线网络功率低,是更安全的。3.采用\\'iI}i技术实现即时通讯3.1系统概述本文工作中实现的是在Android平台上开发利用\}'iFi实现即时通讯,它能够让使用An<lroi<I平台并支持WiFi功能的手机或电脑用户方便的、迅捷的相互联系,而不会产生各类资讯费用。据最新报道,在硬件支持的条件下,比如使用最新型Ulriduiti公司的设备可以让传送距离达到304公里。3.2编程实现项目的创建!启动Eclipse,选中File>New>AndroidProject,}})建项目WiFiConnect,选择GoogleAPIS2.2,并}i」建基于此库的AVD:}'iFiAVDoA,卜druid平台中提供了android.net.wifi来支持}C'iFi的应用,表1是要用到的主要类/接口的说明。(1)}X'iFi使用许可为了获取WiFi网络状态,必须在AndroidManifest.xml中添加访问许可:<uses-permissionan-droid:name二”android.permission.AC-CESSWIFISTA'CF}"/>(2)WiFi管理获取}'iFi管理器接口的代码如下:WifiManagermanager=(WifiMan-alter)(WiFiConnect.this.getSystemService(Context.WIF'I_SERVICE);(3)网络状态及扫描结果WiFi管理器可以通过getScanResult方法来获得最新访I}}点的BSSID.capabilities.fre-quency.level.SSID等信息L1StGS('k1nHPFUII>11St1'eSUltvice.getSeanRe,ult();:二Sef-管理器也可以通过isWifiEnahled方法来获得WiFi网络是否可用:if(manag-er.isWifiEnabled())来判定。}4)Telephony和SMS管理An-droid平台中提供了。ndroid.telephony支持电话和短信的应用,其中android.telephony.TelephonyManager提供了访]I}电话设备信息的方法:TelephonyManagertehnanager=(TelephonyManager)(this.getSystemService(Context.TELEPHONY_SERVICE);android.telephony.SmsManager则提供了短信的管理方法:SmsManagersms-SmsManager.get-Default;同样,电话和短信的功能需要分别在AndroidManifestxml中声明使用:androidpermissionCALLPRIVILEGED和SEND_SMS,同时为了拐别卖投翻翎言息:an-droi中ermissionREAD_PHONE_STATED(引与发现的WiFi设备连接在这里只介绍采用SMS方式连接已经发现的WiFi设备:Pendinglntentpi=PendingIntent.getActivity(this,0,newIntent(this,Sendsms.class),0);sms.send-TextMessage(devicelD,null,message,pi,null);其中。leviceID是发现的设备ID号,message是所需要发送的内容,pi是提示发送完成的提示参数。4.结论和展望Android应用程序开发着眼于它的整个体系构架,是一项复杂的工程。本文分析了Android体系的层次架构,利用其对WiFi的支持开发一个即时通讯软件,在下一步工作中,将继续深入研究WiFi技术的安全以及带宽对通讯的影响。从当前国内移动通讯的浪潮来看,使用}iFi的即时通讯技术不仅在民用方面有较大应用前景,在军事上也将有较大的发展空间,包括构建战地Ad-Hoc网络等应用。-t.系统的密码学分析声音信号具有平稳变化的性质,频域加密要优于时域加密。本文对87个FFT系数进行了置乱,选择合理的密钥,加密后的信号剩余可懂度会很低。实际应用中,考虑窃听者掌握了加密解密方法,并拥有足够的设备进行破解,那么最大需要进行87,次分析才能得到结果。因此,FFT方法拥有较强的保密能力。5.结束语本文基于FFT信号处理方法,设计了基于FFT的语音信号加密算法。对语音进行频域置乱。对仿真结果进行分析,可观察到加密后的语音已完全不同于源信号。在输入不正确的密钥时,不能正确的解密。系统的密钥空间为87!,因此系统能抵抗一定程度的密码学攻击。解密后的信号具有较好的通话质量。本系统的整体结构,对研究更高级别的话音加密提供了成熟的理论基础,该系统具有一定的推广应用价值。