搜档网
当前位置:搜档网 › 毕业设计_基于Android平台的即时通讯系统的研究与设计

毕业设计_基于Android平台的即时通讯系统的研究与设计

毕业设计_基于Android平台的即时通讯系统的研究与设计
毕业设计_基于Android平台的即时通讯系统的研究与设计

本科毕业设计(论文)

基于Android平台的

即时通讯系统的研究与设计

学院自动化学院

专业网络工程

(网络与信息化方向)

年级班别2009级(2)班

学号3109001332

学生姓名张京

指导教师郑日荣

2013 年5 月

基于A n d r o I d 平台的即时通讯系统的研究与设计

张京

自动化学院

摘要

随着Android系统的发展,越来越多的移动设备开始使用Android作为操作系统。Android系统内核基于Linux而来,应用层则使用基于Java代码的Dalvik虚拟机,因此Android代码的主要编程语言是Java。

即时通讯(Instant Messenger,简称IM),指基于互联网的即时交流信息的业务。即时通讯是当今互联网用户主要通讯方式之一,能够为互联网用户带来直观、便捷的信息交换服务。蓝牙,一种支持设备短距离通信的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。

本文主要对Android系统、蓝牙协议进行研究,通过分析Android的一个蓝牙即时通讯实例,达到基于Android即时通讯系统的研究目的。在这些研究的基础上,设计出能够实现Android系统上基于蓝牙、能够进行文件发送的即时通讯软件。

首先,本文分析Android系统的框架以及功能特征,讲述了Android系统的基本运作方式。其次,讲述了在Android系统上如何使用蓝牙协议,研究了Android系统上的蓝牙工作方式以及关键代码。最后,分析蓝牙的工作实例,在此基础上在Eclipse 开发出能够实现即时通讯的Android实例,并且能够传送文件。

关键词:即时通讯;蓝牙;Android

Abstract

With the development of the Android system,more and more mobile devices start using Android as the operating system. Android system is based on the Linux kernel and the application layer is using Java-based code Dalvik virtual machine, therefore, the major programming language of Android system is Java.

Instant Messenger (Abbreviated IM), refers to Internet-based real-time information exchange service. IM is the main way to communicate of Internet users; one can provide Internet users with an intuitive and convenient information exchange service. Bluetooth, one that supports short-range communication device radio technology, can include mobile phone, PDA, wireless headsets, laptop computers, related peripherals and other wireless information exchange between devices.

This paper mainly research on the Android system and the Bluetooth protocol, by analyzing of a Bluetooth Android IM instance, to achieve the purpose of researching Android-based instant messaging system. Design an Android system based on Bluetooth, with the capable of instant messaging and file sending.

Firstly,this paper analyzes framework and functional characteristics of Android system, and tells the basic operation of Android system. Secondly, Using Bluetooth protocol on the Android system and tells some key-codes. Finally, design an IM program through Eclipse based on the analysis of Bluetooth working examples which have the ability to transfer files.

Keywords: Instant Messaging; Bluetooth; Android

目录

摘要 ...................................................................................................................................... I ABSTRACT .......................................................................................................................... II 1绪论 (1)

1.1 关于ANDROID系统的背景以及研究目的 (1)

1.2 国内外研究状况 (1)

1.3 通过GOOGLE Android SDK以及ECLIPSE进行开发 (2)

1.4 本论文研究的目的及意义 (3)

1.5 本论文主要结构 (3)

2A NDROID系统的研究与设计 (5)

2.1 Android系统的功能特征 (5)

2.2 Android系统的编程环境的搭建 (6)

2.3 Android系统的架构 (7)

2.3.1 Android操作系统 (7)

2.3.2 Android应用程序 (9)

2.4 Android程序开发 (10)

2.4.1 Android用户界面(UI) (10)

2.4.2 Android 控制层开发 (11)

2.4.3 Android任务和进程/线程模型 (13)

2.4.4 Android 持久层开发 (14)

2.5 Bluetooth (14)

2.5.1 Bluetooth 简介 (14)

2.5.2 Bluetooth有关基本概念 (16)

2.5.3如何在Android系统中操作Bluetooth (22)

3程序主要架构与模块 (26)

3.1 需求分析 (26)

3.1.1引言 (26)

3.1.2系统功能 (26)

3.1.3设计分析 (27)

3.1.4运行环境说明 (28)

3.2程序主要架构以及流程 (29)

3.2.1 BluetoothChat 例程分析 (29)

3.2.2 Bluetooth模块 (31)

3.2.3 文件读取以及存储模块 (38)

4程序的调试与结果 (41)

4.1虚拟机的搭建以及使用 (41)

4.2 ADB调试 (43)

4.3 DEBUG调试 (44)

4.4 运行结果 (45)

总结 (48)

参考文献 (50)

致谢 (51)

1 绪论

1.1 关于Android系统的背景以及研究目的

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android[2]。

蓝牙协议Bluetooth。蓝牙是一种短距离的无线通信技术,它最初提出的是用来取代电缆连线,也可以用于各种移动设备的互联,组建个人无线局域网[4],蓝牙无线通信技术的主要特点[5]有:低成本、低功率;短标称的蓝牙无线通信距离,以节省电池能量;永外加的功率放大器扩展的无线通信距离;在全球可用并且无限制的2.4GHZ ISM(工业、科学、医疗)频段内。

随着,人们对于即时通讯的需求越来越多样化,产生了各种各样不同用途的协议。即时通讯(Instant Messenger,简称IM),是指能够即时发送和接收互联网消息等的业务。自1998年面世以来,特别是近几年的迅速发展,即时通讯的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通讯不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连往即时通讯网络的服务。即时通讯不同于e-mail在于它的交谈是即时的。大部分的即时通讯服务提供了状态信息的特性——显示联络人名单,联络人是否在在线与能否与联络人交谈[3]。

在这样的背景之下,发展Android系统上的即时通讯软件已经成为一个非常主流性的问题,如何实现,以及如何提供更加优质的服务将会是Android开发的一个非常重要的问题。

1.2 国内外研究状况

目前Android最新的版本是4.2 JellyBean,中文名是“果冻豆”,该系统是Android 4.0.x Ice Cream Sandwich "(冰激凌三明治)" 的升级版, Android 5.0的代号将是"Key

Lime Pie(酸橙派)"。在今年的2013 Google I/O 大会上,从Google Play到Map、Game API,再到Android Studio开发工具,Android在移动端的全面系统升级,这也让Android 之前和iOS相对较弱的部分全面追上。

Android发行的版本:Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:阿童木(AndroidBeta)

发条机器人(Android 1.0),2008年9月发布。

纸杯蛋糕(Android 1.5)Cupcake,2009年4月30日发布。

甜甜圈(Android 1.6)Donut,2009年9月15日发布。

松饼(Android 2.0/2.1)éclair,2009年10月26日发布。

冻酸奶(Android 2.2)Froyo,2010年5月20日发布。

姜饼(Android 2.3)Gingerbread,2010年12月7日发布。

蜂巢(Android 3.0)Honeycomb,2011年2月2日发布。

冰激凌三明治(Android 4.0)Ice Cream Sandwich,2011年10月19日在香港发布。

果冻豆(Jelly Bean,Android4.1和Android 4.2)Jelly Bean,2012年6月28日发布,Android 4.2 Jelly Bean:2012年10月30日发布。

对于基于Android系统的即时通讯软件,国内比较著名的软件有QQ(Android 版)、微信。国外比较著名的有MSN、LINE ME等等。

