资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,3G应用开发之Android,讲师:,杨浩泉,什么是3G,3G,,全称为,3rd Generation,,中文含义就是指第三代数字通信。,所谓,3G,,是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。,3G,只是一种通信技术标准,符合这个标准的技术有,WCDMA,、,CDMA2000,、,TD-SCDMA,三种无线接口标准。中国联通使用的是,WCDMA,(世界上大部分,3G,网络都采用的是该标准),;中国电信使用的是,CDMA2000,(日、韩和北美使用);中国移动使用的是具有自主知识产权的,TD-SCDMA(,只有中国才使用,),。相对第一代模拟制式手机,(1G),和第二代,GSM,、,CDMA,等数字手机,(2G),,,3G,手机能处理图像、音乐、视频等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。,3G,网络与前两代的主要区别是在传输声音和数据的速度上有很大的提升。,目前中国正在建设,3G,网络,大城市的,3G,网络基本上已经铺设好,像北京铺设好了超过,2000,个基站,深圳铺设了,1000,多个基站。但是要全民普及到,3G,手机尚且需要几年时间。现在,大家使用的手机大多还是,2.5G,手机,符合,2.5G,网络的接口标准有,CDMA2000 1X,和,GPRS,,中国联通使用的是,CDMA2000 1X,标准,中国移动使用的是,GPRS,标准。目前,我们可以把,2.5G,移动通信技术看作是,2G,迈向,3G,的衔接性技术,在,2.5G,网络下出现了如,WAP,、蓝牙,(Bluetoot),等技术。对于,2.5G,网络,我们应该也要有所了解,因为以后大家到企业中有可能会面对,2.5G,网络下的应用,如:,wap,项目。,智能手机平台,智能手机软件平台有:,Symbian,(Symbian 操作系统),Windows Mobile,(微软移动设备),RIM BlackBerry,(黑霉移动设备),Android,(Google 机器人移动设备),iPhone,(苹果iPhone手机),Java/J2ME,(J2ME嵌入式开发平台),什么是Android,Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统,它包括一个操作系统,中间件和一些重要的应用程序。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和Dalvik虚拟机,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。这里,你可以把android看作是一个类似于windows的操作系统。学习android平台下的软件开发正如以前学习windows平台下的软件开发一样。,在国内,android的前景十分广阔,国内很多的厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想等大企业。同时android应用的范围不仅仅在手机,国内一些厂家也陆续推出了采用android系统的MID,(,移动互联网设备,),产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7,我们可以预见android也将会被广泛应用在国产智能上网设备上,将进一步扩大Andorid系统的应用范围。,Android模拟器界面预览,Android的特点,应用框架,:,可重用和部件更换,Dalvik虚拟机,:,为移动设备优化,集成浏览器,:,基于开放源码 的WebKit 引擎,优化的图形,:,库由一个二维图形定制,可选)基于3D图形加速的OpenGL ES 1.0规范(硬件,SQLite,:,数据存储结构,媒体支持,:,常见的音频,视频和静止图像格式(如MPEG4,H.264,支持MP3,AAC,AMR的功能,JPG,PNG,GIF等),GSM电话(硬件相关),蓝牙,EDGE,3G和WiFi(依赖于硬件),照相机,GPS,指南针,加速度计(取决于硬件),丰富的开发环境 包括一个设备模拟器,调试分析工具,内存和性能,以及一个IDE的Eclipse插件,Android的架构,Android架构详解一,Android架构共分了四层,应用层(Applications),应用层是由我们使用Java语言编写的各种应用程序比如:电子邮件客户端,SMS程序,日历,地图,浏览器,通讯录等,应用框架层(Application Framework),应用框架层提供了一个开放的开发平台,为Android的开发者提供了极为丰富的核心API,开发者可以自由的调用设备硬件的信息,设置报警,通知添加到状态栏等,可以创建应用程序,包括列表,表格,文本框,按钮,甚至一个可嵌入的Web浏览器,并且可扩展,Android架构详解二,核心库(Libraries),Android包括了一套C/C+系统的Android库所使用的各种组件。这些功能是通过接触到框架开发Android应用程序。,核心库的内容如下:,系统C库:,一个标准的C系统库BSD派生的实施(libc)的,设备调整为嵌入式,媒体库:,OpenCore是基于PacketVideo的,该库支持JPG格式的播放和录制了许多流行的音频和视频格式,以及静态图像文件,包括MPEG4,H.264,支持MP3,AAC,AMR的,和PNG,界面管理器:,管理显示子系统和无缝合成二维和三维图形层是由多个应用程序组成,LibWebCore:,一个现代的Web浏览器引擎,嵌入式Web视图,SGL:,底层的2D图形引擎,3D libraries:,使用ES1.0 API实现基于OpenGL图形库,该库使用硬件3D加速,FreeType:,位图和矢量字体渲染,SQLite:,一个强大和轻量级关系数据库引擎,Android架构详解三,运行环境(Android Runtime),Android除了有自己的核心库,还拥有自己独立的虚拟机(Dalvik VM),该虚拟机是对手机格外的优化过,包括性能,耗电量等.,内核,(Linux Kernel),Linux的核心,android的整个操作系统都是基于linux核心,Linux的核心包括了,相关的驱动程序,有显示器的驱动程序、照相机的驱动程序、闪存的驱动程序、电源管理驱动程序、以及wifi的驱动程序等,,,linux提供的是一个最核心最基础的东西,Android开发环境,开发Android应用程序需要准备以下工具,Android SDK 开发包,Eclipse(3.4/3.5)IED集成开发工具,Eclipse Plugin 插件 ADT 模拟器,下载Android SDK 开发包,需要到官网上下载,但该官网以被中国警告,需要翻墙出去下载,Android Hello Wrold 开发,打开,Eclipse,,新建项目,(,点击,File,NewProject,),,在项目列表中展开,Android,目录,选择,Android Project,,如下图:,Android Hello Wrold 开发,目录结构,程序代码,package com.tlworld.android;,import android.app.Activity;,import android.os.Bundle;,public class HelloWroldActivity extends Activity,/*Called when the activity is first created.*/,Override,public void onCreate(Bundle savedInstanceState),super.onCreate(savedInstanceState);,setContentView(R.layout.main);,项目运行结果,右键项目Run As-Android Appliation,结果如下:,Android,下的四大组件,Activity(翻译成中文:活力),Intent(翻译成中文:意图、目的),Services(翻译成中文:服务),Content Provider(翻译成中文:数据提供),Activity,初步,讲解,Activity的主要作用,Activity翻译成活力对对应用来讲并不是很合适,没办法找到更合适的词,activity的作用:整个应用程序的界面都是activity来负责的,activity是构造应用程序界面的一个组件,在这个组件当中包括相关的控件,比如:单选框,单选按钮,文本框等等.手机的门面就是Activity了。,创建Acitivity的方法,在Androidmanifest.xml文件中注册应用Activity的方法,在Activity当中添加控件的方法,Activity是用户与应用程序交互的接口(界面),可以再Activity中添加所需要的控件,可以说他是控件的容器,运行结果,Activity和Intent,多个Activity之间的关系,Intent的基本作用,在一个Activity当中启动另外一个Activity方法,使用Intent在Activity之间传递数据的基本方法,多个Activity之间的关系,Activity1,Activity,2,startActivity(Intent intent),Activity是用户的一个界面,这个跳转通常都是用户点击了某个按钮,需要跳到另外一个Activity上去,需要调用startActivity(Intent intent)方法,那跳到另外一个界面之后究竟要做什么,该传什么参数过去。这都是由Intent来完成的。,Intent的基本作用,一个Intent对象包含了一组信息:,Componentname,表示该调用哪个Activity,Action,调用Activity之后究竟要做什么,Data,调用Activity,我需要传什么数据过去,Category,Extras,可以传一些键值对的东西过去,Flags,Intent的基本使用方法,.,Intent intent=new Intent();,/第一个参数,是从哪个Activity跳到哪个Activity上去,intent.setClass(Activity01.this,Activity02.class);,startActivity(intent);,.,Android,下的四大组件,Activity(翻译成中文:活力),Activity翻译成活力对对应用来讲并不是很合适,没办法找到更合适的词,activity的作用:整个应用程序的界面都是activity来负责的,activity是构造应用程序界面的一个组件,在这个组件当中包括相关的控件,比如:单选框,单选按钮,文本框等等.手机的门面就是Activity了。,Intent(翻译成中文:意图、目的),Intent的作用是应用程序之间进行数据传输的(运输大队长)比如一个程序和另外一个程序要进行传输数据,用的就是Intent,Android,下的四大组件,Services(翻译成中文:服务),Service的作用:service是不可见得,它是在后台默默的运行,为我们提供服务,好比就像西游记那个山藏一样,牵马,喂马,脏活累活都是他干,露脸的事没它,service是为整个应用程序提供服务支持的。,Content Provider(翻译成中文:数据提供),他主要是为应用程序提供数据的,可以再应用程序中共享数据,
展开阅读全文