编写:徐建祥(netpirate@gmail.com)
日期:2010/10/12
网址:http://www.anymobile.org
最近几个月一直在负责某即时通讯软件的智能手机平台开发工作(已经有手机厂商和运营商的定制版,近日将发布公版),参考了iphone的设计风格,以及QQ for Android的功能设计,代码完全自主开发,主要涉及以下方面:
--调研方案
() --> <<XX for Android porting 移植文档>>
--需求
() --> <<XX for Android UI Spec 产品设计文档>>
--设计
() --> <<XX for Android design 设计文档>>
--开发
()AndroidManifest设置:debugable/launchModel/task/minSDK/...
()欢迎界面与初始化检测:手机卡/网络/SD卡(IMEI/IMSI/ACTIVE NETWORK/WIFI/SDCard)
()注册/登录界面与动画(frame animation)、数据存储(DB & Share Proferences)、网络(TCP/CP & HTTP)
()主界面与TAB设计(TabHost & TabWidget)
()更换皮肤等主题(Theme)
()呼叫小窗口(Custom Dialog)
()工具条(Menu layout & onClick)
()两级聊天室列表(GroupList & ChildView)
()电话簿(Contact v1.0 & Contact v2.0)
()资料设置(Radio & EditView & CheckBox)
()消息表情(GridView & SpanningString)
()软件运转到后台,在状态栏显示软件图标(Statusbar)
()软件更新--HTTP检测接口;XML数据格式解析;多线程下载;软件覆盖安装(XML Parser & MultiThread)
()手机号码绑定与短信监控器(SMS Observer)
()捕获按键:HOME/BACK/SEARCH,on ACTIVITY & DIALOG,后退键可以通过onKeyDown捕获;搜索键可以通过onDispathEvent获悉,其会dismiss对话框
()相机的本地预览竖屏窗口,默认只支持横屏预览(Camera Preview)
()聊天与消息机制(listener/Callback/Intent/Handler Message/Thread Message)
()JNI & AIDL
()自定义组件(Activity/Button/Dialog/ListView/In-Out)
()OpenGL & 3D
()
--测试 --> <<XX for Android v0.X.X 测试报告>>
()Eclipse Debug(USB / Serial port)
()模拟发送短信和电话呼入(ddms / command)
()抓日志与截屏(adb & ddms & logcat)
()
--发布 --> <<XX for Android Deploy 部署文档>>
()MD5等编码
()软件源代码混淆
()ANT脚本
()
XX for Android Design 设计文档
[ Android平台XX视频聊天/XX for Android]
日期: 2010.07.20.
编写: 徐建祥
网址:http://www.anymobile.org
修改记录:
2010-07-20 徐建祥
2010-08-06 徐建祥
目 录
1. 项目概述
1.1. 功能介绍
1.2. 开发环境
1.3. 运行环境
1.4. 名词解释
2. 系统架构
3. 模块设计
3.1. Android消息通讯
3.1.1. Intent意图
3.1.2. Broadcast Receiver广播接受者
3.1.3. Thread Message线程消息
3.1.4. callback机制
3.1.5. Observer观察者模式
3.1.6. Listener监听器
3.2. AV引擎库
3.3. 协议库
4. 体系结构
5. 流程设计
5.1. 注册
5.2. 登录
5.3. 注销
5.4. 点对点聊天
5.4.1. 发送文字聊天数据
5.4.2. 接受文字聊天数据
5.4.3. 发送音视频聊天数据
5.4.4. 接受音视频多媒体数据
5.4.5. 主动关闭聊天
5.4.6. 对方关闭聊天
5.5. 短信邀请视频聊天
5.6. 聊天室聊天
5.7. 聊天室转点对点聊天
5.7.1. 主动邀请聊友聊天
5.7.2. 接受聊友聊天邀请
5.8. WAP用户以及TCP代理服务器
6. 接口设计
6.1. JNI
6.2. PTS
6.3. AV Engine
7. 数据存储
7.1. Shared Preferences
7.2. SQLite Database
8. 移植相关
8.1. io输入输出相关
8.2. os操作系统相关
8.3. timer定时器
8.4. socket网络
8.5. log日志
参考文档
1. 项目概述
1.1.功能介绍
XX视频聊天手机,在2.5G网络上实现手机视频互动,让广大手机用户享受到3G功能。实现全球互通,无需漫游费,使得通讯费用大为降低;此外,也支持手机对PC的双向视频聊天,从而使人们可以随时、随地“见面”,让世界变的更小。
XX for Android是视频聊天软件XX的Android版本,实现了手机用户与艾米聊友或通讯录好友点对点视频、语音、文字聊天,另外用户可以使用视频、语音、文字聊天室功能。
1.2.开发环境
Windows XP + Cygwin / Ubuntu 10.3
JAVA:
IDE: JDK 1.5 + Eclipse3.5 + ADT0.9.6 + CDT 1.0.0
SDK: Android SDK
NDK: Android-NDK-r3
C/C++:
C库: BSD C库精简版 bionic
1.3.运行环境
Android平台1.5及以上固件版本
1.4.名词解释
【Android】OHA组织开发的,包括操作系统、中间件和核心应用的移动设备软件集合。
2.系统架构
主要包括4个模块层次:UI交互层;JNI接口层;核心应用层,以及系统适配层。
(图略)
UI交互层:
主要实现了人机交互界面,以及一些框架类等,通过不同的场景完成产品功能,每个场景可以包含多个界面,每个场景可以处理特定的通知消息。
JNI接口层:
衔接Java与C/C++代码层,是UI交互层与PTS协议模块和AV引擎交互的枢纽,提供自上而下的正向调用,以及自下而上的callback调用机制。
系统适配层:
提供系统平台相关的wrapper实现,如io、os、timer、socket等。
核心应用层:
移植的核心库,包括协议库和AV引擎库。