1.3 通过GOOGLE Android SDK以及ECLIPSE进行开发

早期的Android应用程序开发中,通常通过在Android SDK(Android软件开发包)中使用Java作为编程语言来开发应用程序。开发者亦可以通过在Android NDK (Android Native开发包)中使用C语言或者C++语言来作为编程语言开发应用程序。同时Google还推出了适合初学者编程使用的Simple语言,该语言类似微软公司的Visual Basic语言。此外,Google还推出了Google App Inventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。Eclipse 的插件机制是轻型软件组件化架构。在客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言[6]。

1.4 本论文研究的目的及意义

早期的即时通讯是属于Unix用户的专利,随着个人电脑与互联网的普及,即时通讯成为人与人沟通的另一条管道。

即时通讯在2003年后与万维网、电子邮件共同成为互联网使用的主流。

2007年之后,由于智能手机普遍流行起来。传统上电信运营商所建构SMS、MMS 信息服务系统,逐渐被以网络架构的第三方服务商所瓜分移动设备的加值营收。

而对于Android系统,这方面的发展有5年,相比起其他平台的发展已经短了很多,而对于这种新兴的移动设备系统,有更加多的信息可以利用,例如GPS信息、照片信息,手机联系人信息等等。这些开发能够使移动设备之间的通讯更加人性化、更加便利,有利于提高通讯效率。

即时通讯除了能加强网络之间的信息沟通外,最主要的是可以将网站信息与聊天用户直接联紧在一起。通过网站信息向聊天用户群及时群发送,可以迅速吸引聊天用户群对网站的关注,从而加强网站的访问率与回头率;

即时通信利用的是互联网线路,通过文字、语音、视频、文件的信息交流与互动,有效节省了沟通双方的时间与经济成本;

即时通信系统不但成为人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台。

1.5 本论文主要结构

本文章主要分为5个部分:绪论、Android系统的研究与设计、程序主要架构与模块、程序的调试、程序运行结果。

1、绪论

本章主要介绍Android系统、Bluetooth的背景以及开发现状,以及本系统的设计意义。

2、Android系统的研究与设计

本章主要介绍Android系统的框架与特征,介绍Android系统的运作方式与特征函数,以及蓝牙的术语定义以及Android中如何运用蓝牙。

3、程序主要架构与模块

本章主要介绍程序的需求分析,介绍系统的逻辑运行流程,介绍实例关键代码。

4、程序的调试以及运行结果

本章主要介绍Eclipse中如何调试及其过程,以及程序的运行结果。

2 Android系统的研究与设计

2.1 Android系统的功能特征

1、应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。

2、Dalvik虚拟机器:在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。

3、集成的浏览器:集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发成的。WedKit是一个开源浏览器网页排版引擎,目前使用WebKit 引擎的浏览器主要有:Safari,Midori,Epiphany等。配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。

4、优化的绘图能力:在程序里可以用到的绘图功能分为2D与3D两个方面。在2D方面,Android提供了一套特有的类库,而在3D方面则是使用OpenGL ES1.0(openGL for Embedded systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。

5、SQLite数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

6、多媒体的支持能力:主要用于播放媒体文件。这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:URI即是统一资源识别地址)模式—在网络上直接播放的流媒体。另外支持

各种通用的静态图像格式,如JPG、PNG、GIF等格式。

7、GSM技术:Global System for Mobile Communications,即全球移动通讯系统,俗称“全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

8、蓝牙:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。Wi-Fi(Wireless Fidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.lla和IEEE802.11b。这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

9、GPS: Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人。同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。

2.2 Android系统的编程环境的搭建

所需开发环境:JDK 5或者JDK 6 (仅有JRE不够) 、Eclipse 3.5 (galileo)。

下载用于在Eclipse 开发android应用的ADT 插件,在企业开发中,很多程序员使用Eclipse IDE作为应用的开发环境。为了使得Android应用的创建,运行和调试更加方便快捷。Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)

安装Eclipse 插件(ADT),启动Eclipse,选择Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,然后点击

Archive...,浏览和选择已经下载的ADT插件压缩文件。点击OK.。返回可用软件的视图,会看到这个插件,然后选择Developer Tools (会选中下面的“Android Developer Tools”和“Android Editors””),点击Next,最后重启Eclipse。

下载安装Android SDK:Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。下载完SDK后,把.zip文件解压到电脑上合适位置。启动Eclipse,选择window->preferences,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。

在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:AndroidDevelopandroid-sdk-windows ools)。

新建一个新的项目[7]:通过File -> New -> Project菜单,建立新项目"Android Project"然后填写必要的参数,(注意这里我勾选的是Google APIs,可以选喜欢的,但要创建相应的A VD),相关参数的说明:

Project Name: 包含这个项目的文件夹的名称。

Package Name: 包名,遵循JA V A规范,用包名来区分不同的类是很重要的,我用的是helloworld.test。 Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程序和控制程序的类。它可以根据需要创建界面,但不是必须的。 Application Name: 一个易读的标题在的应用程序上。

在"选择栏"的 "Use default location" 选项,允许选择一个已存在的项目。点击Finish后,点击Eclipse的Run菜单选择Run Configurations…

选择“Android Application”,点击在左上角(按钮像一张纸上有个“+”号)或者双击“Android Application”,有个新的选项“New_configuration”(可以改为我们喜欢的名字)。在右侧Android面板中点击Browse,选择HelloWorld

2.3 Android系统的架构

2.3.1 Android操作系统

第一层:Linux操作系统和驱动(Linux kernel):由C语言实现。Android核心系统服务依赖于Linux2.6内核,包括:安全性、内存管理、进程管理、网络协议、驱动模型。Linux内核也作为硬件和软件栈之间的抽象层。除了标准的Linux内核外,

Android还增加了内核的驱动程序:Binder(IPC)驱动、显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理。

第二层:本地框架和Java运行环境(LIBRARIES 和ANDROID RUNTIME)本地框架是有C/C++实现。包含C/C++库,被Android系统中不同组件使用,它们通过Android应用程序框架为开发者进行服务。系统C库:(libc)从BSD继承过来的标准的C系统函数库,专门是为基于嵌入式Linux的设备定制的库。多媒体库:基于PackerVideo的OpenCore;该库支持多种常用的音频、视频格式回放和录制,支持多种媒体格式的编和解码格式。Suface Manager:显示子系统管理器,并且为多个应用程序提供2D和3D图层的无缝融合。LibWebCore:一个最新的Web浏览器引擎,支持Android浏览器,以及一个可嵌入式的Web视图。SGL:Skia图形库,底层的2D 图形引擎。

3D libraries:基于OpenGL ES1.0 API的实现;该库可以使用硬件3D加速(如果可用),或者使用高度优化的3D软加速。FreeType:位图(bitmap)和矢量(vector)字体显示。

Android运行环境(ANDROID RUNTIME):提供了Java编程语言核心库的大多数功能,由Dalvik Java虚拟机和基础的Java类库组成。Dalvik是Android中使用的Java 虚拟机,每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik 虚拟机实例。Dalvik被设计成一个可以同时高效运行多个虚拟机实例的虚拟系统。执行后缀名为.dex的Dalvik可执行文件,该格式的文件针对小内存使用做出了优化。同时虚拟机是基于寄存器的,所有的类都是有Java编译器编译,然后通过SDK中的“dx”工具转化为.dex格式由虚拟机执行。Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。

第三层:Android应用框架(ANDROID FRAMEWORK): 在Android系统中,开发人员也可以完全访问核心应用程序所使用的API框架。包含的框架入上图(不在陈述)

