- 浏览: 150533 次
- 性别:
- 来自: 广州
最新评论
-
yinren13:
说的便捷的视频会议,我们公司的遥控器一按就能开始的视频会议tu ...
便捷视频会议 -
xujinquan19:
...
可视通讯与移植、跨平台开发 -
xujinquan19:
...
Android 平台下的即时通讯 -
xujinquan19:
...
Android 平台下的即时通讯 -
xujinquan19:
...
Android 平台下的即时通讯
基于Android 平台简易即时通讯的研究与设计
摘要:论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的
作用和功能以及实现方法。(复杂的通讯如引入视频音频等可以考虑AnyChat SDK~)
关键词:Android 平台;即时通讯
(本文中图表点击附件即可见)
1 Android 平台简介
Android 是Google 公司于2007年11月5日推出的手机操作系统,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40 多家移动通信领域的领军企业组成开放手机联盟(OHA)。Google 与运营商、设备制造商、开发商和其他第三方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。正因如此,Android 正在被越来越多的开发者和使用者所接受。近日,Google 发言人Anthony House称,截止到2010 年4 月15 日,Android Market 已经有3.8 万多个应用程序。
2 Android 平台特性与即时通讯的研究
Android 平台框架共由5 部分组成。底层核心是基于Linux 2.6内核开发的独立操作系统,该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。中间是Android 执行环境,包括系统运行库、Dalvik 虚拟机、核心库和一些C /C ++库等支持Android 使用的各个组件。应用层框架是开发人员使用这些API 框架来开发自己的应用,简化了应用程序开发的架构设计。应用层程序是用Java语言编写的运行在虚拟机上的程序[1] 。整个An- droid 平台框架如图1 所示。
即时通讯(IM)是一个终端连往一个即时通讯网路的服务。即时通讯与e-mail 的不同在于它的交谈是即时的。大部分的即时通讯服务提供了在线提醒的特性──显示联络人名单,联络人是否在线,能否与联络人交谈等。近几年即时通讯发展特
别迅速,即时通讯的功能日益丰富,由PC 客户端发展到移动客户端,逐渐发展成一个综合化信息平台,国内市场上知名的即时通讯工具有腾讯QQ,新浪UC,中国移动飞信等,但这些产品都有着很严重的安全威胁,如ID 被盗、隐私威胁、病毒威胁等。
为了减小这些威胁,可以在企业内部开发自己的即时通讯软件,减少为未知用户带来的威胁。
3 简易即时通讯功能及设计
3.1 简易通讯的功能
本设计实现了在Android 平台上开发即时手机通讯系统,它能够使用户在手机客户端上登录服务器,方便、迅捷地收发即时消息。随着研究的深入,可以在该系统上实现图片的传输和接收,以及其他一些功能,这样可以使该系统功能更加多样化。
3.2 简易通讯系统框架介绍
通讯系统架构采用C /S 模式,即客户端/服务器的体系结构。客户端是基于Android 平台进行开发,通过3G 网络与Internet 建立连接,通过服务器实现Android 客户端之间的即时通讯。
客户端负责初始化通信过程,进行即时通讯时,由客户端负责向服务器端发起连接请求。服务器端采用开源的Openfire[2] 作为服务器,允许多个客户端同时登录,并且同时连接到一个服务器上。服务器对每个客户端进行认证,对认证通过的客户端创建会话,实现客户端与客户端之间的通讯。
3.3 客户端的解决方案
系统的客户端定位于Android 平台的手机,采用SIMPLE[3] 协议作为即时通讯协议,SIMPLE(SIP for Instant Messaging and Presence LeveragingExtensions) 是SIP (Session Initiation Protocol)的扩展,它为SIP 协议制定了一整套的架构和扩展方面的规范,用于支持IM。SIMPLE 通过SIP 来传递状态信息和实现分布的信息表示
。根据协议规则,采用Android 平台提供的XML 解析包对XML 进行解析。根据Activity 模块运行于主线程的特点,采用多线程[4] 技术来解决系统通信问题。系统的用户信息和聊天信息存储在Android平台自身所带的SQLite 数据库中。客户端功能模块如图2 所示。
3.4 服务器端解决方案
系统服务器端采用开源的Openfire 来建立即时通信服务器。Openfire 采用Java 语言进行开发,Java 语言具有跨平台的特点,因此Openfire 服务器可以架设于多种操作系统平台上。Openfire服务器的内核主要由服务器连接管理组件、会话
管理组件、数据存储组件和传输器组件等组成。Openfire 实现了插件机制,方便扩展,通过安装与异构网络通讯的插件,便能与其他的通讯软件实现通讯。
在网络连接中采用Apache 的Mina 框架来实现网络连接,Mina 框架使用非阻塞式的高性能I /O 底层,采用异步I /O 事件和事件驱动机制,使服务器具有很高的效率和性能,从而能够及时处理大量的客户端连接事件和I /O 随机事件,单台服务器可支持上万个并发用户。服务器与客户端的连接示意图如图3 所示。
3.5 通信系统结构
随着移动通信与Internet 的飞速发展及其相互融合,3G 无线网络使无线网络高速接入Internet成为现实,从而移动客户端可以接入到Inter- net 的服务。系统客户终端通过3G 无线网络采用TCP 协议连接到服务器,通过SIMPLE 即时通
讯协议进行及时通讯。[5]
在移动网络中,移动终端接入到3G 无线网络。
网关移动交换中心GMSC(Gateway Mobile Switc- hing Center)为用户提供分组路由、隧道和跟踪移动终端的位置等功能。UMTS(Universal Mobile TelecommunicationsSystem)提供3G 网络内部与外部网络的路由和封装,分配IP 地址,实现与Internet 网络的互通。通信系统结构示意图如图4 所示。
3.6 系统工作流程
服务器对用户输入的用户名和密码进行身份验证,验证成功后,客户端从服务器端读取客户端的个人信息,并更新好友列表和群组信息,服务器端响应客户端的各种请求,客户端可发送接收信息,通讯完毕退出系统登录状态。这样,一个简易即时通讯系统便实现了。在这里顺便提下如果要求做到音视频通讯的话可以借鉴佰锐公司的AnyChat SDK产品。当然只是个人学习的话可以先从文字通讯开始。
图5 是认证流程示意图。
客户端软件使用Java 和XML 语言在eclipse集成开发环境中开发,基于Andriod 1.5 模拟器开发的用户登录界面如图6 所示。
4 结语
该设计主要讨论了基于Android 平台的简易即时通讯系统,研究了在开源服务器Openfire 上各个移动客户端和服务器之间的通信系统结构,实现了客户端功能。随着研究的进一步深入,基于Android的通讯系统会逐渐完善,相信基于Android 平台的即时通信系统会有着很好的应用前景。
[参考文献]
[1]余志龙,陈昱勋,郑名杰,等.Google Android SDK 开发范例大
全[M].北京:人民邮电出版社,2009.
[2]张云川.标准化的即时通信协议———SIMPlE 和XMPP 的对比
研究[J].武汉科技大学学报: 自然科学版,2005,28(4):375
-377.
[3]张海燕.Java 多线程技术在手机互联网中的应用[J].农业网
络信息,2008(3):97 -98.
[4]姚昱旻,刘卫国.Android 的架构与应用开发研究[J].计算机
系统应用,2008(11):110 -113.
[5]张利国,代闻,龚海平.Android 移动开发案例详解[M].北京:
人民邮电出版社,2010.
//交互讨论联系方式请加我好友QQ839788402或博客中资料博文等,谢谢支持。
评论
发表评论
-
手机视频会议
2012-11-16 14:03 845在这个时代,手机被开发者们所赋予的意义已经远远超出了大众的期望 ... -
视频通讯demo源码
2012-11-09 15:23 1173以下为anychat视频通讯系统中的部分回调函数源码: 具体 ... -
音视频对话开发
2012-09-20 17:21 746AnyChat for Android是佰锐科技继2010年发 ... -
H.264视频编码标准在网络视频监控系统中的应用 .
2012-08-24 15:13 991【摘 要】本文介绍了ITU-T最新高性能视频压缩标准H.264 ... -
安卓平台下的即时通讯
2012-08-24 15:12 975基于Android 平台简易即时通讯的研究与设计 摘要 ... -
iOS音视频封装与传输demo
2012-08-24 15:01 2033ios没有直接得api用来封装传输rtp,但是经常有用到得接收 ... -
手机音视频应用开发(专注于Symbian、iPhone、Android等跨平台音视频应用开发方案)
2012-08-24 14:47 1150一款好的手机应用, 能让用户在第一分钟就爱上他, 一款烂的手 ... -
手机视频通讯开发
2012-08-24 14:46 823如今,3G网络快速发展 ... -
android视频开发
2012-08-16 17:31 1023摘要:论文简单介绍Android 平台的特性,主要阐述了基于A ... -
android视频聊天软件推荐
2012-08-15 17:00 1065正在当前那个社会 ... -
音视频交流服务系统
2012-03-15 16:22 911下面的这个平台是一种视频服务的应用,比如A(客户端)打视频电话 ... -
音视频开发平台
2012-03-15 16:12 839近日,腾讯公司发布了Q ... -
即时通讯开发平台(音视频)
2012-03-15 16:11 935近日,腾讯公司发布了Q ... -
手机视频之营销模式
2012-02-16 10:43 9063G时代的逼近,手机视 ... -
手机视频应用开发
2011-12-30 14:56 787AnyChat for Android是佰锐科技继2010年发 ... -
Android视频通话(即时通讯,可视电话,视频通讯,监控,电视直播)推荐
2011-06-22 15:21 2038正在当前那个社会里,相信良多伴侣都是独自一人正在中地拼搏,好久 ... -
安卓视频通讯与监控系统完全版本正式发布
2011-05-04 17:12 1111通过数个月的研发,视频通讯安卓版本的程序已经出来了。 ... -
LINUX常用命令
2011-04-22 15:22 656Linux 系统常用命令格 ... -
Linux网络编程
2011-04-22 15:17 694Linux网络编程 linux socket的 ... -
GCC对ARM支持的所有优化选项及指令
2011-04-22 15:11 20773.17.1 ARM Options These `-m' ...
相关推荐
本文档是对Android平台下的即时通讯系统的设计与研究,是目前比较热的一个操作平台,希望有所帮助
为解决在基于Linux操作系统的Android手机平台上即时通信问题,实现在系统客户端进行文本、图片、音乐的传送和播放。采用Java语言环境下Android应用开发工具和API接口,并使用Eclipse加上Android集成开发环境插件为...
使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...
这篇文档将深入探讨Android即时通讯源码的相关知识点。 首先,我们要了解即时通讯的基础架构。IM系统通常基于客户端-服务器模型,其中客户端(Android应用)通过网络连接与服务器进行通信。这里涉及到的关键技术是...
本文将深入探讨基于XMPP协议的Android即时通讯DEMO,讲解相关的关键技术和实现步骤。 **1. XMPP简介** XML Instant Messaging and Presence Protocol(XMPP)是一种开放的、基于XML的即时通讯协议。它主要用于处理...
在Android系统的背景下,构建高效、稳定的即时通讯应用成为了Android开发的关键挑战。 论文首先介绍了Android系统的背景和研究目的。Android系统以其开源、灵活的特性,吸引了众多开发者进行应用开发。国外的研究...
Android即时通讯技术是针对Android平台设计的一种实现在移动设备间快速交换消息的技术。随着Android系统的普及和发展,即时通讯已经成为移动应用不可或缺的一部分,它不仅局限于文字交流,还可以支持图片和其他...
最后,基于以上研究,作者在Eclipse集成开发环境中设计并实现了支持文件传输的Android即时通讯应用。这个应用不仅能够实现用户之间的文字聊天,还能通过蓝牙功能发送文件,满足了即时通讯系统的基本需求和扩展功能。...
本项目"Android即时通讯代码"是专为Android Studio设计的,旨在帮助开发者创建类似微信的聊天应用。在这个项目中,我们将深入探讨以下几个核心知识点: 1. **Android Studio环境配置**:作为Google官方推荐的...
"ImDemo"可能是一个示例项目,用于演示Android即时通讯的实现。该项目可能包含了客户端和服务端的代码,涵盖了上述的所有关键步骤。通过分析和学习这个项目,可以加深对Android Socket即时通讯的理解。 1. **客户端...
本文将深入探讨如何利用Apache Mina框架在Android平台上实现即时通讯服务端和客户端的构建。Apache Mina是一个网络通信应用框架,它简化了网络编程,使得开发者可以专注于业务逻辑,而不是底层的网络协议实现。 ...
总之,实现Android即时通讯功能,结合Openfire和XMPP协议,可以为用户提供稳定、高效的IM服务。开发过程中,需要对XMPP协议有深入理解,熟悉Android网络编程,并能熟练运用相关SDK,才能构建出满足用户需求的IM应用...
Android即时通讯系统是指基于Android平台的即时通讯系统,能够实现实时信息交换和文件传输。以下是关于Android即时通讯系统的研究与设计知识点: 1. Android系统概述: Android系统是一个基于Linux内核的开源操作...
基于Java的即时通讯框架,结合android客户端进行实时信息的反馈
### Android即时通讯方案知识点概述 #### 一、即时通讯(IM)基础概念 即时通讯(Instant Messaging, IM)是一种允许用户之间实时交流信息的技术或应用。与电子邮件不同,即时通讯的特点在于其通信是即时发生的。...