




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,智能手机应用开发基础兰州大学移动联合实验室,2011.11,.,主要内容,智能手机是什么,智能手机有哪些,智能手机的操作系统,OHAAndroid,Android应用编程实例,.,智能手机(Smartphone),智能手机的特点具备普通手机的全部功能,如正常的通话、收发短信等具备无线接入互联网的能力,即支持GPRS/CDMA1X/3G网络具备PDA的功能,包括个人信息管理、日程记事、多媒体应用等具备一个具有开放性的操作系统,扩展性能强,可安装更多的第三方应用程序具有人性化的一面,可根据个人需要定制机器功能,.,智能、非智能,具备中央处理器(CPU)的,未必就是智能手机联发科MTK6225:内核:ARMARM7EJ-S主频:104MHzTIOMAP4430:内核:ARMCortex-A9MPCore+PowerVRSGX540主频:1GHz,.,安装有操作系统(OS)的,未必就是智能手机S40、Nucleus:简单易用几乎没有什么扩展能力Android、iOS、Symbian、WindowsMobile:可扩展、定制高功耗,.,支持3G的手机,未必就是智能手机3rdGeneration,第三代数字通信,只是一种通信技术标准符合3G标准就是3G手机,与智能与否无关简言之,智能手机就是一台可以随意安装和卸载应用软件的手机(专用计算机):很容易就能够从网络上获取第三方应用软件检索软件的依据是手机操作系统而不是手机品牌型号获取软件的网站是手机软件市场而不是手机厂商网站,.,智能手机的主要品牌,.,智能手机的操作系统,BlackBerry邮件是特色,对输入设备做过特别设计iPhoneOSMacOSX的衍生,类Unix系统,Objective-CWindowsCE微软:“WindowsMobile将熟悉的Windows体验扩展到了移动环境中,所以您可以立即使用它投入工作。”Symbian诺基亚为主,2010年2月开放,以S60为主流PalmOS掌上电脑专用,节能、资源占用少、内置数据库MeeGo由英特尔和诺基亚整合Moblin和Maemo而来Android、MontaVista基于嵌入式Linux,.,BlackBerry,RIM1984年成立,加拿大为数不多的全球知名品牌之一特点:手机和电子邮件的融合,商务性能优越宽大的屏幕和便于输入的QWERTY键盘,为拇指输入而优化推送邮件服务(pushemail):新邮件自动由RIM服务器传送到手机服务运营商,然后直接推送到黑莓终端上RIM服务器的数量、分布、可靠性直接影响用户的邮件应用封闭源码,.,iPhoneOS,源自MacOSX,类Unix系统iPhone、iPodTouch、iPad特点:多点触摸(Multi-Touch)界面对Java、Flash的支持有限系统架构分为四个层次内核操作系统层(theCoreOSlayer)内核服务层(theCoreServiceslayer)媒体层(theMedialayer)可轻触层(theCocoaTouchlayer)封闭源码+开放源码组件,.,WindowsCE,WindowsCE:精简的Windows95类似的操作界面、类似的编程工具2009.2WindowsMobile6.52010.10WindowsPhone72011.2Nokia加盟2011.9WindowsPhone7.5,.,WinCE的系统结构、主要组成部件,.,Symbian,Symbian的前身是Psion公司的EPOC系统实时性、多任务的纯32位操作系统抢占式的多任务调度和内存保护具有功耗低、内存占用少等特点三个系统设计原则用户数据的完整性和安全性至关重要不能浪费用户的时间所有的资源都是稀少的SymbianOS分类按内核版本分有v6.1,v7.0,v8.0,v8.1,v9.1,v9.2等按用户平台(UI)分有S60,S80,S90,UIQ,MOAP等,.,Symbian,1998年6月,为了在智能移动终端领域对抗微软、Palm,诺基亚、摩托罗拉、爱立信、三菱和宝意昂(Psion)共同成立Symbian公司2003年,竞争加剧,Symbian阵营成员开始脚踏多只船,摩托罗拉转投WindowsMobile2004年2月,诺基亚收购了Psion的Symbian股权,在Symbian的股权达到63.3%;10月Symbian宣布与英特尔合作风光一时,.,Symbian,Symbian,.,Symbian,由于对新兴的社交网络和Web2.0支持欠佳,Symbian的市场占有率从2006年三季度的72.8%逐年下降至2010年三季度的37.6%自2009年底开始,摩托罗拉、三星、LG、索爱等各大厂商纷纷转投Android,而诺基亚则推出了面向高端市场的Maemo平台2011年初,诺基亚宣布与微软成立战略联盟,推出基于WindowsPhone的智能手机,并宣布Symbian系统不再更新,仅对用户界面UI进行改进,Symbian系统的生命周期终止,.,PalmOS,一个开放式软件架构,简单高效主要特点:良好的节能功能,极低功耗合理的内存管理,内存占用非常小以数据库的形式存储数据与3Com公司几经离合,最终独立2009年2月,Palm公司宣布将专注于webOS和WindowsMobile,终止PalmOS的研发应用2010年,与3Com同时被HP收购2011年8月,惠普放弃webOS,.,Meego,NokiaN9,.,Meego,2010年2月,Intel和Nokia合作在MWC发布MeeGo整合了Intel的Moblin和Nokia的Maemo2011年9月,Nokia首款MeeGo手机N9上市,也是最后一款2011年4月,Nokia宣布放弃开发Meego,转向WindwosPhone7;9月28日,Intel宣布将MeeGo与LiMo合并成为Tizen2011年10月官网公告:MeeGoisdead,.,Android,.,Droid,.,Nielsen、Beareyes,.,.,OHA开放手机联盟,OHA:OpenHandsetAllianceGoogle公司于2007年11月发起的一个全球性的联盟组织联盟目标加速智能移动设备的发展提供用户更多更好更便宜的服务联盟支持Google可能发布的手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统,.,联盟创始成员Aplix、Ascender、Audience、Broadcom、中国移动、eBay、Esmertec、谷歌、宏达电、英特尔、KDDI、LivingImage、LG、Marvell、摩托罗拉、NMS、NTTDoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、SiRF、SkyPop、SonicNetwork、SprintNextel、Synaptics、TAT、意大利电信、西班牙电信、德州仪器、T-Mobile和WindRiver至2011年5月,成员已达80家手机芯片商、手机制造商移动运营商软件开发商、软件服务商,.,.,Android,Android是OHA发布的开源手机操作系统第一个完整的、开放的、免费的智能移动开发平台基于Linux2.6内核,使用Java进行编程Android包括操作系统、中间件和一些关键应用,.,Android优势,平台的开放性源代码完全开放带来更多的第三方应用、更具差异性的程序、更多的竞争不受限制的开发商针对有限内存、电池、CPU优化的Dalvik虚拟机Android源码遵循ApacheV2而不是GPLv2良好的盈利模式3-7开的盈利模式极大的激发了软件开发者的热情Google应用的无缝结合10余年间,Google已完成全面的互联网渗透地图、邮件、搜索等服务与手机的无缝结合,.,Android不足,由于采用了Java作为应用开发语言,目前可用的传统第三方应用还很少Google仅提供了一套Java核心包(J2SE5,J2SE6)的有限子集,可能会造成Java阵营的进一步分裂基于QEMU开发的模拟器调试手段不够丰富,只支持通话、SMS等,运行速度慢不具备PushMail、Office功能,对商业用户支持尚弱,.,Android系统架构,Linux内核,API库,应用程序框架,应用程序,.,Android特点,应用框架可以重复使用,其组件也可以更换Dalvik虚拟机针对移动设备进行了优化优化的图形能力支持2D/3D图形(OpenGLES1.0)集成了开源WebKit引掣、SQLite轻型数据库等丰富的开发环境,包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件,.,多媒体支持多种音频、视频格式GSMTelephony(hardwaredependent)支持蓝牙Bluetooth,3G和WiFi支持照相机、GPS、指南针和加速度仪等传感器硬件应该有的都有,.,DVMvs.JVM,DVM(Google)针对便携设备有限的系统资源和供电进行专门优化Dalvikexcutablebytecode每个应用程序在它自己的DalvikVM实例中执行优化后的dex代码JVM(Sun)跨平台Javabytecode唯一的JVM实例,.,最新消息,2011年7月,国内可直接访问Android开发者网站2011年8月,Google以125亿美元收购摩托罗拉移动,以应对Apple和微软针对Android设备制造商进行的专利诉讼2011年10月,Google发布AndroidSDK4.0,实现手机和平板电脑应用开发平台的统一,.,Android应用编程,AndroidSDK所支持的操作系统:WindowsXP(32bit)orVista(32/64bit)MacOSX10.5.8orlater(x86only)Linux(testedonLinuxUbuntuDapperDrake),.,开发环境,IDEEclipseforJavaEclipseplug-inADT(AndroidDevelopmentTools)SoftwareDevelopmentKitAndroidSDK,.,调试工具,AndroidEmulatorAVD(AndroidVirtualDevice)DebugerADB(AndroidDebugBridge)DDMS(DalvikDebugMonitorService),.,开发环境建立,安装配置顺序jdkeclipsesdkadtok请参考,.,获取Android资料的途径,.,SayHellotoAndroid,AndroidEmulator可模拟电话本、通话等功能内置的浏览器和GoogleMaps都可以联网可以使用PC键盘输入(不包括小键盘)可使用模拟器按键、键盘输入可以使用鼠标单击、拖拽屏幕进行操作,.,AndroidEmulator和真机的不同不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼入和呼出不支持USB连接不支持相机、视频捕捉不支持音频输入,但支持输出不支持扩展耳机不能确定连接状态不能确定电池电量水平和交流充电状态不能确定SD卡的插入/弹出不支持蓝牙模拟器在PC机上产生的临时文件需要手工清理,.,apk文件:Android上的安装文件apk是Android安装包的扩展名,安装包内包含了与该Android应用程序相关的所有文件Android将AndroidManifest.xml文件、应用程序代码(.dex文件)、资源文件和其他文件打成一个压缩包,即.apkapk文件的本质是一个压缩包,.,.,Activity活动,Android应用程序中最基本的组件,应用程序中一个Activity通常就是一个单独的屏幕每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应大多数的应用是由多个屏幕显示组成,.,示例:Helloworld,onAndroid,.,HelloWorld,Eclipse下自动生成newandroidprojectHelloWorld,.,HelloWorld.java,Java程序,packagetest.helloworld;importandroid.app.Activity;importandroid.os.Bundle;publicclassHelloWorldextendsActivity/*Calledwhentheactivityisfirstcreated.*/OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);,返回,.,R.java,Java程序,/*AUTO-GENERATEDFILE.DONOTMODIFY.*/packagetest.helloworld;publicfinalclassRpublicstaticfinalclassattrpublicstaticfinalclassdrawablepublicstaticfinalinticon=0 x7f020000;publicstaticfinalclasslayoutpublicstaticfinalintmain=0 x7f030000;publicstaticfinalclassstringpublicstaticfinalintapp_name=0 x7f040001;publicstaticfinalinthello=0 x7f040000;,返回,.,main.xml,xml文件,Resources,返回,.,strings.xml,xml文件,HelloWorld,HelloWorld!HelloWorld,显示内容:HelloWorld,HelloWorld!,.,AndroidManifest.xml,xml文件,返回,.,RUN,RUN,.,模拟器运行,显示内容:HelloWorld,HelloWorld!,.,屏幕分辨率,入门级的:QVGA(320 x240)主流的:HVGA(480 x320)主流的:WVGA800(800 x480)moto特有的:WVGA854(854x480)魅族M9:960 x640三星GalaxyTabP1000:1024x600(7寸屏)基准分辨率:VGA(640 x480)HVGA-L或是-P:横屏、竖屏模拟器的默认分辨率依SDK版本而不同,.,(1)EmulatorControl:(2)adb命令:smssend10086?(3)模拟器之间互发:55545556(3)模拟器自发自收:55545554,发送短信的方式,.,Activity的生命周期,onCreate()onStart()onResume()onPause()onStop()onRestart()onDestroy(),.,示例:Activity,onAndroid,.,findViewById方法实现UI组件的实例化不同Activity之间的切换Activity在manifest.xml文件中的注册Toast的使用,.,Intent:组件之间的使者,Intent:不同组件之间通信的“媒介”,用于描述程序想要做什么Intent可以包括:动作Action数据Data,以URI的形式表示分类Category类型Type组件Component扩展信息Extra常用于启动新的Activty、Service或是发起新的Broadcast等,.,用于启动一个新的Activity,实现多个Activity间的切换定义并实例化一个Intent调用startActivity()方法启动新的Activity,button0=(Button)findViewById(R.id.button0);button0.setOnClickListener(newView.OnClickListener()OverridepublicvoidonClick(Viewv)/TODOAuto-generatedmethodstubIntentintent=newIntent(MainActivity.this,Common_Widget_Test.class);startActivity(intent););,.,示例:IntentAction,onAndroid,.,实例:Test_of_Intent_Action,使用系统提供的标准Action不同的Action执行不同的动作,.,Service:后台服务,后台运行,几乎不与用户交互,没有可视化界面与Activity一样,同属Android基本组件同样需要在AndroidManifest.xml中注册,.,Service:后台服务,每一个服务均继承自父类Service同样以startService()方法启动服务,button1=(Button)findViewById(R.id.button1);button1.setOnClickListener(newView.OnClickListener()publicvoidonClick(Viewv)Intentintent1=newIntent(Runnable_Service_Test.this,Runnable_Service.class);intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startService(intent1););,.,示例:Service,onAndroid,.,实例:Test_of_Service,privateRunnabletask1=newRunnable()publicvoidrun()intCounter+;Log.i(test,intCounter:+Integer.toString(intCounter);Toast.makeText(getApplicationContext(),Integer.toString(intCounter),Toast.LENGTH_SHORT).show();handler1.postDelayed(task1,1000*second);,Runnable:允许服务持续运行,即使启动服务的应用退出类似于定时器中断的中断服务程序,.,BroadcastReceiver:系统级别的事件处理机制UI的事件处理机制:程序、组件级别的sendBroadcast(Intentintent)方法发送广播BroadcastReceiver.onReceive()方法接收广播并做相应处理多个广播接收器可能同时接收同一个广播,BroadcastReceiver:广播接收器,.,标准的BroadcastAction常量:ACTION_TIME_CHANGED时间改变ACTION_DATE_CHANGED日期改变ACTION_BATTERY_LOW电量不足ACTION_MEDIA_EJECT插拔外部媒体ACTION_BOOT_C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-2029年中国种羊养殖行业市场深度研究及投资战略规划建议报告
- 2025年 高级焊工职业技能考试练习题附答案
- 2025-2031年中国玻璃移门行业市场发展监测及投资策略研究报告
- 2025年AOI检测设备市场调研报告
- 2025年中国全套管钻机行业市场深度分析及投资策略研究报告
- 2025年中国专网无线通信市场前景预测及投资规划研究报告
- 中国商用汽车行业未来趋势预测分析及投资规划研究建议报告
- 中国通信网络时钟同步设备行业市场深度分析及发展潜力预测报告
- 亚胺薄膜复合-NHN项目投资可行性研究分析报告(2024-2030版)
- 职业卫生检测与评价报告书编制规则
- 2025年湖北省高考政治试卷真题(含答案)
- 老龄化社会的数字包容-洞察及研究
- 广东省深圳市宝安区2023-2024学年二年级下册期末测试数学试卷(含答案)
- 2025江苏扬州宝应县“乡村振兴青年人才”招聘67人笔试备考试题及参考答案详解
- 2025年宁夏银川灵武市选聘市属国有企业管理人员招聘笔试冲刺题(带答案解析)
- 三大监测培训试题及答案
- 两办意见宣贯考试题及答案
- 2025年汽车驾照考试科目一考试题库及参考答案
- 超市商场保密协议书
- 社工社会考试试题及答案
- 跨文化交际知识体系及其前沿动态
评论
0/150
提交评论