版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能手机应用开发基础兰州大学移动联合实验室,2011.11,主要内容,智能手机是什么,智能手机有哪些,智能手机的操作系统,OHA Android,Android 应用编程实例,智能手机(Smartphone),智能手机的特点 具备普通手机的全部功能,如正常的通话、收发短信等 具备无线接入互联网的能力,即支持GPRS/CDMA1X/3G网络 具备PDA的功能,包括个人信息管理、日程记事、多媒体应用等 具备一个具有开放性的操作系统,扩展性能强,可安装更多的第三方应用程序 具有人性化的一面,可根据个人需要定制机器功能,智能、非智能,具备中央处理器(CPU)的,未必就是智能手机 联发科 MTK6225
2、: 内核:ARM ARM7EJ-S 主频:104MHz TI OMAP4430: 内核:ARM Cortex-A9 MPCore + PowerVR SGX540 主频:1GHz,安装有操作系统(OS)的,未必就是智能手机 S40、Nucleus: 简单易用 几乎没有什么扩展能力 Android、iOS、Symbian、Windows Mobile: 可扩展、定制 高功耗,支持 3G 的手机,未必就是智能手机 3rd Generation,第三代数字通信,只是一种通信技术标准 符合 3G 标准就是 3G 手机,与智能与否无关 简言之,智能手机就是一台可以随意安装和卸载应用软件的手机(专用计算机
3、): 很容易就能够从网络上获取第三方应用软件 检索软件的依据是手机操作系统而不是手机品牌型号 获取软件的网站是手机软件市场而不是手机厂商网站,智能手机的主要品牌,智能手机的操作系统,BlackBerry 邮件是特色,对输入设备做过特别设计 iPhone OS Mac OS X 的衍生,类 Unix 系统,Objective-C Windows CE 微软:“ Windows Mobile 将熟悉的 Windows 体验扩展到了移动环境中,所以您可以立即使用它投入工作。” Symbian 诺基亚为主,2010年2月开放,以 S60 为主流 Palm OS 掌上电脑专用,节能、资源占用少、内置数据
4、库 MeeGo 由英特尔和诺基亚整合 Moblin 和 Maemo 而来 Android、MontaVista 基于嵌入式 Linux,BlackBerry,RIM 1984年成立,加拿大为数不多的全球知名品牌之一 特点:手机和电子邮件的融合,商务性能优越 宽大的屏幕和便于输入的 QWERTY 键盘,为拇指输入而优化 推送邮件服务(push email):新邮件自动由 RIM 服务器传送到手机服务运营商,然后直接推送到黑莓终端上 RIM 服务器的数量、分布、可靠性直接影响用户的邮件应用 封闭源码,iPhone OS,源自 Mac OS X,类 Unix 系统 iPhone、iPod Touch
5、、iPad 特点: 多点触摸(Multi-Touch)界面 对 Java、Flash 的支持有限 系统架构分为四个层次 内核操作系统层(the Core OS layer) 内核服务层(the Core Services layer) 媒体层(the Media layer) 可轻触层(the Cocoa Touch layer) 封闭源码 + 开放源码组件,Windows CE,Windows CE:精简的 Windows95 类似的操作界面、类似的编程工具 2009.2Windows Mobile 6.5 2010.10Windows Phone 7 2011.2Nokia 加盟 2011
6、.9Windows Phone 7.5,WinCE 的系统结构、主要组成部件,Symbian,Symbian 的前身是 Psion 公司的 EPOC 系统 实时性、多任务的纯32位操作系统 抢占式的多任务调度和内存保护 具有功耗低、内存占用少等特点 三个系统设计原则 用户数据的完整性和安全性至关重要 不能浪费用户的时间 所有的资源都是稀少的 Symbian OS 分类 按内核版本分有v6.1,v7.0,v8.0,v8.1,v9.1,v9.2等 按用户平台(UI)分有S60,S80,S90,UIQ,MOAP等,Symbian,1998年6月,为了在智能移动终端领域对抗微软、Palm,诺基亚、摩托
7、罗拉、爱立信、三菱和宝意昂(Psion)共同成立 Symbian 公司 2003年,竞争加剧,Symbian 阵营成员开始脚踏多只船,摩托罗拉转投 Windows Mobile 2004年2月,诺基亚收购了 Psion 的 Symbian 股权,在 Symbian 的股权达到63.3%;10月 Symbian 宣布与英特尔合作 风光一时,Symbian,Symbian,Symbian,由于对新兴的社交网络和 Web 2.0 支持欠佳, Symbian 的市场占有率从2006年三季度的72.8%逐年下降至2010年三季度的37.6% 自2009年底开始,摩托罗拉、三星、LG、索爱等各大厂商纷纷转
8、投 Android,而诺基亚则推出了面向高端市场的 Maemo 平台 2011年初,诺基亚宣布与微软成立战略联盟,推出基于Windows Phone 的智能手机,并宣布 Symbian 系统不再更新,仅对用户界面 UI 进行改进,Symbian 系统的生命周期终止,Palm OS,一个开放式软件架构,简单高效 主要特点: 良好的节能功能,极低功耗 合理的内存管理,内存占用非常小 以数据库的形式存储数据 与3Com公司几经离合,最终独立 2009年2月,Palm 公司宣布将专注于 webOS 和 Windows Mobile,终止 Palm OS 的研发应用 2010年,与3Com同时被HP收购
9、 2011年8月,惠普放弃 webOS,Meego,Nokia N9,Meego,2010年2月,Intel 和 Nokia 合作在 MWC 发布 MeeGo 整合了 Intel 的 Moblin 和 Nokia 的 Maemo 2011年9月,Nokia 首款 MeeGo 手机 N9 上市,也是最后一款 2011年4月, Nokia 宣布放弃开发 Meego,转向 Windwos Phone 7;9月28日,Intel 宣布将 MeeGo 与 LiMo 合并成为 Tizen 2011年10月官网公告:MeeGo is dead,Android,Droid,Nielsen、Beareyes,O
10、HA 开放手机联盟,OHA:Open Handset Alliance Google 公司于2007年11月发起的一个全球性的联盟组织 联盟目标 加速智能移动设备的发展 提供用户更多更好更便宜的服务 联盟支持 Google 可能发布的手机操作系统或者应用软件,共同开发名为 Android 的开放源代码的移动系统,联盟创始成员 Aplix、Ascender、Audience、Broadcom、中国移动、eBay、Esmertec、谷歌、宏达电、英特尔、KDDI、Living Image、LG、Marvell、摩托罗拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVide
11、o、高通、三星、SiRF、SkyPop、Sonic Network、Sprint Nextel、Synaptics、TAT、意大利电信、西班牙电信、德州仪器、T-Mobile 和 Wind River 至2011年5月,成员已达 80 家 手机芯片商、手机制造商 移动运营商 软件开发商、软件服务商,Android,Android 是 OHA 发布的开源手机操作系统 第一个完整的、开放的、免费的智能移动开发平台 基于 Linux 2.6 内核,使用 Java 进行编程 Android 包括操作系统、中间件和一些关键应用,Android 优势,平台的开放性 源代码完全开放带来更多的第三方应用、更具
12、差异性的程序、更多的竞争 不受限制的开发商 针对有限内存、电池、CPU 优化的 Dalvik 虚拟机 Android 源码遵循 Apache V2 而不是 GPL v2 良好的盈利模式 3-7 开的盈利模式极大的激发了软件开发者的热情 Google 应用的无缝结合 10 余年间,Google 已完成全面的互联网渗透 地图、邮件、搜索等服务与手机的无缝结合,Android 不足,由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少 Google 仅提供了一套 Java 核心包(J2SE 5,J2SE 6)的有限子集,可能会造成 Java 阵营的进一步分裂 基于 QEMU 开发的
13、模拟器调试手段不够丰富,只支持通话、SMS 等,运行速度慢 不具备 Push Mail、Office 功能,对商业用户支持尚弱,Android 系统架构,Linux 内核,API 库,应用程序框架,应用程序,Android 特点,应用框架可以重复使用,其组件也可以更换 Dalvik 虚拟机针对移动设备进行了优化 优化的图形能力支持 2D/3D 图形(OpenGL ES 1.0 ) 集成了开源 WebKit 引掣、SQLite 轻型数据库等 丰富的开发环境,包括模拟机、调试工具、内存运行检测,以及为 Eclipse IDE 所写的插件,多媒体支持多种音频、视频格式 GSM Telephony (
14、hardware dependent) 支持蓝牙 Bluetooth,3G 和 WiFi 支持照相机、GPS、指南针和加速度仪等传感器硬件 应该有的都有,DVM vs. JVM,DVM(Google) 针对便携设备有限的系统资源和供电进行专门优化 Dalvik excutable bytecode 每个应用程序在它自己的 Dalvik VM 实例中执行优化后的 dex 代码 JVM(Sun) 跨平台 Java bytecode 唯一的 JVM 实例,最新消息,2011年7月,国内可直接访问 Android 开发者网站 2011年8月,Google 以 125 亿美元收购摩托罗拉移动,以应对 A
15、pple 和微软针对 Android 设备制造商进行的专利诉讼 2011年10月,Google 发布 Android SDK 4.0,实现手机和平板电脑应用开发平台的统一,Android 应用编程,Android SDK 所支持的操作系统: Windows XP(32 bit)or Vista(32/64 bit) Mac OS X 10.5.8 or later(x86 only) Linux(tested on Linux Ubuntu Dapper Drake),开发环境,IDE Eclipse for Java Eclipse plug-in ADT(Android Developme
16、nt Tools) Software Development Kit Android SDK,调试工具,Android Emulator AVD(Android Virtual Device) Debuger ADB(Android Debug Bridge) DDMS(Dalvik Debug Monitor Service),开发环境建立,安装配置顺序 jdk eclipse sdk adt ok 请参考 参考视频:youku、tudou,获取 Android 资料的途径, 下载 sdk 等相关软件 查看文档、在线帮助 开发社区 国内需要代理才能访问 news、sdk下载 开发FAQ、源码
17、下载、移植,Say Hello to Android,Android Emulator 可模拟电话本、通话等功能 内置的浏览器和 Google Maps 都可以联网 可以使用 PC 键盘输入(不包括小键盘) 可使用模拟器按键、键盘输入 可以使用鼠标单击、拖拽屏幕进行操作,Android Emulator 和真机的不同 不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼入和呼出 不支持USB连接 不支持相机、视频捕捉 不支持音频输入,但支持输出 不支持扩展耳机 不能确定连接状态 不能确定电池电量水平和交流充电状态 不能确定 SD 卡的插入/弹出 不支持蓝牙 模拟器在 PC 机上产生的临时文件需
18、要手工清理,apk 文件:Android 上的安装文件 apk 是 Android 安装包的扩展名,安装包内包含了与该 Android 应用程序相关的所有文件 Android 将 AndroidManifest.xml 文件、应用程序代码(.dex文件)、资源文件和其他文件打成一个压缩包,即 .apk apk 文件的本质是一个压缩包,Activity 活动,Android 应用程序中最基本的组件,应用程序中一个Activity 通常就是一个单独的屏幕 每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应 大多数的应用是由多个屏幕显
19、示组成,示例:Hello world,on Android,Hello World,Eclipse 下自动生成 new android project HelloWorld,HelloWorld.java,Java 程序,package test.helloworld; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity /* Called when the activity is first created. */ Override public voi
20、d onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); ,返回,R.java,Java 程序,/* AUTO-GENERATED FILE. DO NOT MODIFY. */ package test.helloworld; public final class R public static final class attr public static final class drawable public static final in
21、t icon=0 x7f020000; public static final class layout public static final int main=0 x7f030000; public static final class string public static final int app_name=0 x7f040001; public static final int hello=0 x7f040000; ,返回,main.xml,xml 文件, ,Resources,返回,strings.xml,xml 文件, Hello World, HelloWorld! Hel
22、loWorld ,显示内容: Hello World, HelloWorld!,AndroidManifest.xml,xml 文件, ,返回,RUN,RUN,模拟器运行,显示内容: Hello World, HelloWorld!,屏幕分辨率,入门级的:QVGA(320 x240) 主流的:HVGA(480 x320) 主流的:WVGA800(800 x480) moto特有的:WVGA854(854x480) 魅族 M9:960 x640 三星 Galaxy Tab P1000:1024x600(7 寸屏) 基准分辨率:VGA(640 x480) HVGA-L 或是 -P:横屏、竖屏 模拟
23、器的默认分辨率依 SDK 版本而不同,(1)Emulator Control: (2)adb 命令:sms send 10086 ? (3)模拟器之间互发:55545556 (3)模拟器自发自收:55545554,发送短信的方式,Activity 的生命周期,onCreate() onStart() onResume() onPause() onStop() onRestart() onDestroy(),示例:Activity,on Android,findViewById 方法实现 UI 组件的实例化 不同 Activity 之间的切换 Activity 在 manifest.xml 文件
24、中的注册 Toast 的使用,Intent:组件之间的使者,Intent:不同组件之间通信的“媒介”,用于描述程序想要做什么 Intent 可以包括: 动作 Action 数据 Data,以 URI 的形式表示 分类 Category 类型 Type 组件 Component 扩展信息 Extra 常用于启动新的 Activty、Service 或是发起新的 Broadcast 等,用于启动一个新的Activity,实现多个Activity 间的切换 定义并实例化一个 Intent 调用 startActivity() 方法启动新的 Activity,button0=(Button)findV
25、iewById(R.id.button0); button0.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) / TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this, Common_Widget_Test.class); startActivity(intent); );,示例:IntentAction,on Android,实例:Test_of_Intent_Action,使用系
26、统提供的标准 Action 不同的 Action 执行不同的动作,Service:后台服务,后台运行,几乎不与用户交互,没有可视化界面 与 Activity 一样,同属 Android 基本组件 同样需要在 AndroidManifest.xml 中注册, ,Service:后台服务,每一个服务均继承自父类 Service 同样以 startService() 方法启动服务,button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() public void o
27、nClick(View v) Intent intent1=new Intent(Runnable_Service_Test.this, Runnable_Service.class); intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startService(intent1); );,示例:Service,on Android,实例:Test_of_Service,private Runnable task1 = new Runnable() public void run() intCounter+; Log.i(test, int Cou
28、nter: +Integer.toString(intCounter); Toast.makeText(getApplicationContext(), Integer.toString(intCounter), Toast.LENGTH_SHORT) .show(); handler1.postDelayed(task1, 1000*second); ;,Runnable: 允许服务持续运行,即使启动服务的应用退出 类似于 定时器中断的中断服务程序,Broadcast Receiver:系统级别的事件处理机制 UI的事件处理机制:程序、组件级别的 sendBroadcast(Intent intent)方法 发送广播 BroadcastReceiver.onReceive()方法 接收广播并做相应处理 多个广播接收器可能同时接收同一个广播,Broadcast Receiver:广播接收器,标准的 Broadcast Action 常量: ACTION_TIME_CHANGED时间改变 ACTION_DATE_CHANGED日期改变 ACTION_BATTERY_LOW电量不足 ACTION_MEDIA_EJECT插拔外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 剧毒化学品道路运输通行证核发表格
- 2026安康公考面试题及答案
- 2026安徽民航面试题及答案
- 任务四 汽车垂直媒体平台促销
- 热力总站技术室工作职责培训课件
- 《物联网概论》课件 5.4应用实例-无线传感器网络
- 2025年区域粮食市场协同监管
- 拌和站安全技术交底汇编
- 教案3-项目一 汽车测评知识认知-汽车测评基础知识
- 招聘服务流程外包合同
- 2026高考作文终极预测10大母题超详细指导(写作指导+误区+热点素材+高分范文)
- 2026年安全生产月-人人讲安全、个个会应急-排查整治风险隐患
- 2026年高考作文备考预测之“新质生产力与科技自强”:主题素材+写作维度+试题分析
- 2026年江西有色智联科技有限公司招聘6人笔试参考试题及答案解析
- 2026厦门国有资本运营有限责任公司招聘笔试历年常考点试题专练附带答案详解
- 2026山东威海热电集团有限公司招聘44人笔试参考题库及答案解析
- 2026年陕西好猫卷烟材料有限责任公司招聘(10人)笔试模拟试题及答案解析
- 2026中国能源传媒集团有限公司社会招聘(6人)笔试模拟试题及答案解析
- 可燃气体报警系统施工方案
- 2025-2026学年河北省唐山市第五十四中学八年级下学期5月月考数学试题(含答案)
- 国开2026年社区护理学(本)形考任务1-5答案
评论
0/150
提交评论