摘要:随着当代移动互联网的持续深入发展,移动智能终端得到了广泛的普及. 在操作系统中,老牌的塞班、黑莓等逐渐被淘汰淡出视线,而Google推出的Android则从众多操作系统中脱颖而出,占据市场上绝对的优势.
而谈到智能手机中的应用软件,微信、WhatApp、SnapChat等为首的即时通信软件又是当下炙手可热、普及率极高的“领头羊”应用产品.
本文从Android操作系统与微信的现状切入,在最前期层面介绍了Android的四层系统架构及介绍了在Windows操作系统下进行开发环境的搭建的具体操作流程.
随后通过界面的功能分类入手,列举并分析了微信的主要功能,并根据列举出的功能深入展开先通过“登陆”、“退出”和“收发信息”三个状态的网络传输详解了微信网络传输原理. 微信是采用HTTP协议传输,body包全部采用AES随机密钥加密传输,收发的原理则是基于HTTP协议和服务器之间的数据包交互.
另一方面本文讲述了微信的后台架构是由接入服务器、逻辑服务器、存储服务器、监控服务器、异步队列服务器与推送服务器构成的,本文着重描述了逻辑与监控部分的工作. 在容灾系统方面,微信采用SET模式+双写来应对未知危机的产生.
在微信功能的设计与实现上,先通过C/S系统结构从底到面分别进行了数据库,逻辑接口与表现层的设计,再通过注册、登陆、好友管理,消息收发,扫一扫和摇一摇六个方面分别完成了客户端功能模块的设计. 最后结合部分代码阐述界面UI设计.
完成上述内容后,通过应用程序的测试展示了软件的最终成果.
关键词:Android;即时通信;微信;网络传输;系统结构
目录
摘要
ABSTRACT
第1章 绪论-1
1. 1 研究背景-1
1. 1. 1 Android的发展现状-1
1. 1. 2 微信的发展现状-1
1. 2 本文的研究内容-2
1. 3 文章结构-2
第2章 Android的系统架构分析与开发环境的搭建-3
2. 1 Android的系统架构分析-3
2. 1. 1 应用程序层-3
2. 1. 2 应用程序框架层-3
2. 1. 3 系统运行库层-4
2. 1. 4 Linux内核-4
2. 2 开发环境的搭建-4
2. 3 Android应用目录结构-5
2. 4 本章小结-6
第3章 Android微信的应用功能原理-7
3. 1 微信的界面功能介绍-7
3. 1. 1 Chats-7
3. 1. 2 Contacts-8
3. 1. 3 Discover-8
3. 1. 4 Setting-8
3. 2 微信的网络传输原理-9
3. 2. 1 登陆-9
3. 2. 2 退出应用-10
3. 2. 3 发消息-10
3. 3 微信的系统结构-11
3. 3. 1 逻辑服务器分离部署-12
3. 3. 2 监控-13
3. 4 微信的容灾模式-13
3. 5 本章小结-14
第4章 微信的设计与实现-15
4. 1 系统结构设计-15
4. 1. 1 数据库设计-16
4. 1. 2 逻辑接口的设计-19
4. 1. 3 表现层设计-20
4. 2 客户端功能模块的设计-21
4. 2. 1 注册-21
4. 2. 2 登陆-22
4. 2. 3 好友管理-23
4. 2. 4 消息发送与接收-24
4. 2. 5 扫一扫-25
4. 2. 6 摇一摇-27
4. 3 UI的实现-27
4. 3. 1 载入界面-28
4. 3. 2 欢迎界面-28
4. 3. 3 登陆界面-31
4. 4 本章小结-33
第5章 程序测试-35
第6章 总结与展望-39
参考文献-41
致谢-42