第四层:Android应用程序(APPLICATIONS) Android应用程序都是有Java语言编写的。用户开发的Android应用程序和Android的核心应用程序是同一层次的,它们都是基于Android的系统API构建的。

图2.1 Android系统架构图

2.3.2 Android应用程序

src/ java原代码存放目录

gen/ 自动生成目录

gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据res目录的xml界面文件、图标与常量,同步更新修改R.java文件。因为R.java文件是由开发工具自动生成的,应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。[8] res/ 资源(Resource)目录:

在这个目录中可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。

assets资源目录:

Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp

AndroidManifest.xml 项目清单文件:

这个文件列出了应用程序所提供的功能,以后开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),还需在该文件中声明使用权限。

default.properties 项目环境信息,一般是不需要修改此文件。

2.4 Android程序开发

2.4.1 Android用户界面(UI)

对于一个Android手机应用来说,一个好看有简介的界面,是相当重要的。技能提高使用者的体验,又能保证应用的搞笑执行。Android SDK已经为用户提供了一套完善的界面设计功能,有丰富的组件供我们使用,如果还不能满足我们的界面需求,还可以对它们进行扩展。为了达到这样的目标,就要对Android SDK中提供的界面生成技术进行全面深入的学习,做到应用自如。Android实现用户界面的基本知识,包括构建屏幕的基本组件,怎样使用XML定义屏幕并把它加载到代码中、以及需要为用户界面处理的各种任务。[9]

我们写任何一段程序,都是需要有UI的,因为程序最终是给用户去用的,即使写了一个工具,没有任何显示输入、输出,也还是需要暴露不要的方法来提供别人使用,在此情景下,这些方法似乎也可以看作是UI。对于Android开发来说,用户界面的视线是比较重要的和复杂的一环,如果有HTML设计经验,或者说有Swing、Flash等图形设计经验,那么理解Android的UI设计会容易得多,甚至会有似曾相识的感觉。

图2.2 用户界面的树形结构

对于一个Android应用来说,android.app.Activity类实例是一个最基本的功能单元。一个Activity实例可以做很多事情,但它本身无法显示在屏幕上,而是借助于视图组(ViewGroup)和视图(View),这两个才是Android平台上最基本的用户界面表达单元。

2.4.2 Android 控制层开发

Android控制层包括:Activity、Intent & Intent Filter、Broadcast Receiver、Service、NotificationManager、AlarmManager。

Activity是Android最基本的应用程序组件。在应用程序中,一个Activity通常就是一个单独的屏幕,用于呈现数据和与用户进行交互,每个屏幕可以有1个或者多个组件布局。几乎所有的Activity都要和用户打交道,所以Activity类创建了一个窗口,开发人员可以通过setContentView(View)方法吧UI防盗Activity创建的窗口中。尽管Activity经常被用来当作全屏窗口使用,但也可以通过其他方式来使用,比如作为浮动窗口(通过设置代windowsFloating标签的主体),或者嵌入到其他的Activity (通过ActivityGroup)中。Activity类是Android应用生命周期的重要部分,而且,Activity的启动方式及Activity间的调度关系是Android平台应用模型的一个重要组成部分。

在Android系统中,Activity被一个Activity栈所管理,当一个新的Activity启动时,其被放置到栈顶,成为运行中的Activity,前一个Activity则被保存在栈中,不

再放到前台,知道新的Activity退出为止。我们可以通过回退操作回到以前打开过的

Activity,也可以选择性地移除一些没有必要保留在Activity栈中的Activity。

Broadcast Receiver是一个专门用来接收广播通知消息,并做出相应处理的组件。很多广播是源自于系统本身的——比如,通知时区改变、电池电量低、拍摄照片、来电、发短信或者用户改变了语言环境等。应用程序也可以进行广播——比如说,通知其他应用程序下载完成并处于可用状态。

Service:服务没有可视化的用户界面,而是一段时间内在后台运行。比如,一个服务可以在用户做其他事情的时候在后台播放背景音乐,从网络上获取或者计算一些数据提供给需要这个运算结果的Activity使用。每个服务都继承自Service基类。媒体播放器播放列表中的曲目是一个经典例子。播放器应用程序可能有1个或多个Activity来给用户选择歌曲并进行播放。然而,音乐播放这个任务本身不应该为任何Activity所处理,因为用户期望在做别的事情时,音乐仍在继续播放。为打到这个目的,媒体播放器Activity应该启用一个运行于后台的服务,系统在这个Activity不再可见时,仍维持音乐播放服务运行。用户可以连接(或者叫绑定)一个正在运行的服务(如果服务没有运行,则启动之)。连接之后,可以通过服务器提供的借口与服务器进行通讯。对于音乐服务来说,这个借口可以允许用户暂停、回退、停止、以及重新开始播放等。如同Activity和其他组件一样,服务运行于应用程序进程的主线程内,所以不会对其他组件或用户界面有任何干扰。服务一般会派生一个新的线程来进行一些耗时的任务(比如音乐回放)。

Android系统使用类NotificationManager来通知用户后台所发生的事情。实例必须使用方法Context.getSystemService(NOTIFIVCATION_SERVICE)来获得,而不能直接对NotificationManager进行实例化。AlarmManager经常结合Service来使用,用来显示后台Service的运行状态等。

一个Android应用主要由4中组件组成:Activity、Service、BroadcastReceiver 以及ContentProvider,这四种组件是独立的,他们之间可以互相调用、协调工作,最终组成一个完整的Android应用。其中,Activity、Service、BroadcastReceiver组件之间的通信,主要是由Intent来协助完成的。Intent负责对应用中操作的动作、动作涉及数据及附加数据进行描述,Android则根据此Intent的描述,找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent也可以通过广播的形式,来描述并广播某些已经发生的时间。因此,Intent在这里起到一个媒体中介的作用,专门

提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。

Android控制层最重要的机制是Intent。围绕着Intent,可以协调Activity、Service、BroadcastReceiver之间的通信,并可以使用NotificationManager和AlermManger通知UI和用户底层时间的发生。所有的组件在manifest文件中配置,通过代码为组件添加逻辑处理,降低了组件和逻辑处理之间的耦合性,体现了翻转控制的优势(IoC)。

2.4.3 Android任务和进程/线程模型

一个Activity可以启动另外一个Activity,甚至可以启动与他不处于同一应用程序的Activity。举个例子来说,假设想让用户看到某个地方的接到地图,并且已经存在了一个具有此功能的Activity,那么Activity所需要做的工作就是把请求信息放到一个Intent对象里,并把它传递给startActivity()。于是,地图浏览器就会显示那个地图,而且用户按下BACK键的时候,Activity又会再一次显示在屏幕上。

对于用户来说,这看起来就像是地图浏览器,是的Activity所在的应用程序的一个组成部分,其实它是在另外一个应用程序中定义的,并运行在那个应用程序的进程中。Android是将这两个Activity放在同一个任务重来维持一个完整的用户体验的。简单地说,“任务”就是用户所一眼道的“应用程序”。一个Task通常会涵盖多个Activity,而这些Activity可能分别属于不同的Application,因此,属于同一个Task 的Activity通常会在不同的进程里(可能会并行)执行。例如,提个Application会去启动手机里的浏览器去网络上下载歌曲,这个Task就会涵盖apk里的Activity和Browser apk里的Activity。这两个Activity分别在不同的进程里,由不同的UI Thread (可能会并行)执行。Task是安排在一个对战中的一组相关的Activity,对战中的根Activity就是启动了整个任务的那个Activity——一般情况下,它就是用户在应用程序夹在其中所能选择的。堆栈最上方的Activity则是当前运行的用户直接对其进行操作的Activity。当一个Activity启动另外一个Activity的时候,新的Activity就被压入栈顶,并成为当前运行的Activity,而父Activity扔保持在堆栈之中。当用户按下BACK 键的时候,当前Activity出栈,而父Activity恢复为当前运行的Activity。

