【VC++开源代码栏目提醒】:以下是网学会员为您推荐的VC++开源代码-ANDROID 移动平台应用开发课程教学研讨会-- 讲义汇编 - 项目管理,希望本篇文章对您学习有所帮助。
Android移动平台应用开发 课程教学研讨会 -- 讲义汇编 2011年7月5 7月8日 http://my.ss.sysu.edu.cn/mobile2011/ Android移动平台应用开发 课程教学研讨会 -- 讲义汇编 中山大学软件学院 Google Inc. 2011年7月5日 7月8日 Android移动平台应用开发师资培训研讨班SE-806讲义 目 录 Table of Contents 一、 智能手机概述 …………………………………………………………… 1 二、 Android平台概述 ……………………………………………………… 11 三、 开发入门 …………………………………………………………………… 21 四、 界面编程 …………………………………………………………………… 29 五、 事件处理 ………………….……………………………………………….. 39 六、 Broadcast使用 …………………………………………………………… 47 七、 Widget开发 ………………………………………………….…………… 57 八、 服务与多线程 ……………………………………………….…………… 63 九、 数据存储 …………………………………………………………………… 73 十、 网络访问 …………………………………………………………………… 95 十一、 Web服务开发 ……………………………………………………… 105 十二、 Android特色应用 ………………………………………………… 115 十三、 2Damp3D应用 …………………………………………………………. 131 十四、 3D应用进阶-OpenGL透视与光效…………………… 149 智能手机概述 Overview of Smartphone 第 1 页共 156 页 第 2 页共 156 页手机应用平台软件开发1、智能手机概述刘宁Emailliuning2mail.sysu.edu.cn目录1.智能手机2.手机操作系统3.操作系统对比4WebOS与Android4.WebOS与Android嵌入式系统PDA个人信息助理掌上电脑导航产品与谷歌地图PDA 手机 GPS 导航Dopod U1000且支持SkyPEMap-Star的GPS定位设备华硕GPS导航器SONY GPS导航器Nokia 6110 四频HSDPA / GPS 导航器嵌入式系统手机普通手机智能手机与PDA结合网络手机Nokia手机户外音响网络手机gphone韩国电信手机/电视遥控器二合一产品Sony Ericsson超小型手机电脑手机放在底座上成为电脑内置DVB-H 移动电视手机手机扩展手表手机M3001英寸的显示屏USB接口可播放音乐支持蓝牙Nike的Speed手表结合iPod 和运动计测Matias公司让智能型手机可以插的键盘手机能够使用各种软件还能创造虚拟按键IPad电子书上网本游戏机嵌入式技术逐步桌面化2007年计算机厂家进入手机市场苹果iPhone2008年互联网厂家进入手机市场谷歌gPhone谷歌gPhone革了谁的命传统手机厂家处境艰难第 3 页共 156 页目录1、智能手机2、手机操作系统3、操作系统对比4WebOS与Android4、WebOS与Android操作系统Symbian诺基亚为主受谷歌冲击2010年2月
开源S60是主流Windows CE微软“Windows Mobile 将熟悉的Windows 体验扩展到了移动环境中所以您可以立即使用它投入工作。
”现在更名为Windows Phone 7RIM加拿大BlackBerry黑莓邮件是特色y对输入设备都做过特别设计使输入设备可以频繁使用iPhone OS Mac OS X的衍生类Unix系统Objective-CPalm OS 3Com公司的产品专用于掌上电脑Palm OS节能、占有非常小的内存、内置数据库封闭操作系统MeeGo英特尔和诺基亚宣布整合Moblin和Maemo5月25号发布AndroidMontaVista基于嵌入式LinuxSymbian摩托罗拉、西门子、诺基亚→诺基亚→
开源前身是Psion公司的EPOC系统实时性、多任务的纯32位操作系统抢占式的多任务调度和内存保护具有功耗低、内存占用少等特点三个系统设计原则是用户数据的完整性和安全性至关重要不能浪费用户的时间不能浪费用户的时间所有的资源都是稀少的第二代内核EKA2可以运行在单处理器的手机用户应用程序和手机信号栈两者都运行在一个处理器上Symbian OS 操作系统按内核版本分有v6.1v7.0v8.0v8.1v9.1v9.2等按用户平台界面分有S60S80S90UIQMOAP等。
WinCE从计算机到嵌入式系统1996-CE 1.0手持计算机Handheld PC屏幕为480 x 240 pixels、四色灰阶、2 MB 内存、44 MHz 处理器1997-CE 2.xPalm PC支持彩色屏幕-与palm的纠纷2000-CE3.0PocketPCCompaq iPAQ 2001-Pocket PC 2002WinCE 3.0 核心加入了手机功能的支持同核加入了手机功能的支持同年针对小型化智能型手机发表Smartphone 20022002-Windows CE 4.0 .NET2003-Windows Mobile 2003以Windows CE 4.0 .NET为核心2005-以WinCE 5.0 为核心的操作系统Windows Mobile 5.0支持3G 网络具备永续性内存储存一个版本到两个版本Pocket PCMobile再回到一个版本WP7精简的Windows 95、可以使用Windows平台上的编程工具如VB、
VC等Windows phone 7.0Windows Mobile微软的手持设备主要有手机、PDA、随身音乐播放器等2009年2月推出了Windows Mobile 6.5的手机2011年11月推出WP7NokiaWP7RIMResearch in Motion Ltd.BlackBerry的经典设计宽大的屏幕和便于输入的QWERTY键盘为拇指输入而优化最大特点就是手机和电子邮件的融合用户在任何有手机信号的地方接收互联网电子邮件用户在任何有手机信号的地方接收互联网电子邮件推送邮件服务push email??新邮件自动由RIM的服务器传送到手机服务运营商然后直接推送到黑莓终端上。
封闭源码最新版本黑莓OS 7第 4 页共 156 页Palm OS Palm OS是3Com公司的产品专用于掌上电脑。
主要特点良好的节能功能。
合理的内存管理Palm OS占有非常小的内存。
数据以数据库的格式存储1996-PalmPilot 10002002-handera 330胖梨Palm Pre奔迈Treo ProIPhone OSiPhone OS 或OS X iPhone是由苹果公司为iPhone开发的操作系统iPhone、iPod touch以及iPad以Darwin为基础的系统架构分为四个层次内核操作系统层the Core OS layer内核操作系统层the Core OS layer内核服务层the Core Services layer媒体层the Media layer可轻触层the Cocoa Touch layer系统操作占用大概240MB的内存空间源码模式封闭源码开放源码组件最新测试版本5.x beta 9A5220P 2011年6月7日IPad一台iPad WiFi版的实际价值是259.60美元触摸屏95金属后盖10.50美元内部处理器等26.80美元处理器A4A4 封装有三层??两层RAM三星K4X1G323PE256M??两层RAM三星K4X1G323PE256M??一层含有微处理器。
SOC包括ARM CPUGPU显示芯片PowerVR SGX GPUARM架构1GHz主频Cortex-A8单核心微架构iPhone OS 4.3.3最新稳定版2011年5月4日2010年5月25日正式发布嵌入式Linux目前正在开发的嵌入式系统中49的项目选择Linux作为嵌入式操作系统。
Linux现已成为嵌入式操作的理想选择。
所有基于Linux的EOS大多数具有以下特点精简的内核。
性能高、稳定多任务。
持多种体系结构。
提供良好的开发环境。
能够提供完善的嵌入式GUI以及嵌入式X-Windows。
支持大量嵌入式应用程序。
用户可定制。
可提供图形化的定制和配置工具。
丰富的硬件驱动。
提供完善的解决方案。
针对嵌入式的存储方案提供实时版本和完善的嵌入式解决方案。
完善的中文支持。
开放源码。
手机linux操作系统AndroidMontaVista 第 5 页共 156 页目录1、智能手机2、手机操作系统3、操作系统对比4WebOS与Android4、WebOS与Android终端操作系统总体框架分析对比基于其他系统内核类型
开源性CPU指令集首次发布时间开发公司或组织SymbianEPOC微内核是ARMx861994Symbian FoundationWindows PhoneWinCE混合型否ARMMIPSx86SuperH2000年4月MicrosoftBlkB无未知否ARM1999RIMBlackBerry无未知否ARM1999RIMiPhone OSDarwin混合型否ARM2007年1月AppleAndroidLinux宏内核是ARM2008年10月GooglePalm无未知否ARM1996PalmwebOSLinux宏内核部分ARM2009年6月HPMeeGoLinux宏内核是x86ARM2010年3月IntelNokia多任务支持实时性软件安装方式内核编程语言应用编程语言编程API安全性模拟器用户界面Symbian是强软件包Ovi StoreCCJavaPythonJ2MESymbian API数字签名WINSS60UIQMOAPQtWindows Phone是强软件包MarketplaceCCCVBJava.NETJ2MEWinCE API证书和加密VS中集成Windows图形SilverlightBlackBerry是弱软件包App WorldCJavaJ2MEBlackBerry API数字签名有BlackBerry图形iPhone 否弱App StoreCCObjectiveCocoa 数字有Cocoa iPhone OS否弱App StoreCCObjective-CObjective-CCocoa Touch数字签名有Cocoa TouchAndroid是弱Android MarketCCJavaAndroid Java Class权限控制有Android 图形Palm否弱软件包CCCPalm API简单加密有Palm图形webOS是弱软件包、在线安装CCCHTMLJavaScriptAJAXwebOS API有webOS图形MeeGo是弱Intel AppUpOviStoreCCCCMeeGo API无Qt主流平板系统功能对比操作系统代表产品三星Galaxy Tab苹果iPad 摩托罗拉XOOM 黑莓Playbook惠普TouchPad惠普Slate 500多点触控√√√√√√应用商城Android MarketApp Store Android MarketApp WorldApp Catalog×应用数量超过20万约3.8万iPad专用超过20万约25万-约80万兼容桌面版多任务√√√√√√通话功能√×√--×Flash支持√×√√√√浏览器Android Browser SafariAndroid Browser Black Berry浏览器-IEHTML5支持×××√√-3G制式WCDMAWCDMAWCDMA××-WIFI√√√√√√复制粘贴√√√--√无线打印√√√-√√办公套件无预装iWorks无预装--Office资料管理无预装iTunes无预装Black Berry Desktop Manager-无预装其他支持USB设输入备支持Google TV通过扩展接口可以外接键盘、视频输出可读取外部存储支持高清输出--视频通话Gtalk×Gtalk-Skype无预装目录1、智能手机2、手机操作系统3、操作系统对比4WebOS与Android4、WebOS与AndroidWebOS互联网操作系统最新型的嵌入式操作系统WebOS基于网络Web的操作系统Web operating system 或者Web-based Operating System内涵运行在浏览器中的虚拟OS是基于Web的服务的开放式集合运行在浏览器中的虚拟OS是基于Web的服务的开放式集合提供了WebOS API能够根据WebOS API进行编程能够在WebOS中打开应用程序外延用户通过浏览器运行基于Web的在线应用能实现PC操作系统上的各种操作程序语言以PHP XML JS等Web语言为主尽可能消灭高级语言Android是典型的WebOS第 6 页共 156 页Web OSWeb operating system 或者Web-based Operating System中文通常称为基于网络Web的操作系统Web OS概念WebOSWeb OS概念WebOS是一个运行在浏览器中的虚拟的操作系统更为广泛的定义是基于Web的服务的开放式集合an open collection of Web services最早是由UC Berkeley的穆罕默德.Amin.Vahdat等人提出1998最初是为了解决在WWWWorld Wide Web下Internet访问时的资源不足包括带宽、连接等WebOS的提出者对WebOS的最初设计WebOSWebOS的功能用户通过浏览器可以在这个WebOS上运用基于Web的在线应用Web Application的操作来实现PC操作系统上的各种操作包括文档的存储编辑媒体播放等等。
网络资源寻址全球名称空间远程执行程序在客户端执行服务器程序资源管理认证与安全WebOS不仅仅是“the web as in HTTP”具备了一些传统操作系统的特点WebOS提供了WebOS API能够根据WebOS API进行编程能够在WebOS中打开应用程序区别WebOS区别使用PHP XML and JavaScript等Web语言实现基于网页的操作系统打开网页就等于进入了一个操作系统Web OS支持丰富的网络操作网页浏览RSS阅读直接支持一些Web APIWebOS提供集中的、全面的涉及到方方面面的基础网络应用、友好的便于使用Web资源访问能力是一组网络功能的集合表现上可以是一个软件包安装这个软件可以方便地使用互联网Web API全称是Web Application Program Interface网络应用程序编程接口类似于微软提供的Windows APIWebOS??微软的Windows API提供了本机的操作接口Web API提供了网络的操作接口把Web的基本操作程序封装在一起称为Web OS有其合理性第 7 页共 156 页WebOS的优点基于Web的标准化程度很高不同的程序和服务能够方便的进行对接尚未形成标准有
开源的WebOS可以参考省去下载免受病毒木马的骚扰不用安装应用软件免去维护对硬件的要求低不用安装应用软件免去维护对硬件的要求低软件的扩展性好可以无缝的升级软件功能对开发者而言更容易解决盗版问题同样也解决了收费困难的问题终端随意选择可以在不同浏览器、不同的操作系统运行程序甚至可以在其他的终端WebOS的缺点执行效率低因为webos中的程序运行的容器是浏览器中间的环节是webos运行web service浏览器运行webosos运行浏览器机器码运行os等4个环节。
传统的程序运行环节仅仅是os 运行software和机器码运行os 两个环节。
环节越多、耗损越大、效率越低带宽瓶颈WebOS的缺点开发难度大主要是js调试困难而且浏览器的兼容性一直让开发者头大。
webos如果要进步的话语言也同样需要改善网络依赖性过强不能上网怎么办服务器瘫痪怎么办服务器数据库崩溃资料怎么办google目前有离线的浏览器应用程序但需要在浏览器上装一个插件。
而一旦装了插件他就已经无法理清与传统os软件的瓜葛了。
隐私性操作在网上数据在服务器上因此有些事情可能无法百分百掌控了已有的WebOS基本处于Alpha或者beta状态有多于30个的WebOSI-Cube提供1G的在线存储和文件共享多媒体支持和一些常用办公工具。
同时拥有一个email客户端和编程开发工具。
EyeOS
开源软件可以下载使用也可以在其服务器上在线使用。
拥有丰富的网络程序以及办公套件。
第 8 页共 156 页Desktoptwo基于Flash的功能齐全的WebOS大部分服务都是以Flash的形式提供以弹出窗口形式打开提供了搜索时钟和系统信息的还有停靠栏播放器Widget还有停靠栏MP3播放器RSS阅读器即时通讯工具OpenOfficeHTML编辑器笔记本和若干个其它的小程序YouOS提供了很多有用的应用程序聊天客户端IM软件文件浏览器RSS阅读器等等。
这些程序的响应速度比较快存在一些问题如缩放RSS阅存在一些问题如缩放RSS阅读器大小时就显得不太流畅。
Craythur / G.ho.st类似于Windows的操作界面GhtCraythurG.ho.stTomOS中文WebOS服务WebOS是下一代手机软件平台吗优点基于Web的标准化程度很高不同的程序和服务能够方便的对接无需下载维护方便软件升级扩展性好免受病毒木马的骚扰容易解决盗版问题解决了收费困难的问题可在不同浏览器、不同的OS上运行程序甚至可以在其他的终端WebOS是下一代手机软件平台吗缺点执行效率低??机器码运行os →os运行浏览器→浏览器运行webos →webos运行web service传统机器码运行 运行ft??传统机器码运行os →os 运行software网络依赖性过强对网络要求高WebOS本身开发难度大js调试困难浏览器的兼容性差隐私性操作在网上数据在服务器上第 9 页共 156 页Android/chrome都是一种WebOSAndroid: google phoneChromegoogle browser屏蔽底层OS/驱动/GUI运行机制完全开放
开源遵循Apache v2 License免费的商业性使用软件服务提供商提供专业的Adid平台应用屏蔽底层OS/驱动/GUIOS可以是linux或其他驱动程序支持各种BSPGUI可以是各类提供上层应用以API非OS的API技术路线Linux内核apache提供专业的Android平台应用服务手机开发厂商可以方便的基于Android平台添加个性化的应用和服务收费广告引擎Questions第 10 页共 156 页 Android平台概述 Overview of Android 第 11 页共 156 页 第 12 页共 156 页手机应用平台软件开发2、Android平台概述刘宁Emailliuning2mail.sysu.edu.cn课程简介课程目标了解智能手机开发现状Android平台体系结构和应用程序模型覆盖了几个主要技术应用。
基本概念系统架构开发环境搭建程序设计基础UI开发网络开发数据存储多媒体开发Widget程序优化获取Android资料的途径http://androidappdocs.appspot.com/sdk/index.htmSDK下载/安装快速入门样例程序其他资源http://developer.android.comAndroid 平台概述Android 软件系列包括操作系统、中间件和一些关键应用。
Android是基于JAVA的系统运行在Linux 2.6核上。
Android SDK 提供多种开发所必要的工具与API。
Android发展历史Android的代号序列会按甜点名字中首个英文字母C、D、E、F的排列顺序Android 2.3 Gingerbread姜饼2010年12月7日发布游戏增加了新的垃圾回收和优化处理事件以提高对游戏的支持能力。
原生
代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSLES。
新的管理窗口和生命周期的框架。
多媒体支持VP8和WebM视频格式提供AAC和AMR宽频编码提供了新的音频效果器比如混响、均衡、虚拟耳机和低频提升通讯方式支持前置摄像头、SIP/VOIP和NFC近场通讯站在用户的角度看这次更新的亮点主要有简化界面、速度提升更快更直观的文字输入一键文字选择和复制/粘帖改进的电源管理系统新的应用管理方式原生支持前置前置摄像头、互联网通话和NFC近场通讯系统原生支持VoIP可以在联系人里加入它的SIP帐户然后直接通过系统来拨打VoIP电话。
Android 2.4 Ice cream sandwich冰激凌三明治预计在2011年第四季度发布。
其甜品代号为Ice cream sandwich冰激凌三明治6第 13 页共 156 页Android HandsetsSonyX107Motorola CliqHTC G1HTC HeroSamsung i7500Samsung MomentMotorola DroidHTC MagicHTC TattooSony X10Android Embedded MID数码相框微波炉洗衣机8Ebook ReaderMID…etc谷歌TV2010年5月19日发布百万个电视台硬件英特尔的Atom CE4100 SoC2009年发布的产品??支持1080p 影片播放、Blu-ray??支持MPEG-4、3D绘图Sony的电视机罗技的遥控器软件Android 2.1支持Flash 10.1支持Android market的软件与gPhone互动Android手机当遥控器来操作Google TV手机上正在看的东西可以丢到google TV上播放9Android一个开放的操作系统软件平台Androidgt 一家公司Google 2005年并购发展了Android的联盟-OHA 电信运营商电信运营商半导体生产商手机生产制造商软件开发公司……开放手机联盟---OHA2007年11月5日Google与其他33家手制造商、手机芯片供货商、软硬件供货商、电信业者所联合组成的开放手持装置联盟Open Handset Alliance发布了名为「Android」的开放手机软硬件平台。
Android平台公布一周后11月12日Google发布可免费自由下载能在多平台上使用的Android软件开发工具与相关文件随后再次发布操在多平台上使用的Android软件开发工具与相关文件。
随后再次发布操作系统核心kernel与部分驱动程序的原始码。
2008年9月24日T-Mobile发布第一台Android手机G1的细节同日Google也释出了Android SDK 1.0 rc1。
10/21日Open Handset Alliance公开了全部Android的原始码。
从此开发者拥有了一个完全开放的手机平台。
开放手机联盟---OHAhttp://www.openhandsetalliance.com/index.html第 14 页共 156 页OHA与AndroidOHA是一个软硬件开发者组织包括Google NTT DoCoMo Sprint Nextel and HTC …目标加速智能移动设备的发展提供用户更多更好更便宜的服务由OHA开发的Android??是第一个完整的、开放的、免费的智能移动开发平台。
中移动OPhone及OMSOpen Mobile System-基于Android深度定制的实际产品基于Android深度定制的实际产品Android 的特点基于Linux核心的操作系统原始码开放免授权费易于推出中价与入门级智能型手机与既有Google Service的紧密结合完整度高的架构友善的开发环境完整度高的架构友善的开发环境虚拟机技术-应用程序开发者不需考虑硬件细节Google Services for Mobile16Web ServiceSocial NetworkWeb AlbumWeb Storage.