版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java移动开发(Android)第1讲:Android平台介绍、环境搭建魏志军13823091082284528575@主要内容:平台简介 平台架构Android市场介绍并搭建开发环境建立第一个应用程序,运行并调试用户界面元素介绍程序资源和资产数据存储1.1:Android平台概述Android本义为“机器人”,现作为手机平台项目的名字。对于开源爱好者而言,指的是Android开源项目。是Google开发的基于Linux平台的、开源的、智能手机操作系统。Android包括操作系统、中间件和应用程序。Android发展历史2007年11月,Google公司宣布其基于linux平台的开源手机操作系统的项目名字为“Android”;2008年3月,AndroidSDK发布,代号为m5-rc152008年8月,Android0.9SDKbeta版本发布,代号为m5-0.9。提供了windows、Linux32位版本、MacOSXIntel版本。3Android发展和历史Android1.1发布时间:发布于2009年2月代表手机:T-MOBILEG1HTCG1又名Dream,象征了Android梦幻般的开始,而G1也是Android系统里程碑般的机型。缺点:不支持虚拟键盘输入没有桌面同步软件无法使用立体声蓝牙4Android发展和历史Android1.5(小蛋糕)发布于2009年5月代表手机:摩托罗拉CILQAndroid1.6(甜甜圈)发布日期:2009年9月发布代表手机:索尼爱立信X10Android1.6增加对CDMA网络的支持,重新设计了AndroidMarket,以及加强了操作系统的搜索功能。5Android发展和历史Android2.0Eclair
发布日期:2009年10月26日代表机型:摩托罗拉XT800,摩托罗拉里程碑Android2.0的出现,是真正将谷歌带至了巅峰,自此Android拥有了强大的终端产品支持,有着丰富的AndroidMarket,以及越来越多的用户群体。6Android发展和历史Android2.1Eclair
Android2.1:2009年10月26日,又一个主要版本推出Android2.1主要特性:提升硬件速度更多屏幕以及分辨率选择用户界面改良支持Exchange活动墙纸改进虚拟键盘蓝牙2.1Google地图7Android发展和历史Android3.0Honeycomb2011年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android3.0Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用Android3.0系统的是MOTOXOOM。该机是摩托罗拉移动在2011年1月5日,在美国拉斯维加斯CES电子消费展推出的旗下首款平板电脑。Android3.0系统特性
·专用于平板电脑·全新设计的UI增强网页浏览功能
·n-apppurchases功能
·经过优化的Gmail电子邮箱;
·全面支持GoogleMaps8Android发展和历史Android4.0IceCreamSandwich(冰激凌三明治)Android统一版本电视手机平板融合全新设计的UI人性化体验界面专为双核处理器编写的优化驱动同步升级Linux内核更新3.0以上版本更加丰富的数据传输功能针对多核处理器优化运行速度全面提升语音识别的键盘全新的谷歌电子市场全新的3D驱动,游戏支持能力提升9Android发展和历史Android4.1JellyBean(果冻豆)UI界面更加流畅全新设计的UI人性化体验界面主界面图标自动排列等功能语音键盘,支持离线语音输入支持语言增多盲文输入器拍照能力提升优化搜索Play商店增加新功能GoogleNow1.1:Android平台概述Android模拟环境1.1:Android平台概述Android在技术上的优势主要有以下几点:全开放智能手机平台多硬件平台的支持使用众多的标准化技术核心技术完整,统一完善的SDK和文档完善的辅助开发工具
开发者可以在完备的开发环境中进行开发,Android的官方网站也提供了丰富的文档、资料12Android平台特点开放性Android是一个真正意义上的开放性移动设备综合平台。关键是内核开放。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保证。所有的应用是平等的所有的Android应用之间是完全平等的。所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是”应用”。13应用无限性
Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。Android平台特点14快速方便的开发应用
Android平台为开发人员提供了大量的实用库和工具,开发人员可以很快速的创建自己的应用。例如在别的手机平台上要进行基于位置的应用的开发是相当的复杂的,而Android将GoogleMap集成了进来,开发人员通过简单的几行代码就可以实现一个的一个地图应用Android平台特点1.2:Android平台内涵1、Android平台的功能提供应用程序框架,开发者可以遵循这些框架搭建应用程序,可以参考applet或J2me的MIDLet。定制的Dalvik虚拟机:可以参考JVM来理解Dalvik虚拟机,该虚拟机是D公司开发的,遵循的规范与java虚拟机不同,支持的字节码是“dex”(Dalvikexecutable)文件,不支持通常的java类文件(class文件)字节码集成了WebKit开源项目的浏览器:Webkit包含一个网页引擎webcore和一个脚本引擎JavaScriptcore。可以将Android平台的浏览器视为google公司的浏览器产品的移动设备版本。2D和3D图形引擎。2D基于SGL,3D基于OpenGLES1.0规范提供SQLite数据库用于结构化数据存储:Sqlite是一个能够嵌入到进程内部的库,实现了独立性、无需服务器、零配置和事务处理的Sql数据库引擎。1.2:Android平台内涵1、Android平台的功能提供对音频、视频和图片等多媒体的支持:使用packetVideo公司定制的OpenCore框架来支持各种多媒体服务,该框架为移动多媒体应用程序提供了一套通用的结构。支持的类型有MPEG4、MP3、JPG、PNG、GIF等格式的多媒体文件提供GSM电话控制支持蓝牙、EDGE、3G、wi-fi:EDGE是GSM到3G的过渡技术支持摄像头、GPS、罗盘和加速器等设备1.3:Android平台架构1、Android系统的架构图1.3:Android平台架构2、架构内容应用程序:包括Android平台配置的一套应用程序集,如短信程序、日历工具、地图浏览器、网页浏览器等工具,以及用户基于Android平台的应用层序框架,使用java语言自行开发的程序。应用程序框架:通过应用程序框架,用户可以简化和重用应用程序组件,极大减少工作。进程调度模块用来负责控制进程对CPU资源的使用系统开发库:Android定义了一套C、C++开发库供Android平台的其他组件使用。这些功能通过Android应用程序框架提供给开发者,开发者是不能直接使用这些库的1.3:Android平台架构2、架构内容运行时环境:Android平台包括了一套核心库和Dalvik虚拟机。该核心库提供了java语言核心库的大多数功能,实际上使用JNI技术,是对Android平台提供的C、C++开发库进行的本机调用;Dalvik虚拟机是执行Android程序的,每一个Android程序都在自己的进程中运行,每一个进程都有一个独立的Dalvik虚拟机实例Android应用程序的多有类都由java编译器编译,然后通过SDK中的“dex文件转换”工具转化成dex格式的字节码文件,再由Dalvik虚拟机载入执行Linux内核:Android的核心系统服务依赖于Linux2.6内核,如安全性、进程管理、网络协议和驱动模型等。作为硬件和软件之间的抽象层1.4:Android市场1、Android市场Android市场是Google公司为Android平台提供的在线应用商店,Android平台用户可以在该市场中浏览、下载和购买第三方人员开发的应用程序。对于开发人员,有两种挣钱的方式。第一种方式是卖软件。开发人员可以获得该应用售价的70%,其余30%作为其他费用。第二种方式是加广告。将自己的软件定为免费软件,通过增加广告链接,靠点击率挣钱。21Android应用工具JDK6orJDK7设置环境变量:JAVA_HOME、CLASSPATHEclipse3.6(Helios)AndroidSDK(r08-windows)ADT1.5:
搭建系统环境1.5:
搭建系统环境 Android平台的应用程序使用java语言来编写的,故需要J2SE提供的编译工具及JRE:JDK1.6一:J2SE开发环境配置1、JDK下载:2、安装并配置:配置JAVA_HOME:安装路径配置PATH:bin、lib路径,逗号分开3、验证:java-version
1.5:
搭建系统环境二:Android平台SDK(两种安装方式)1、直接下载SDK版本并解压缩,在eclipse中指定SD位置2、SDK下载并安装:
登录/sdk/index.html站点,即可下载AndroidSDK
24安装SDK解压缩,AndroidSDK文件夹结构如下:启动SDKManager.exe,选择Availablepackages项,安装所需要的工具。安装后AndroidSDK目录25安装Android全部版本
用管理员身份启动SDKManager,在AndroidSDKandAVDManager的主界面上,选择“AvailablePackages”,点击AndroidRepository前面的“>”图标展开选项,参考下图选中Android相关的选项:1.5:
搭建系统环境二:Android平台SDK3、SDK内容介绍
add-ons:包含的是附加资源,主要是GoogleAPI第3版的开发包和文档资源。 docs:SDK参考文档,包括发布信息、开发引导、API参考 platforms:包含多个版本的SDK内容,比较重要的内容有: Android.jar:SDK的内核,Android的核心包 tools:与该版本平台有关的工具1.5:
搭建系统环境二:Android平台SDK4、附带工具介绍
Android调试工具条(adb:AndroidDebugBridge):调试的桥接作用。可以执行adb工具通过命令行访问模拟器或者实机,往模拟器或实机上传文件或下载文件。配置adb:在path中配置C:\ProgramFiles\Android\android-sdk\platform-tools\
adbkill-server:关闭adb服务 adbstart-server:启动adb服务 adbdevices:查询当前模拟器设备实例adbinstall:安装软件adbshell:进入设备或模拟器的shelladb
push<本地路径><远程路径>:发送文件到设备adb
pull<远程路径><本地路径>:从设备上下载文件到电脑
1.5:
搭建系统环境二:Android平台SDK4、附带工具介绍
android虚拟设备管理和项目管理工具—android android工具主要用于两个方面:
一方面是虚拟设备(AVD)的管理,包括创建、删除、更新和查询。
另一方面是创建和更新Android项目直接使用该工具的情形不多见,集成工具中已经提供了用户界面来实现这些功能
创建SD卡—mksdcard
创建一个虚拟的SD卡1.5:
搭建系统环境二:Android平台SDK4、附带工具介绍
资产打包工具—aapt
将程序所需的资源和资产等素材通过压缩和编码,合并到工程文件(apk)中 dex文件转换工具—dx
dx将一组class文件转换为dex文件1.5:
搭建系统环境三、安装Eclipse插件:ADT(AndroidDebugtools)方式1:启动Eclipse,选择Help>InstallNewSoftware....点击add,Name和URL中输入:
/android/eclipse/
然后根据提示一步步安装1.5:
搭建系统环境三、安装Eclipse插件:ADT(AndroidDebugtools)方式2:下载和sdk对应版本的ADT点击add,在name位置写上一个名字,然后点击archive,选择ADT的位置(是个压缩包)然后依次按照步骤进行就可以了
32配置SDK到Eclipse安装完ADT后,还需要设置SDK的安装目录:ADT安装完毕之后重启eclipse
,在Eclipse主界面上点击Window菜单,选择Preferences,在Preferences对话框中,在左侧选中“Android”,在右侧的SDKLocation右边点击Brower按钮,选择SDK的安装路径1.5:
搭建系统环境三、安装Eclipse插件:ADT(Androiddeveloptools)4、测试ADT是否安装成功新建Androidproject运行工程前,需要建立一个AVD(Androidvirtualdevice)设备
,一个AVD对应一个Android版本的模拟器
可以通过【windows】>【AndroidSDKandAVDmanager】进入虚拟设备管理界面
创建虚拟设备,必须指定名称、目标Android平台、SD卡的大小和皮肤选项等。然后,run即可启动模拟器1.5:
搭建系统环境三、genymotion模拟器genymotion模拟器,官网下载;需要在官网注册账号1.6:
创建第一个项目:FirstActivity
应用程序的开发过程:1、创建工程:首先需要创建Android虚拟设备或者硬件设备2、添加资源文件:把设计阶段准备好的图片、音频、设置等文件资源添加到应用程序工程的相关结果中,然后经过aapt工具进行分析,生成的资源ID可以用于定义XML组件属性或者直接在代码中引用3、修改或者定义XML组件:
修改或者添加XML组件的定义,包括颜色、格式、数组、大小、样式、主题、用户界面等4、添加Activity:
一个应用程序可能包括多个界面窗体,因此必须添加Activity,父类:android.app.Activity5、运行和调试1.6:
创建第一个项目:FirstActivity第一个应用程序:FirstActivityApp第一个Activity:FirstActivityAct.javaSrc:源代码管理节点Gen:自动生成的文件节点 R.java:是aapt工具自动生成,
提供程序资源与资源ID的映射Res:工程资源节点,
管理工程所引入的资源素材drawable:管理可绘制的资源layout:布局的管理:main.xmlvalues:管理常量AndroidManifest.xml:工程文件,包含工程信息和组成部件1.6:
创建第一个项目:FirstActivity代码中需要注意的一些语法简介:1、布局xml文件:
android:id="@+id/TEXT_VIEW“
给文本视图添加ID标识,id值为“TEXT_VIEW”,使用【android:】标识的目的是可以将该组件的ID添加到R.java中,方便在代码中使用findViewById方法找到该ID;如果不使用【android:】,则不能。@:标识“/”后的内容为ID的值+:表示该资源必须创建并添加到资源中/:分隔符1.6:
创建第一个项目:FirstActivity代码中需要注意的一些语法简介:2、Activity类中代码:findViewById(intid)该方法中的id参数,必须是onCreate(Bundle)函数处理过的XML文件,即该ID不能一经过定义就可以使用,而是必须要等onCreate()函数对该xml进行处理之后才能使用,否则该返回值为null。在onCreate()函数中,需要首先调用setContentView(int)方法连填充Activity用户界面,即填充ID所指定的布局资源,将该资源中定义的可视组件添加到Activity中,也即先实例化各个组件。1.7:
签名和发布应用程序
要想使应用程序在真机上运行,必须对apk(android应用的可执行文件)进行签名;注意:androidmarket上不允许上传未经签名的apk文件:1、使用命令方式进行签名:keytool.exe和jarsigner.exe2、使用ADT插件方式签名1.7:DDMS:DalvikDebugMonitorService DDMS是一个调试工具,提供了很多功能与模拟器和手机进行交互,并可以调试应用程序:1、任务管理:左上角列出了模拟器和当前连接的设备,可以选择实例,管理进程和线程2、文件管理:FileExplorer浏览模拟器和设备中的文件和目录3、模拟器交互:EmulatorControl,发送事件到模拟器4、日志:LogCat,查看android日志控制器5、截屏:ScreenCapture,对设备进行截屏1.7:DDMS
1.8:Android应用程序内容1、Android应用程序
由java语言编写,通过打包工具将应用程序所需的所有数据和资源文件打包到一个以‘apk’为后缀的文件中。该文件作为分发应用程序的载体,被应用程序安装到移动设备中,每个‘apk’文件中的代码为一个应用程序。
以下是Android应用程序进程的设计规则:默认的,每个应用程序运行在它自己的linux进程空间每个进程都有自己的java虚拟机(Dalvik虚拟机),所以任一应用程序与其他应用程序的代码是相互隔离的默认的,每个应用程序被分配给一个唯一的Linux用户ID,因此,任一应用程序的文件只能对该应用程序可见。1.8:Android应用程序内容2、Android应用程序组件
一个核心要点是应用程序能够利用其他应用程序的组件,如程序A需要查看一个列表中的所有数据库信息,而程序B用于查看某一指定数据库的信息,程序A可以调用程序B中的模块显示相应内容。前提是:系统必须能够在需要任何功能模块的时候启动包含该模块的应用程序进程,并且列举该模块的所有java对象。
因此,Android应用程序没有main函数,代码框架也必须遵照Android平台所定义的形式。
Android应用程序需要包含的一些重要组件如下:Activity:每个Activity表现了一个提供给用户执行操作的可视化界面。
用户定义的每一个Activity都继承与父类的Activity。一个应用程序可能由一个或者多个Activity组成,Android平台通过Activity栈来管理所有的Activity。
每个Activity都被分配一个用于绘制的窗体,窗体的可视内容由一组视图层次结构提供,这些视图都继承于视图类(View)1.8:Android应用程序内容Service:一类无需可视界面,在后台长期运行的应用程序。
如背景音乐播放器或后台数据处理服务等等
每个Service都继承于父类Service,该父类由Android平台框架预先定义BroadcastReceiver:只接受和处理广播消息组件。
该类也没有用户界面,但是可以在响应其接受信息时启动一个Activity,或者通过通知管理器显示提示界面来警示用户
每个BroadcastReceiver都继承于父类BroadcastReceiver,该父类由Android平台框架预先定义ContentProvider:可以将制定的一组应用程序数据让其他应用程序使用,这些数据可以存储在文件系统或者SQLite数据库。
每个ContentProvider都继承于父类,并实现一套标准的方法给其他应用程序使用。该父类由Android平台框架预先定义。ContentProvider之间也可以交互,也可以协作来管理进程内的通讯1.8:Android应用程序内容3、激活应用程序组件-Intent
组件的激活或者组件与组件之间的切换是如何实现?例如:应用程序启动时如何启动一个Activity组件或者Service?ActivityA与ActivityB如何进行切换调用?
Android平台定义了一种称为Intent的异步消息,该消息用于激活Activity、Service、BroadcastReceiver组件。
Intent是一个包含消息内容的对象,是以Activity或Service的名字作为执行请求并且指明其所要执行的数据的URI的组合消息。1.8:
用户界面1、视图层次结构 Activity组件就是一个用户关注的、用于执行用户行为的可视化界面。系统分配给该Activity一个默认的窗体用来绘制界面,而该窗体中的内容是一套视图(View)层次结构。
实际上,视图组对象也继承于视图(View)类,分开定义的原因,主要是为了开发者能够清晰地区分作为容器的视图组和作为显示的视图1.8:
用户界面2、布局---设计图
布局对象是用于指明可视组件的布置方式。用来决定界面容器中所包含的可视组件的摆放,是不可见的。
布局对象是不可见的,隐含于布局的结果之中。
平台中,布局是作为视图组对象(viewGroup)来定义的,需要显示定义
如同家居装修中,设计师最终制定的设计图。1.8:
用户界面3、显示部件
是一个视图对象,主要提供与用户的交换界面。
预定义的显示部件:简单的按钮、文本框等;复杂的有日历选择器、缩放控制面板等。
可以自定义一些显示部件。1.10:
用户界面事件
通过前面几节对组成用户界面的视图层次结构的介绍,大家对UI设计有了一个大致的框架性的认识。
那么系统如何获取用户界面的请求呢?Android平台通过两种方式来获取用户界面请求事件:1、事件监听器:
即定义某一类事件的侦听器,将其绑定到指定的组件。
如:定义了一个点击事件的侦听器对象,然后将该侦听器作为某一个按钮的侦听器。这样,发生在该按钮上的点击事件都将被该侦听器对象获取并处理。
可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人友情借款合同样本
- 个人合伙投资合同格式范本
- 中小企业设备贷款担保合同
- 个人合伙经营合同样本
- 二手车交易合同模范合同
- S店采购合同管理规范操作范本
- 不动产分家析产:全新合同范本
- 一站式采购合同范本
- 个人股权合作合同范本
- 个人投资担保合同模板
- 胸外科讲课全套
- 2023年海南省公务员录用考试《行测》真题卷及答案解析
- 公安法制培训
- 《钢铁是怎样练成的》阅读任务单及答案
- 新人教版高中数学必修第二册第六章平面向量及其应用教案 (一)
- 碳纤维增强复合材料在海洋工程中的应用情况
- 公司市场分析管理制度
- 焊接材料制造工-国家职业标准(2024版)
- 江西省2024年中考数学试卷(含答案)
- 2024年200MW-400MWh电化学储能电站设计方案
- 余土外运施工方案
评论
0/150
提交评论