对战中保存的其实是对象实例,如果发生了诸如需要多个地图浏览器的情况,就会使得一个任务重同时存在多个同一Activity的实例,堆栈会为每个实例单独开辟一个入口。堆栈中的Activity不能重排列,只能压入或弹出。

任务其实就是Activity的堆栈,而不是manifest文件中的一个组件或者元素,所

以用户无法撇开Activity而随意为一个任务设置值。事实上整个任务使用的值是在根Activity中设置的。

任务中的所有Activity事作为一个整体进行移动的。整个任务(即Activity堆栈)可以移到前台或退至后台。举个例子,比如当前任务在堆栈中存有4个Activity——3个处在当前Activity的栈下面。当用户按下HOME 键的时候,回到了应用程序加载器,然后选择了一个新的应用程序(也就是一个新任务),则当前任务遁入后台,而新任务的根Activity显示出来。然后,用户再次回到了应用程序加载器而选择了前一个应用程序(上一个任务)。于是,那个任务带着它堆栈中所有的4个Activity,再一次回到了前台。当用户按下BACK键的时候,屏幕不会显示出用户刚才离开的Activity (上一个任务的根Activity)。取而代之,当前任务的堆栈中最上面的Activity被弹出,而同一任务重之前的那个Activity显示了出来。

2.4.4 Android 持久层开发

Android SDK持久层用于管理数据的读写,主要分为4个功能模块:

SharedPreferences,通过键值二元组存储简单数据,如Activity存储UI状态以保证程序切换不会带来各个程序UI的改变;

文件,存储规模较大的数据;

数据库,内置SQLite数据库,用于存储结构化数据;

ContentProvider,通过定义一组抽象借口,为数据源的封装提供了标准,可用于应用程序之间的数据共享。

2.5 Bluetooth

2.5.1 Bluetooth 简介

蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。[10]

android毕业设计(论文)开题报告

毕业设计(论文) 开题报告 题目___________________________ 学院___________________________ 专业及班级___________________________ 姓名___________________________ 学号___________________________ 指导教师 ___________________________ 日期 ___________________________

西安科技大学毕业设计(论文)开题报告

二、主要研究(设计)内容、研究(设计)思路及工作方法或工作流程 设计内容:基于Android平台下实现理货员的功能:精耕拜访,销售机会,拜访效果,门店销量查询,待办事项,数据维护:队列信息,基础信息,地图下载。 设计思路及工作方法: 1.精耕拜访: (1)初始进入该页面,系统会自动获取该理货员的本日拜访的门店及路线。 (2)下方地图会自动定位目前理货员的位置。 (3)点击门店的具体门店名称,在右边会显示该门店的联系人,电话,及地址,并且地图 会自动切换定位以该门店为中心。 (4)点击地图上的+可实现地图局部放大。-可实现地图的放小。 (5)如已拜访的门店,点击进入可以调去历史拜访数据。如未拜访的门店,点击进入可以新增该拜访记录。 (6)如理货员在拜访期间,发现门店已经有卖而目前系统中无记录的情况,则可以通过扫 描SKU的条形码,系统会自动匹配该SKU的信息给理货员。 匹配顺序:连锁总店—区域管理—基本SKU信息 补充说明: (1)公司动态内容,为了显示保乐力加集团的整体形象,有必要对公司的动态进行展示。 要包括集团的光辉历程,门店信息,集团的促销信息等。 (2)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员 需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且 分发。 (3)陈列报告,为显示每次理货员必须处理的门店信息记录及图片等。 (4)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (5)价格显示,系统会自动带出竞品信息。罗列在下半部。理货员在进行拜访期间,可以对本身的SKU及竞品的价格进行登记。主要登记内容:零售价格,促销价格及促销期间。信息采集完毕,可以供后台进行统计分析。 (7)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (7)库存信息,主要记录SKU的库存数量。 (8)上半部为助销申请内容,主要是对一些礼品的申请。 (9)订单处理,为新增订单,退货内容及换货内容的跟踪。 2.销售机会: (1)打开销售机会界面,会自动定位目前的门店列表。 (2)用户可以输入门店名称查询具体的门店信息及地图位置。

即时通讯工具的异同

即时通讯工具的异同 不同点 腾讯QQ 腾讯是中国最早的互联网即时通信软件开发商,是中国的互联网服务及移动增值服务供应商,并一直致力于即时通信及相关增值业务的服务运营。腾讯QQ已形成为国内用户最多的个人即时通信工具,2004年腾讯QQ推出了2004Beta2新版本,在软件功能上作了较大的改进,它的发展引导着国内即时通讯软件的发展方向。 作为国内即时通讯软件的老大,QQ2004 II Beta2版本增加了多项耳目一新的功能,如魔法表情、影片截图(图14)、多人语音、网络记事本等等。 MSN MSN是微软公司开发的即时聊天工具,由于微软产品用户众多,MSN操作简单运行稳定,因此MSN的普及速度非常之快,现在已经是世界主流的聊天工具,并且功能越来越强大,最近推出了7.0版本。 喜欢写文字的朋友如果拥有MSN的.NET PassPort账号可以去申请MSN最新提供的MSN Spaces空间,让自己也成为网络博客。另外MSN7.0还增加了MSN Today的对话框,可以让用户即时看到MSN网站上提供的最新服务。 雅虎通 雅虎通(Yahoo! Messenger)是一种免费的消息服务,它允许用户与朋友、家人、同事及其他人进行即时的交流。使用即时消息可以与朋友交谈,并能发现他们何时在线。雅虎通内置了股票、新闻、和记分板等选项卡,这样不论用户在何处浏览因特网,都可以始终监视用户所有个性化信息。使用最新的雅虎通6.0版本,还可以获得1G大小的雅虎邮箱。 雅虎通推出了免费向使用6.0版本的用户提供1G邮箱的服务,并且全部免费发送手机短信,它在免费功能上打出了一张亮牌!而在功能上内置了一搜网的搜索引擎,便于用户即时查找网络资源。 TOM-Skype TOM-Skype是TOM在线和Skype Technologies- S.A.联合推出的互联网语音沟通工具。Tom-skype采用了最先进的P2P 技术,为您提供超清晰的语音通话效果,使用端对端的加密技术,保证通讯的安全可靠。您无需进行复杂的防火墙或者路由等设置,就可以顺利安装轻松上手。TOM-Skype可以免费的直接呼叫全世界的朋友的软件,服务提供商是互联网上免费的电话公司。用户只需要花几分钟时间下载软件、注册TOM-Skype账户,便可以插好耳机、麦克风、或者与TOM-Skype配套的USB电话,开始像打电话一样呼叫朋友了。TOM-Skype的功能和前面五款软件相比,聊天和多媒体功能没有那么丰富,而在它所特有的通话功能技术开发上独树一帜,具有领先的P2P技术、穿透防火墙、安全加密、跨平台使用的特点。 新浪UC 新浪UC是新一代开放式即时通讯娱乐平台,它采用自由变换场景、个性在线心情等人性化设计,配合视频电话、信息群发、文件互传、在线游戏等使用户在聊天的同时能边说、边看、边玩,从而带给用户前所未有的聊天新感觉。 新浪UC的用户则可以根据自己在线时间的长短获得免费的网络硬盘空间,最大支持120M,每天免费发送15条手机短信,并可直接用该账户享受新浪网的游戏、多媒体同学录、聊天室等服务。只要打开UC咨询通还可以即时获得最新的新闻信息,查看天气预报等。

