基于Android平台的主动消息推送服务系统设计与实现毕业论文
2021-05-13 23:00:24
摘 要
近年来随着互联网的普及以及手机的智能化等,网络已经成为了我们现代生活中不可或缺的一部分,各式各样的网络服务层出不穷并不断地发展壮大,为日常生活带来不少便捷。因此网络平台针对于广告、天气等信息推送的技术也迅速发展了起来。由于这种技术的应用与推广,既给网络运营商带来了丰厚的利润,也提高了广告客户的知名度,因此受到了广大企业的亲睐。
目前,智能手机已经随处可见。现有的智能手机的操作系统当前分别有以下这样的五种: google公司所研发出来的android系统、苹果公司所持有开发的ios操作系统、还有微软的windows系统和blackberry系统。由于安卓系统是操作系统的鼻祖,而且相对于其他的操作系统其操作运用相对简单,且只需要学会java语言便可在其操作平台上进行编程,从而实现想要的功能,因此安卓系统快速的占据了全球智能手机市场的一半以上。再加上google推行出的手机联盟,进一步加快了安卓系统和java语言占领智能手机市场的速度,并使其不断地发展强大。Java语言是由美国知名的互联网公司sun公司研发出的可跨平台且可移植性高的一种面向对象的编程语言。它强大的可跨平台性使它能够允许在任何系统,甚至在手持电话、商务助理等电子产品中都可以运行。
本文将论述如何运用java语言从而在安卓系统的手机上实现信息推送这一功能。推送(push)技术相对于拉取(pull)来说,服务端会自动将要推送的信息发送给推送对象,而不是用户不断的刷新界面来更新显示的内容。通过运用这一优点为公司里的消息传递,就可以极大地节省时间、劳动力,更提高了消息推送的准确性。极富有实用的价值,有很大的发展的空间。
关键字:android、java、信息推送
Abstract
In recent years, with the popularity of the Internet and mobile phone intelligent, the network has become the part of an integral part of our modern life, all kinds of network services emerge in an endless stream and continue to develop and grow, to everyday life brought many convenient. So network platform needle for advertising, weather and other information push technology is also developing rapidly. Due to the application and popularization of this technique, both network operators to bring huge profits, but also improve the advertiser's popularity, it has been favored by the majority of enterprises.
At present, the intelligent mobile phone has been everywhere. The intelligent mobile phone operating system existing at present mainly in the following five kinds: Android Google system developed by the company's IOS operating system, held by the Apple Corp, Microsoft windows and Android BlackBerry system. Because the system is the originator of the operating system, and compared with other operating system, its operation using relative simple, and only need to learn java language can be programmed in the operating platform, in order to achieve the desired function, so Android system quickly occupied the global intelligent mobile phone market deodorants. Coupled with the implementation of the Google mobile phone alliance, to further accelerate the Android system and Java language intelligent mobile phone market occupation rate. The development of powerful.Java language is constantly introducing a object-oriented programming language cross platform and high portability by Sun company. It Strong cross platform allows it to be allowed in any system, and even in the hand-held telephone, business assistant and other electronic products can be run.
In this paper, we will discuss how to use java language to Android mobile phone realizing information push send this function. Push (push technology is relatively Yuvraj take (pull), the server will automatically be to push the information sent to push objects, and users are not constantly refresh interface to update the content to display. Through the use of this advantage for the transmission of messages in the company, you can save a lot of time, labor, raising the accuracy of push messages. Highly practical value, have very big development space.
Key Words:android;java;push tech
目 录
第1章 引言 1
1.1 Push技术 1
1.2 Push技术的特性 2
1.3 国内外技术的对比 2
第2章 相关技术与开发工具 4
2.1 Android平台 4
2.1.1 Android操作系统概述 4
2.1.2 Android OS结构 4
2.1.3 Android应用程序的构成 6
2.2 Apache Mina网络应用框架 6
2.2.1 体系结构 6
2.2.2 主要接口 8
2.2.3 框架的应用 9
2.3 本章小结 10
第3章 基于移动平台的推送技术研究 11
3.1 移动推送的常用技术 11
3.1.1 客户端的轮询(Polling) 11
3.1.2 客户端TCP/IP长连接的保持 11
3.1.3 WAP PUSH 12
3.1.4 BlackBerry Push Mail 12
3.1.5 Apple Push Notification Service(APNS) 13
3.1.6 Android Cloud to Device Messaging(C2DM) 14
3.2 现有移动推送技术方案比较 15
3.3 Android的自定义推送服务 15
第4章 推送服务系统的设计与优化 17
4.1 系统综述 17
4.2 系统架构及设计 17
4.2.1 服务器端的设计 18
4.2.2 客户端设计 20
4.3 网络交互协议设计 23
4.3.1 利用基于Apache Mina的XMPP协议 24
4.3.2 利用Apache Mina框架开发自定义协议 24
4.4 推送系统测试 25
第5章 总结及体会 34
致 谢 36
第1章 引言
1.1 Push技术
基于服务器的,并且能主动的把消息发送到客户端,实现这样功能的技术就是推送(Push)技术。它与之前的第二代浏览器技术所实现的服务进行对比,用户与数据之间的关系成为了它们中的最大不同之处。消息拉取是浏览器最主要的技术,即在拉取技术的影响下为使用者查找需要的消息,而push却是在推的技术作用下,使消息找寻使用者。它的长处为推送消息时的主动性以及推送消息时的及时性,能在任何时间及时的把消息推送至使用者的接受消息端。
实现以上过程时,消息推送系统把服务器已经挑选过的数据有针对地传送给目标使用者也就是用户,这个过程实现的步骤为:
第一步,先由用户将挑选自己所喜爱的关注点的信息,比如会收到什么样的信息以及在什么时间收到推送消息等等;
下一步,服务器端将会依据用户的个人喜好对信息来进行一系列的挑选,其后生成多个准备推送的消息同时告知用户来对信息进行获取,有两种机制可以用来传输消息:其一是服务器将信息的全部通过直接发送的方式推送到目标使用者的使用终端上,另一个则是仅将要推送的消息的链接或是目录推送到目标用户的使用终端上,此时使用者将自己判断访问信息与否。
在网络时代,用户信息的准确以及可靠性往往比及时性更为重要,所以使用这种方式来进行消息的推送的应用范围变得更加广阔。然而相对比于传统的PC对网络进行访问的方法,移动终端有了极大的改进,其特点为以下几个方面:
- 电池续航的能力一般,其间消耗的能量比较大。
- 网络流量的费用较多:国内网络流量的费用十分高,并且比小区的宽带费用多了很多,同时在国内wifi的覆盖普及率还需要一段时间来提高。
- 网络宽带的普遍率较低,并且其稳定性比较低。
- 终端的设备较小,信息录入不太方便。
所以移动终端在技术方面的需求更加强烈。每日新闻消息、天气预报、股市行情、软件及系统的升级提醒、好友的动态消息以及电子邮件内容等等都可以包含在移动通信领域的Push。目前推送技术得到了更多的应用和终端平台的重视以及深入了解,推送也慢慢被大家所周知,并且国内和国外的许多开发商以及相关应用的开发人员都在促进并且推动着智能移动终端上的推送服务的使用。
1.2 Push技术的特性
Push技术有着以下几个特性。
- 主动性
在用户选择了自己所感兴趣的信息之后,只要服务器端出现了这样的消息,服务器便立刻将消息送达至用户,并不是让使用者访问服务器来对信息进行获取。
(2)个性化
push服务极大化的提供了用户对于个性化的追求,根据的用户喜好,将会自动的筛选出使用者可能感兴趣的消息及其内容,这样的方式大大的节约了用户用来搜索和查找消息的时间,在这期间缩小了在浏览过程中流量的使用量。
- 集成化
Push服务的集成化是指服务器能依据用户的喜好把各种各样的数据做整理及分析动作,同时集中在特定的喜好频道上为用户提供一系列的服务。
(4)易获性
确定使用者的消息喜好后,用户自己所喜好的推送消息便会自动的进行接收,这种方法大大的节省了使用者的时间和资源。
(5)智能化
Push技术的智能化表现为,使用服务器端来进行一系列的操作,通过这样的方法来对搜寻信息的范围和深度进行有效掌控,以达到挑选出用户所需要的信息的目的。
1.3 国内外技术的对比
在许多发达的国家已经有相关的公司来提供推送技术服务,这些公司中相对于比较成熟的一家公司就是Urban Airship 。Urban Airship 的推送技术服务面世的时间比较早且取得了较大的成功。甚者 Oracle、Amazon、Intel、Salesforce 等的这些大型公司也使用了它的服务。他们的推送技术为了尽力达到现在的Web的效果,不仅在App有很广的覆盖,并且一般的网站也使用了推送。
2012 年国内,极光的推送正式公开发布后,广大开发者了解到有很容易集成起来的第三方推送服务。