1、移动平台开发Android核心基础什么是4G第四代移动(数字)通讯技术(the 4th Generation mobile communication technology)该技术包括TD-LTE和FDD-LTE两种制式。尽管被宣传为4G,但它其实并未被3GPP认可为国际电信联盟所描述的下一代无线通讯标准IMT-Advanced,因此严格意义上其还未达到4G的标准。4G是集3G(3th Generation)与WLAN于一体,能够快速传输数据、高质量、音频、视频和图像等。4G能够以100Mbps以上的速度下载。3G与2G的主要区别是在传输声音和数据的速度上的提升。2G制式标准GSM和CDMA,
2、CDMA起初为美国军方标准,辐射比较小,通话稳定性较高,中国联通卖给了中国电信。1995年问世的第一代模拟制式手机(1G)只能进行语音通话。1996年到1997年出现的第二代GSM、CMDA等数字制式手机(2G)便增加了数据收发的功能(9K/S)。什么是4G3G是第三代通信网络,目前国内支持国际电信联盟确定的三个无线接口标准中国电信的CDMA2000(日、韩和北美使用);中国联通的WCDMA(世界上大部分3G网络都采用的是该标准);中国移动的TD-SCDMA(中国)。通讯制式(LTE)的发展历程:GSMGPRS EDGE WCDMA HSDPA FDD-LTE 长期发展过程|9K 42K 17
3、2K 364K 7.2MB 300MB (数据收发速度/每秒)什么是4G什么基于3G、4G的开发,对于代码层面上都是一样的,只是通讯速度不同罢了。为什么开发手机程序上世纪90年代,只有摩托罗拉资深工程师才能搞定,都需要通过摩托罗拉的平台制式才能支持使用。现在,我们可以开发了;360Boss说:谁输在了移动互联网上,谁就输了未来,谁抓住了移动互联网的机会,谁就有了未来成功的门票?工作好找各大招聘网上都有一定占有量的移动开发职位;互联网调查公司D统计:60%IT公司职业HR在寻找Android工程师;平均薪水高。为什么选择Android开发设备便宜为什么选择Android开发左图为互联网流量监测机
4、构Net Application发布的最新数据显示,从2013年9月2014年7月,在这将近一年的时间里,尽管诸如碎片化、安全漏洞等问题让Android系统屡遭诟病,但其市场占有率却一直处于稳步攀升状态,从最初的29.4%狂飙至44.62%,而IOS的使用量却在一路下滑,从2013年的9月份的53.63%降至44.19%。市场占有率:为什么选择Android开发2013年9月至2014年7月,移动操作系统走势(来源:Net Applications)为什么选择Android开发开源:所有的源代码开源,任何手机都可以个性定制;开放:可对它进行任何自定义的修改。例如:1.联想 乐phone,号称自
5、主研发的“乐OS”,其实是Android系统修改UI而成;2.小米:米UI(相对靠谱,至少承认是Android系统);3.剑走偏锋:阿里云手机,国家863项目,“核高基”项目,号称自主研发,只不过是兼容Android系统!?。Java语言:Java程序员人数较多,使得Android系统快速火爆起来。Android相对IOS的对比下图为2014年7月Android和IOS系统更新率。Android系统每个版本的生命周期较短,普及率疲软仍然是横在Google面前最为棘手的问题,截止2014年7月,iOS 7的更新率已高达90%,而Android 4.4 KitKat却仍在低处徘徊。尽管许多开发者对
6、于拥有全新Material Design的Android L赞不绝口,但想象一下,光是含泪适配各种设备,就已很头疼,Android L还能逆袭iOS 8吗?Android的背景介绍移动物联网:物 联 网家庭网关:将家庭设备连在一起,移动设备可通过网关控制。比如控制空调自动打开。Android设备Android设备Android设备Android简单历史1996年www网开始流行,可以显示文字和图片当时最好的手机设备只能显示简单的文本移动互联网入口:WAP(wait and pay),通过等待移动或联通的网关获取数据,UC浏览器Wireless Markup Language(WML)精简版的H
7、TML语言Android简单历史2005年Google收购Android Inc开始Dalvik VM 的研究2007年开放手机联盟成立SDK 1.0预览版发布2008年Google第一届手机开发者大赛GoogleT-Mobile G1发布SDK1.0发布Android开放源代码(Apache License),任何人可修改,并且用于商业上Android进化史1.5 Cupcake(纸杯蛋糕)1.6 Donut(甜甜圈)2.1 Eclair(闪电泡芙)2.2 Frovo(冻酸奶)2.3 Gingerbread(姜饼)3.0 Honeycomb(蜂巢)4.0 Ice cream SandWich
8、(冰激凌三明治)4.1 Jelly Bean(果冻豆)4.2 Jelly Bean(果冻豆)5.0 Lime Pie(酸橙派)Android是什么手机设备的软件栈,依据开源社区、开源项目,多个开源项目拼而成,包括以下内容:一个完整的操作系统,中间件关键的应用程序底层是Linux内核,提供以下支持安全管理内存管理进程管理电源管理硬件驱动Android体系结构两种虚拟机的比较 Dalvik VM 和 JVM的比较区别区别 jvm dalvik vm编译后的文件格式编译后的文件格式 .java .class .jar .java .class .dex .odex 基本的结构基本的结构 基于栈的架构
9、 基于寄存器的架构Jar文件:解压出来可以看出是由很多class文件组合而成;寄存器:CPU上的存储空间,CPU访问自身的存储空间,因此dalvik vm访问速度快速;Jdk javacSdk dexDalvik VM 和 JVM的比较.apk只有一个class文件,实际是将所有的class进行合并;header头信息成为每个class header头信息合集,常量也将抽象到同一个常量存储中(例如多个class中都存在i=1,那将只会写一次);采用.dex文件可以提高文件扫描加载速度和应用程序执行速度及虚拟机解释执行速度(因手机硬件配置为轻量级配置,达不到PC的配置)。Dalvik VM 和 JVM的比较Android开发环境搭建安装JDK获取SDK(standard develop kits,标准开发工具集)工具包,包含以下内容:Eclipse+ADT插件Android SDKAndroid Platform-tools最新的Android开发平台最新的模拟器镜像25交作业的方式QQ邮箱:779733811提交格式:1.软件班:学号+12计科软件+姓名+(n);2.网络班:学号+姓名+(n);提示:n表示提交为第几次作业。