即时通讯软件的设计与实现

即时通讯软件的设计与实现 1 系统实现模块 1.1 服务端模块 服务端主要包括三个模块: 1.网络模块,建立TCP服务器,负责监听端口,与客户端建立连接并接受和发送数据。 2.应用模块,负责处理从网络模块接收到的数据,予以分析处理,进行转发或对数据库进行操作,并返回相关信息。 3.数据层,数据层用来与数据库建立连接,应用模块必须通过数据层来进行数据库的操作。 日志记录 图4.1 系统模块图 1.2 客户端模块 用户端包块以下模块: 1.用户界面模块,此模块包括客户端的操作界面,由NetBeans编写的GUI,进行了较多的美化,采用偏向Vista的风格。 2.网络模块,此模块包括两个小模块,TCP模块用于和服务器端通讯,而UDP 模块则负责和客户端进行P2P通讯。 3.聊天模块,此模块负责在用户聊天时候,对聊天的数据进行封装,对聊天的图片也进行压缩,以适用网络传输。在接受到聊天数据之后,又会对聊天数据进行分解操作,最后生成聊天内容。 4.群组模块,此模块包括群组聊天、群组的创建、管理、更新等功能。 5.文件传输模块,此模块用于实现客户端之间的文件传输功能。 6.视频聊天模块,此模块用于实现客户端之间的视频聊天功能。 7.系统设置记录模块,此模块用于实现保存聊天记录,登录日志,以及保存系统设置信息的功能。 系统记录模块 图4.2 客户端模块图 2 数据库设计 2.1用户表设计 用户表是系统中的基础表,主要用来记录用户注册时的各种信息,此表还有一个从表userlogin表用来记录用户登录和状态信息。[12] Userinfo表

UserLogin表 用户关系表是用来保存用户之间的好友关系的数据表,查询好友列表的时候要从此表中查询与自己ID想关联的好友ID,type字段可以设置两者的关系,其中1为好友关系,0为黑名单。 其他表,如组群表,族群信息表就不在此一一列出。 3 系统模块的详细设计 此章节将叙述系统部分模块的设计方法和具体实现。 3.1 网络模块的设计实现 本系统采用TCP和UDP混合的网络通讯,客户端与服务器之间登录验证时采用TCP连接,登录之后,客户端与服务器采用UDP方式保持通讯,客户端和客户端之间采用UDP连接,如果无法直接连接,通过服务器申请UDP穿透NAT,如果失败,则消息通过服务器中转传递。

五款主流即时通讯软件分析

纵观近年来国内即时通讯软件市场,QQ在较长时间内一直因贴近国人需求而一枝独秀。与此同时,功能越来越强大的MSN Messenger其市场份额也在扩大,Yahoo Messenger也有一定的用户,而在语音通话和界面简洁方面各有特色的Google Talk和Skype,也牢牢抓住了一些网民的心。在接下来的部分中,我们将这5款IM软件进行横向评测。所有参评的软件均已更新到最新版。(Yahoo! Messenger 因8.0 beta 多次安装失败,采用了7.x系列的最新版) 图目前国内用户较常见到的五款主流即时通讯软件 ★联系人容量 Windows Live Messenger 联系人数目从75、150升级到300人,目前是600人,与QQ相当。而Yahoo Messenger在8.0中通过插件,已经可以达到1000人。Google Talk联系人数目和Gmail一样,超过5000,上限未知。Skype联系人上限未见报道,小编多方查询也未知道结果。 500-600的联系人容量对于日常使用来说已经够用,但这个数字经过长时间的积累,也会慢慢耗尽。当然,如果你是IM狂人当然另当别论了。 ★安装程序及安装后文件夹体积 对于功能,当然是强大的好;但是软件体积,还是精简些比较好。QQ和Google Talk在体积方面显然是两个极端:随着QQ功能的逐步增多,比如TM、QQ音乐、3D秀等,腾讯也想把所有的功能都打包进去,自然造成了安装程序和程序文件夹体积的增大。而Google Talk非常简洁,安装文件竟然只有1.3兆,安装后文件夹内居然只有主程序、卸载程序两个文件,可谓精简至极。 图五款IM软件的安装包及安装后体积(单位:兆) 尽管当今宽带普及,用户的硬盘空间也是越来越大,人们大可不必为这几十兆空间太伤头脑;但空间占用超过平均水平太多的IM软件无疑会令相当一批用户感到臃肿。 ★运行内存占用

即时通讯课程设计

《计算机应用系统(软件)》课程设计报告题目:即时通讯软件 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2014 年8月23 日

一、系统需求分析2 ?项目名称2 ?开发背景2 1、文档说明 3 2、实现功能3 3、功能说明3 二、系统的UML基本模型4 1、用例图4 三、数据库设计4 (1)E-R图4 (2)数据库逻辑结构5 1存储用户信息表Users详细信息 5 2存储QQ消息表Messages详细信息5 3存储QQ消息类型表MessageType详细信息5 4存储好友表Friends详细信息5 5存储好友策略表FriendshipPolicy 详细信息6 6存储血型表bloodType 详细信息6 7存储星座类型表star 详细信息6 8存储密码表SavePwd 详细信息6 三、系统运行结果(截图)6 1、登录界面:6 2、申请QQ界面6 3、忘记密码窗体7 4、主窗体:7 5、修改个人信息8 6、查找好友界面:9 7、聊天界面:9 8、设置字体10 9、有新消息提示12 10、退出 12 四、课程设计总结13 一、系统需求分析 ?项目名称 “MyQQ”聊天系统 ?开发背景 在当今信息化的时代,人们需要简捷快速的方式进行沟通。用手机交流存在费用高,

操作麻烦的问题。因此开发一个基于C/S 架构的QQ,可解决在局域网范围内与好友进行便利交流,无需任何费用。 1、文档说明 改文档描述了MyQQ的功能、数据库、以及ER图、等、让用户可以大体的了解该软件安的功能。 2、实现功能 01 注册QQ号 02 登录到主界面 03 登录后可以显示好友列表、QQ头像、未查看的消息 04 可以通过性别、年龄、QQ号查询好友,并添加好友 05 编辑个人的信息、修改密码、设置添加好友的模式 06 可以与好友进行实时聊天 07 头像列表、可以从100个头像里面选择自己喜欢的。 08、可以设置聊天字体,颜色。 3、功能说明 1、登录 显示登录界面。用户输入用户名称和口令后,提交页面。系统验证用户的登录: 若用户名称或口令不正确,系统显示登录失败消息,用户可再次登录;若用户名 称和口令正确,登录成功,系统显示一个登录后的页面,可供用户进行聊天。若 忘记密码,可找回密码。 2、注册、忘记密码 用户必须先申请QQ 号,才能登录MYQQ 系统。用户注册信息的妮称不能相同。 注册信息除包含基本资料外,还包含星座和血型,忘记密码可以找回。 3、登录后主窗体 显示好友信息,扫描未读聊天信息,同时来消息的好友头像闪烁。可添加和删除 好友,并将头像设置为小图标。 4、查找添加好友 查找好友的方法可有精确查找和模糊查找。也可通过年龄和性别进行查找。可将 查到的网友添加为好友。 个人信息管理 可以修改个人信息资料,如头像等。也可进行安全设置。如更改密码。更改完成 显示更改成功 6、聊天 可与好友进行聊天。信息即时更新。 7、头像列表 用列表的方式显示系统提供的头像。供用户选择。 8、系统消息

