`
xujinquan19
  • 浏览: 150552 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多

摘要:论文简单介绍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 所示。

 图2

 3.4 服务器端解决方案


系统服务器端采用开源的Openfire 来建立即时通信服务器。Openfire 采用Java 语言进行开发,Java 语言具有跨平台的特点,因此Openfire 服务器可以架设于多种操作系统平台上。Openfire服务器的内核主要由服务器连接管理组件、会话管理组件、数据存储组件和传输器组件等组成。Openfire 实现了插件机制,方便扩展,通过安装与异构网络通讯的插件,便能与其他的通讯软件实现通讯。

 

在网络连接中采用Apache 的Mina 框架来实现网络连接,Mina 框架使用非阻塞式的高性能I /O 底层,采用异步I /O 事件和事件驱动机制,使服务器具有很高的效率和性能,从而能够及时处理大量的客户端连接事件和I /O 随机事件,单台服务器可支持上万个并发用户。服务器与客户端的连接示意图如图3 所示。

图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 所示。

图4

 

 

 3.6 系统工作流程


服务器对用户输入的用户名和密码进行身份验证,验证成功后,客户端从服务器端读取客户端的个人信息,并更新好友列表和群组信息,服务器端响应客户端的各种请求,客户端可发送接收信息,通讯完毕退出系统登录状态。这样,一个简易即时通讯系统便实现了。在这里顺便提下如果要求做到音视频通讯的话可以借鉴AnyChat SDK产品。当然只是个人学习的话可以先从文字通讯开始。

 

图5 是认证流程示意图。

图5

 

 

客户端软件使用Java 和XML 语言在eclipse集成开发环境中开发,基于Andriod 1.5 模拟器开发的用户登录界面如图6 所示。

 图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.

分享到:
评论

相关推荐

    Android视频开发包

    "Android视频开发包"提供了一整套工具和资源,帮助开发者更高效地进行二次开发,实现诸如视频播放、录制、编辑、即时通讯等应用场景。下面,我们将深入探讨这些关键知识点。 1. **多媒体框架**:Android系统基于...

    安卓视频开发2020Android视频开发2020.txt

    根据给定文件的信息,我们可以总结出以下与Android视频开发相关的知识点: ### 一、Android视频开发概述 在当今数字化时代,视频应用已经成为人们日常生活中不可或缺的一部分。随着移动互联网技术的发展,越来越多...

    Android视频开发本地录制

    通过以上知识点的介绍,我们可以了解到Android视频开发本地录制涉及的多个层面,包括多媒体框架、Camera API、网络通信、RTC技术以及性能优化和安全性。在实际项目中,开发者需要综合运用这些知识,才能实现稳定且...

    android视频开发项目源码

    这个项目源码提供了宝贵的实践经验,是学习和掌握Android视频开发的宝贵资源。以下将详细介绍其中涉及的关键知识点: 1. **Android Media Framework (AMF)**:Android的核心多媒体处理框架,包括MediaPlayer、...

    老罗Android视频开发教程-百度地图实战开发【10集】

    教程名称:老罗Android视频开发教程-百度地图实战开发【10集】课程目录:【】1-《老罗Android开发视频教程》百度地图搭建开发环境【】10-《老罗Android开发视频教程》经纬度和地址的转换【】2-《老罗Android开发视频...

    《android视频开发01-18》源码

    《android视频开发01-18》源码系列是为那些对Android手机系统感兴趣的开发者提供的一个学习资源,它涵盖了从基础到进阶的多个知识点,帮助开发者深入理解如何在Android上实现视频功能。 1. 视频编解码:在Android...

    老罗android视频开发源码和ppt.zip 一共52.4M

    《全面解析老罗Android视频开发源码与PPT学习资源》 在移动应用开发领域,Android作为主流操作系统之一,其开发技术受到了众多程序员的热捧。老罗的Android视频开发教程,以其详尽的讲解和丰富的实践案例,成为了...

    Android视频开发源码

    这里我们关注的"Android视频开发源码"是关于一个名为"MP3d_01"的项目,这很可能是实现了一个简单的MP3播放器。让我们深入探讨一下这个主题中的关键知识点。 首先,`android`标签表明我们要讨论的是Android操作系统...

    android 视频开发(仿美拍,糗百)

    以上就是Android视频开发的关键技术点,涵盖从录制、分段、合并到裁剪的全过程。在实际开发中,还需要根据设备兼容性、操作系统版本差异等因素进行适配和优化。通过不断实践和学习,你将能够创建出类似美拍、糗百...

    老罗android视频开发源码和ppt--android存储数据和文件.rar

    "老罗android视频开发源码和ppt--android存储数据和文件.rar"这个压缩包提供的是关于Android数据存储和文件操作的教学资源,包括视频课程和PPT讲义,由知名的Android讲师罗升阳(老罗)编撰。 首先,我们来看一下...

    mars老师android视频开发教学第二季源代码

    《mars老师Android视频开发教学第二季源代码》是一份针对Android开发者极其有价值的资源,它包含了mars老师在第二季教学视频中的全部源代码。这个压缩包分为三个部分:第二季1-4集、第二季9-12集以及第二季5-8集,这...

    老罗android视频开发源码和ppt--android之http协议编程.rar

    "老罗android视频开发源码和ppt--android之http协议编程.rar"这个压缩包包含的资源,很显然是为了帮助开发者深入理解并实践Android中的HTTP通信。 老罗,全名罗升阳,是一位知名的Android技术讲师,他的教学资源...

    mars老师的Android视频开发教程代码

    在"Mars老师的Android视频开发教程代码"中,我们可以探索到一系列深入浅出的Android应用程序开发的知识点。Mars老师作为一位经验丰富的讲师,他的课程通常涵盖了Android开发的基础到高级概念,旨在帮助学员从零基础...

    《老罗android视频开发》入门介绍

    《老罗android视频开发》入门介绍是一门专为初学者设计的Android应用开发教程,由知名讲师老罗主讲。这个课程旨在帮助学员快速掌握Android开发的基础知识和技能,为今后深入学习和实践打下坚实基础。以下是本教程中...

    老罗android视频开发源码和ppt--android 解析json

    本资源包“老罗android视频开发源码和ppt--android 解析json”是由知名讲师罗升阳(老罗)提供的,旨在帮助开发者深入理解如何在Android平台上解析和处理JSON数据。罗升阳先生以其深入浅出的教学风格和丰富的实战...

    <<Android视频开发>>第三季第四季源代码

    《Android视频开发》第三季和第四季的源代码包含了丰富的Android应用开发实践内容,适合对Android编程有热情的开发者深入学习。这些源代码文件主要涵盖了以下几个方面的重要知识点: 1. **视频播放功能**:在04_06_...

    老罗Android视频开发教程 android之http协议编程代码

    老罗的这个Android视频教程深入浅出地讲解了如何在Android环境中使用HTTP协议进行数据交互,对于初学者和有一定经验的开发者来说,都是一个很好的学习资源。 HTTP(超文本传输协议)是互联网上应用最为广泛的一种...

    老罗android视频开发源码和ppt--jdbc框架介绍.rar

    老罗android视频开发源码和ppt 这是视频配套的源码与PPT, 分了不同的小包 老罗写的, 听说叫罗升阳。

    老罗android视频开发源码和ppt--android对话框介绍.rar

    老罗android视频开发源码和ppt 这是视频配套的源码与PPT, 分了不同的小包 老罗写的, 听说叫罗升阳。

    老罗android视频开发源码和ppt--android通知的使用.rar

    老罗android视频开发源码和ppt 这是视频配套的源码与PPT, 分了不同的小包 老罗写的, 听说叫罗升阳。

Global site tag (gtag.js) - Google Analytics