基于Android的日历系统的设计与实现毕业设计(论文)

华北电力大学本科毕业设计(论文) 毕业设计(论文) ` 题目基于Android的日历系统 的设计与实现 二○一四年六月

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

本科毕业设计---基于android手机电子书阅读器的设计与实现

毕业设计 题目:手机电子书阅读器的设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

即时通讯工具与人的自由

Vol.33No.1 Jan.2012 第33卷第1期2012年1月赤峰学院学报(汉文哲学社会科学版) Journal of Chifeng University (Soc.Sci )目前国内即时通讯工具竞争异常激烈,以腾讯、MSN 、飞信、阿里旺旺等为代表,它们拥有大批的使用者。随着使用者各种需求的增加,它们也在不断的更新各自的功能,令众多使用者对其更加信赖。 1.腾讯QQ 随着网络的发展QQ 不仅是一个即时通信工具,它已成一种文化现象,俨然也成为一种生活方式。近90%的QQ 使用者,打开电脑的第一时间就会登陆其QQ 查看每日新的留言及信息。它是国产即时通讯工具的先驱,用户量和技术水平均已相对稳定,集图文消息实时发送和接收功能为一体的IM ,还为使用者提供网络硬盘、离线文件存储、QQ 群、游戏社区、音乐中心等功能,均符合使用者的需求。 2.MSN 国外即时通讯市场中,MSN 则拥有大量的用户。而当 MSN 进入中国以后,凭借着自身的优势,以简约的界面、免 骚扰等优势很快在高端商务人群中占据了一席之地。微软技术力量的支持与服务体系是毋庸置疑的,从此方面看, MSN 应属于世界范围内最强势的即时通讯软件。 3.飞信 飞信除了具备聊天软件的基本功能以外,还实现PC 用户与手机用户之间的即时互通,在实质意义上为使用者创造了一个不受约束与限制、安全沟通与交流的通讯平台。 4.阿里旺旺 随着网络购物的兴起,阿里巴巴网同淘宝网推出了阿里旺旺商务软件,方便买卖双方的交流与沟通,其独特性是将注册用户与注册账户相互捆绑,从而保证了买卖双方最大的利益,使之成为安全、公平均有保证的交易平台。 一、即时通讯工具对人的自由的影响(一)中西方对自由观的概述 1.历史上西方的自由观 重视个性的观念是西方社会的特点,因此人们对于自由观念的追寻与探讨也从未间断。中世纪基督教文化中,自由观是同“原罪”、“救赎”这两个基本的神学教义紧密相连的。基督教的自由观摒弃了古希腊的自主性求善原则,因为 人固有的原罪,所以人不可能主动寻求善,自由应该建立在接受性的拯救概念之上,是一种受宗教信条限制的自由观。到了近代法制社会,自由被理解为自主性。既存在认识层面上意志的自由,又存在实践意义上行为的自由。霍布斯对自由的定义是在最广泛意义上不受阻碍,只要一个人能够不受外界的阻碍,按自己的意愿做自己力所能及的事,就是自由的。 在现代化技术飞速发展的今天,自由的内涵日益丰富,同时也被诸多的条例所限制,自由的行为也越加理性。伯林将自由划分为两种一是消极自由,是指一个人的行为不受外在的干预和制约,它是“免于什么”的自由;二是积极自由,是指要“成为什么”的自由。这一时期对于“自由”的探讨己不仅仅停留在理论层面,更多的是从自由行为的实际出发。 2.历史上我国的自由观念 在中国古代传统思想文化,“自由”并没有作为一个独立的问题被提出来。孔子说自己“七十而从心所欲,不逾矩”,他认为随心所欲是有要求的,自由是需要有条件限制的。从道家看来,现实生活中必然存在一定的制约,是不完全自由的,他们注重追求精神上的自由。 19世纪中叶,出现了西学东渐的局面。西方自由观念也 在此时逐渐传入中国,严复指出:“中文自由,常含放诞,态唯,无忌惮诸劣义。然此自是后起附属之话,与初义无涉。初义但云不为外物拘牵而已,无胜义亦无劣义也。”此后我国的自由观在经历了数几千年封建社会约束后,逐渐向注重个性的方向转变,追求个性自由的步伐也开始逐渐加快。 (二)即时通讯工具对人的自由的促进 即时通讯工具的核心是“沟通与交流”,如何为每位使用者提供更加完善、便捷的服务是众多研发者们最关心的问题。实际上,即时通讯工具是人类社会进步的象征,从创建到现在的迅猛发展都充分体现出人的自主和自由,当人类不断向自由世界迈进时,即时通讯工具为我们开辟了新的领域,犹如让我们在纷繁复杂的现实生活之外,寻求到一个世外桃源。它的多功能性可以让我们资源共享,对个人所 即时通讯工具与人的自由 李 旻,李东阳 (成都理工大学 文法学院,成都 610059) 摘要:即时通信,简称“IM ”是(Instant Messaging )的缩写,它是一种使人们能在网上识别在线用户并与他们进行实时交 换消息的技术。随着互联网络的飞速发展,即时通讯工具的功能也在日益丰富,它不再是一个单纯的对话工具,至今已经发展成为一个集各种功能于一体的综合信息平台,也成为生活中不可或缺的一部分。 关键词:即时通讯;人的自由;观念;阻碍中图分类号:G206.2 文献标识码:A 文章编号:1673-2596(2012)01-0116-02 116--

安卓系统毕业论文设计

安卓系统毕业论文设计 编号毕业设计论文任务书题目安卓电子菜单点菜 系统院系专业计算机及应用学生姓名黎少环学号030111301428 指导教师单位桂林航天工业高等专科学校 姓名郑利华职称副教授题目类型理论研究实验研 究工程设计工程技术研究软件开发 2012年 4月22日一、毕业设计论文的内容、要求计算机领域在不断创新。计算机在代替和延伸脑力劳动方面发挥越来越重要的作用 不仅在工业方面而且在日常生活中也越来越离不开计算机。在数字化的今天为了更加加快人们在吃的方面节省更多的 时间由此电子点菜系统的出现更加利于人们在点餐时高效 点菜方便点菜员与顾客沟通更好展示主推菜品有效提高单 桌消费额餐厅繁忙时方便顾客自助点菜有效节约人工提高 服务质量菜单管理饭店所有菜品信息、菜品口感、份量方便客人选择超强展示简洁界面方便服务员及顾客点菜优越于 传统菜谱提高效率点菜、提交、下单同步进行规范管理可与现有点菜方式同时使用弥补现有点菜系统的缺陷准确无误 避免传统手写点菜失误造成的消费者投诉数据分析餐厅营 业状况一目了然并兼容现有餐饮管理软件开机的首页可以 插入企业广告增加酒店营业收入饭店形象大步提升提高了 客户忠诚度、增加收益等。为了使电子点菜系统更加简单、到位、便捷并能都基于上述种种原因本论文通过Android平台和eclipse SDK 的编程环境实现andriod电子点菜系统。

andriod电子点菜系统。主要分为前台和后台管理。前台管理设计了九个按钮分别命名为android电子点餐系统、特色菜、热菜、凉菜、汤类、酒类、套餐、呼叫服务、结账当想点菜时点击特色菜、热菜、凉菜、汤类、酒类、套餐等按钮则进入另一个界面进行点菜并点击界面中的完成按钮算出所点菜的金额。二、毕业设计论文应完成的工作 1、毕业设计论文说明书打印四份 2、英译汉资料或不少于2000汉字的调研报告 3、任务书 4、软件清单工科要求、设计图纸等 5、设计的软件或硬件作品三、应收集的资料及主要参考文献 1 谭浩强.Java语言程序设计第三版M.北京:清华大学出版社2008. 2 张孝祥.Java就业培训教程M.北京:清华大学出版社2003 4 李春儒.守望互联网经济—电子商务发展现状与趋势OL2005. 5 史斌星史佳.Java基础编程贯通教程M.北京清华大学出版社2003. 6 马海军杨继萍.Java 2 实用教程M.北京清华大学出版社2004. 7Smego.Android应用程序设计基础2009. 8E2ECloud.深入浅出Android程序设计OL.北京人民邮电出版社2009. 9Smego.Android A Programmers GuideOL2008. 10杨丰盛.Android 应用开发揭秘M.西安机械工业出版社2010. 四、试验、测试、试制加工所需主要仪器设备及条件硬件要求计算机一台显示器一台软件要求系统开发平台android 与eclipse 系统开发语言java 数据库管理软件Microsoft SQL Server 2005

基于BS方式的即时通讯软件的设计与实现

基于B/S方式的即时通讯软件的设计与实现 摘要 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为web-msn的即时通讯系统。 web-msn是基于B/S的模式的即时通讯系统,通过IE等浏览器直接完成客户端的登录、数据传输,更加便捷了用户之间的通讯和交友;使用最新的Ajax 技术,使其非常快,无需等待页面的刷新,实现了即时通讯的功能。 在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,本系统基于.NET Framework 1.1,使用Visual Studio .NET 2003作为开发工具,将.NET中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 关键词:Web-msn;即时通讯;B/S;Ajax

The Design and Implementation of Instant Message Based on B/S Abstract Instant message is currently the most popular way to communicate on the Internet,by the way various instant message software have been continuously appearing; service provider offers more and more communication services nowadays. As the development of the Internet, instant message will be more widely used than before. This article first describes the development and the current status of the instant message. Then it discusses the technologies of the instant message such as communication protocol, service mode and friend-making mode. It makes a comparison and analysis with respect to the current technology and also provides some possible solutions for improvement. At last it designs and develops an instant message system named web-msn. The web-msn system is an instant message system which bases on b/s mode. You can login and interact with it through IE. It makes communication and finding friends more conveniently. It is designed using Ajax, which doesn’t need to wait for refreshing page, so carry out communication instantly. This system is based on .NET Framework 1.1 and uses Visual Studio .NET 2003 as the development tool. It accumulated some new technology in .NET into our system. During the process of development, it used the popular reconstruction development method, which optimizes the system design. Key words:Web-msn; Instant Message; B/S; Ajax

本科毕业设计--基于android平台的手机应用软件设计与实现

安阳工学院 计算机科学与工程学院 JAVA程序设计课程综合项目报告 项目题目:基于Android平台的手机应用软件设计与实现专业班级:计算机科学与技术(信息技术)11-1 学生姓名:吕鹏 学生学号:201103010042 指导教师姓名:许研 2013年12月

摘要 随着IT技术的发展,移动开发已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在移动开发中,Android开发近些年来突飞猛进的发展,在智能手机领域中的市场份额以及超过80%。同样,基于安卓平台的手机应用开发也达到前所未有的高度,各种安卓手机应用软件竞相出现。本次的JAVA 课程设计将基于安卓的平台,因为安卓开发主要基于JAVA语言和XML语言。本次所做的手机应用软件,可实现系统的登录、计算器、打电话、发短信、上网等简单功能实现。在此系统的实现过程中不仅提高了JAVA语言编程,而且加入了Android的成分,提高了软件设计的兴趣性。 关键词:手机应用软件开发,Java程序设计语言,Android开发。

目录 摘要 (2) 第1章系统目标 (5) 第2章系统功能介绍 (6) 2.1系统功能总框图 (6) 2.2 模块功能介绍 (6) 2.2.1 登录模块功能介绍 (6) 2.2.2 等待模块功能介绍 (7) 2.2.3系统主界面模块功能介绍 (8) 2.2.4短信和拨号模块功能介绍 (8) 2.2.5计算器模块功能介绍 (9) 2.2.6网上冲浪模块功能介绍 (10) 第三章系统功能实现 (11) 3.1 系统登录模块设计 (11) 3.1.1 登录框布局设计 (11) 3.1.2 登录对话框设计 (13) 3.2 等待模块设计 (15) 3.3 系统主界面模块设计 (16) 3.3.1 主界面XML布局设计 (16) 3.3.2 主界面背景图片设计 (18) 3.3.3 主界面功能实现设计 (18) 3.4 短信和拨号模块设计 (20) 3.4.1短信功能实现设计 (20) 3.4.2 拨号功能实现设计 (22) 3.5 计算器模块设计 (22) 3.5.1 计算器界面设计 (22) 3.5.2 计算器功能实现设计 (22) 3.6 网上冲浪模块设计 (24) 3.6.1 网上冲浪模块XML布局设计 (24)

安卓毕业设计app项目

安卓毕业设计app项目 【篇一:基于android手机app开发与设计毕业设计 开题报告】 毕业设计开题报告 题目基于android平台的同学录设计与开发学生姓名王强学号1118014143 所在院(系) 数学与计算机科学学院 专业班级计本1104 指导教师李婧 2015 年 3 月 18 日 【篇二:安卓毕业设计论文】 基于android的校园聊天软件的设计与实现design and implementation of campus chat software based on android 摘要 在智能手机中,android平台约占75%市场份额。安卓系统的广泛 应用,使得android手机应用程序的数量快速增长,即时通讯app 的应用范围也更加广泛。另一方面,高校师生需要在教学过程中加 强沟通,而开发一款智能手机的校园聊天app则可以满足这一需要,弥补传统教学形式的不足。 本文旨在设计并实现一个基于android的校园聊天软件。本文在对 校园聊天客户端进行调查研究基础上,进行了需求分析和系统设计,进一步完成了ui界面设计,在eclipse中使用java语言实现了app 各个功能模块。app的im通信部分基于第三方通信云sdk进行开发。该app的功能主要包括用户登录、注册、聊天框架、通讯录管理、 个人信息管理等功能模块。 基于android平台校园聊天软件将为管理者、教师、学生之间提供 一个高效的沟通平台,它的实施将有利于加强对教育教学过程的监督,增进师生之间、学生之间的学习交流,增强教学互动性,提高 教育教学效率。 关键词:android;校园聊天;智能手机 abstract

让即时通讯工具不仅只是聊天

让即时通讯工具不仅只是聊天 十年前,我们的工作沟通方式主要是邮件,通过回复、转发、抄送以及不断的循环进行沟通,留下彼此的交流记录,同时传送重要文档。 后来,我们有了QQ,用上了MSN,SKYPY等聊天工具,可以快速实现点对点的沟通交流,高速传输文件,有些紧急的情况下似乎比邮件更方便更快捷。 再后来,我们有了微信,有了强大的智能手机,无时不刻都在交流都在互动,文件传输更加便捷,因为我们几乎都不用打开电脑就可以实现文档的查阅、修改、传送。 可是,每一个智能手机,也慢慢的成为了一个个的信息孤岛,如果彼此不添加对方,就无法沟通;大量工作文档,仅仅通过交换后保存在本地,没有版本控制,没有全文检索,更无法根据需要进行有效的知识管理;聊天记录只是一条条无生命力的文字,和工作相关的任务、计划、需求都无法转化为可跟踪的事件。。。。。。 那么,有没有更好的解决方案,既可以让员工之间愉快的聊天,又能实现更科学的日常工作管理,答案只有一个,那就是借助于泛微所提供的企业级即时聊天工具。 泛微协同管理即时聊天工具(企业内部微信)不仅可以实现市场上聊天工具几乎所有的功能,还能提供更丰富、更人性化、更有价值的各种帮助: 1. 不管企业人数是10人,100人、1000人,还是10000人,都不需要彼此添加好友,而通过与系统组织架构同步的多维通讯录,就可以实现与任何员工实时沟通; 2. 点击每一个你熟悉或陌生的同事名字,就可以实时发送短信、邮件、传文件,甚至安排会议、日程、流程等;

3. 即时聊天工具不仅支持手机移动端,平板电脑端,也支持PC电脑端,并保证所有客户端的信息完全同步,满足企业员工随时随地的沟通需要; 4. 在每个群聊中,都可以把重要事项置顶并成为群公告,重要信息再也不需要考古了;

即时通讯系统的设计与实现

哈尔滨师范大学 学年论文 题目即时通讯系统的设计与实现 学生崔振伟 指导教师张飚 年级2010级 专业电子信息科学与技术 系别光电工程系 学院物理与电子工程学院 哈尔滨师范大学 2013年5月

论文提要 目前信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。规模较大的企业,都会建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地。 本系统为企业内部即时通讯系统,是鉴与员工之间所处地点不同,员工之间交流的重要性的情况下,针对公司不适合让员工连接外网的实际情况下设计构思出来的,该系统设计完成后可用于企业员工之间的即时通讯工作,同时本系统具有很强的可扩展性,加以适当扩充,可以适用于各个不同的公司。

即时通讯系统的设计与实现 崔振伟 摘要:伴随着社会进入信息化时代,信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地,能有效的解决员工之通讯交流障碍的问题,并防止员工跟外部联系。 因此为了适应企业的这一需求,特开发了适应企业局部通信的局域网即时通讯系统。论文介绍了在Microsoft可视化集成开发环境Visual studio 2008下开发一个基于对话框的局域网即时通讯系统的整个过程,系统采用基于对话框的MFC应用程序框架开发前台的操作界面,采用多线程和网络技术来实现成员这间的互联。实现了局域网内用户信息的采集与显示,最小化托盘,文字聊天,语音聊天,窗口抖动,字体设置,保存聊天记录的功能。在开发过程中,严格按照软件工程的整个流程进行。经过可行性分析,需求分析,概要设计,详细设计,编码,单元测试,集成测试等阶段,最终开发出了可以在单机上运行的试用版局域网即时通讯系统。本系统的界面友好,操作简单方便加以适当的扩充完善就可正式的投入使用。 关键词:软件工程网络通信线程 一、即时通讯的意义与背景 随着二十世纪八十年代到九十年代PC机的普及与深入,互联网的到来,解决PC机之间即时通讯的需求越来越强烈,一些通讯软件也应运而生,具有代表性的如下:QQ:由深圳市腾讯计算机系统有限公司1999年2月开发的一款基于Internet的即时通信(IM)软件。由1999年的2人到现在已经发展到上亿用户了,在线人数超过一亿。是目前使用最广泛的聊天软件之一。 MSN:由微软开发的1999年7月开发的即时通讯工具,4大顶级个人即时通讯工具之一。 Google Talk:是由Google 开发的的即时通讯方式,简称Gtalk。并宣称该软件“可以让你与朋友随时随地,在世界的任何一个角落自由的通话,发送即时讯息。并于2008年7月发布了iPhone版的Google Talk和2011年4月在Android版本的Google Talk上启动语音和视频聊天功能。 AIM:是美国在线推出的即时通讯软件类似于MSN,等,在泛北美地区拥有最广泛用户数量(2009.07数据),超过排名第二和第三的Yahoo Messenger和MSN。支持iPhone,Android,iPad,MAC,Windows等平台。 国内的还有新浪UC,YY,百度hi,Lava快信等,国际上的Yahoo!Messenger等。这些软件有一个集中的特点是基于互联网并且需要服务器的支持。其工作方式如下:登陆即时通讯服务器,获取一个自动建立的以前的即时通讯对象列表,获取自已的在线状态,当好友列表的某个用户在任何时候登录上线并且想跟你进行联系时,即时系统会发一个消息提示你,然后你就可以与目标对象建立一个聊天对话通道进行各种消息如文字、语音、窗口等来

基于Android的校园新闻app开发毕业设计

毕业设计(论文)基于Android平台的校园新闻app的开发

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

Android毕业设计报告

摘要 现在,人们越来越重视互联网。花田小憩可以为花卉爱好者们提供一个交流以及交易的平台,在这里花卉爱好者们可以的到最新的花卉信息以及购买到喜欢的花卉品种。 本文综合运用Android技术、Android Studio开发平台、JSON等技术和工具对花田小憩进行了分析、设计和实现。给出了系统的功能分析、环境和质量要求;建立了系统软、硬件体系结构模型;完成了功能模块设计和数据接口的对接;同时确定了各个功能模块的测试环境,并制定了测试方案对各个模块进行有效的测试和分析;最终实现了Android平台端的应用。 项目采用MVP架构,MVP模式是MVC模式的一个演化版本,MVP全称Model-View-Presenter。MVP模式会解除View与Model的耦合,有效的降低View的复杂性。同时又带来了良好的可扩展性、可测试性,保证系统的整洁性和灵活性。MVP模式可以分离显示层与逻辑层,它们之间通过接口进行通信,降低耦合。理想化的MVP模式可以实现同一份逻辑代码搭配不同的显示界面,因为它们之间并不依赖与具体,而是依赖于抽象。这使得Presenter可以运用于任何实现了View逻辑接口的UI,使之具有更广泛的适用性,保证了灵活度。 总之,本系统可以通过对智能家居系统的控制和受控方状态的反馈,从而使操作者可以及时掌握受控方信息,使其达到交互式智能化。更好地服务于我们的生活,使人们的日常生活更加方便、智能、快捷。 关键词:花卉;Android;JSON;MVP;在线购物

Abstract Nowadays , people are paying more and more attention to the internet. Flower nap provides a platform for the exchange and exchange of flower lovers , where the flower lovers can get the latest information about flowers and buy the flowers they like. In this paper , Android technology , Android Studio development platform , JSON and other techniques and tools are used to analyze , design and implement the nap. The analysis , given the function of the system environment and quality requirements; establish a system structure model of software and hardware system; the completion of the docking module design and data interface; while determining the test environment of each module , and developed a test scheme for testing and analysis of the effective of each module; finally realizes the application of Android platform the end of the. The project uses the MVP architecture , and the MVP model is an evolved version of the MVC schema , MVP , full name Model-View-Presenter. The MVP pattern removes the coupling of View and Model , effectively reducing the complexity of View. At the same time , it also brings good scalability and testability , and ensures the neatness and flexibility of the system. The MVP model can separate the display layer from the logical layer , through which they can communicate and reduce the coupling. The idealized MVP model can implement the same logical code with different display interfaces , because they

相关主题