资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式。,请您按击鼠标,编辑大纲正文格式。,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑母版标题样式。,单击此处编辑母版文字样式。,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,Android,平台开发简介,平台介绍及开发基本流程,2011-4,月,什么是,Android?,Android,是,Google,在,2007,年,11,月,5,日推出的开源手机操作系统。目前,Android,在中国的发展是 非常火的,为了节省研发费用,国内很多的手机厂商和移动运营商纷纷加入到了,android,阵营,其中包括中国移动,中国联通,中国电信,华为,联想等大企业。在中国不管是知名的手机生产厂商还是山寨手机厂商,都已经开始生产,Android,操作系统的手机。另外,android,应用的范围不仅仅在手机,还被应用在汽车、平板电脑、和智能上网设备上,听说国外已经有了安装有,Android,系统,并且能够上网的智能电饭煲,用户在千里之外就可以操作电饭煲进行煮饭。由于大家大多使用的手机都属傻瓜手机,也就是打打电话、发发短信。从今天开始,大家就应该改变这个观念了,你们需要把智能手机看作是一台电脑,它能完成电脑所能完成的一切。所以你可以像在电脑一样,在智能手机上安装软件,以满足你工作和生活的需要。,如何安装,Android SDK,和,Eclipse,插件,所需开发环境,:,JDK 5,或以上版本,(,仅有,JRE,不够,),、,Eclipse 3.4,或以上版本,推荐使用“伽利略”版。,下载用于在,Eclipse,开发,android,应用的,ADT,插件,在企业开发中,很多程序员使用,Eclipse IDE,作为应用的开发环境。为了使得,Android,应用的创建,运行和调试更加方便快捷。,Android,的开发团队专门针对,Eclipse IDE,定制了一个插件:,Android Development Tools,(,ADT,),下载地址:,http:/ Install New Software,,在出现的对话框里,点击,Add,按钮,在对话框的,name,一栏输入,“ADT”,,然后点击,Archive.,,浏览和选择已经下载的,ADT,插件,压缩文件。,点击,OK.。,返回可用软件的视图,你会看到这个插件,,,然后选择,Developer Tools(,会选中下面的,“Android Developer Tools”,和,“Android Editors“),,点击,Next,,最后重启,Eclipse,。,下载安装,Android SDK,:,Android SDK,包含了开发,Android,应用所依赖的,jar,文件、运行环境及相关工具。,下载地址:,http:/ Location,中选择,Android SDK,所在位置。,开发第一个,Android,应用,打开,Eclipse,,新建项目,(,点击,File,NewProject,),,在项目列表中展开,Android,目录,选择,Android Project,,如下图:,开发第一个,Android,应用,开发第一个,Android,应用,点击”,finish”,即可完成项目的创建,创建后的项目已经是一个可运行的,Android,应用,我们可以通过下面方式运行此应用:,点击工具栏上机器人形状的虚拟设备管理器(简称“,AVD“,),如下:,开发第一个,Android,应用,“,尚未注册网络”错误信息的解决办法,打开,Android,模拟器时,出现无信号,拔打电话或发短信时,提示“尚未注册网络”错误信息的解决方案如下。,场景一:你的电脑没有连接上互联网,同时也没有在局域网。,解决办法:右键点击网上邻居,选择,属性,在网络连接窗口中右键点击,本地连接,选择,属性,设置,TCP/IP,属性如下,:,IP,地址,:192.168.1.100,子网掩码,:255.255.255.0,默认网关,:192.168.1.100,首选,DNS,服务器,:192.168.1.100,场景二:你的电脑没有连接上互联网,但在局域网。,解决办法:右键点击网上邻居,选择,属性,在网络连接窗口中右键点击,本地连接,选择,属性,设置,TCP/IP,属性如下,:,IP,地址,:,设置成你所在局域网的,IP,,如:,192.168.1.100,子网掩码,:,设置成你所在局域网的掩码,如:,255.255.255.0,默认网关,:,设置成你所在局域网的网关,一般网关的,IP,格式为:*,.*.*.1,,如:,192.168.1.1,首选,DNS,服务器,:,设置成你所在局域网的路由器,IP,,一般路由器的,IP,格式为:*,.*.*.1,,如:,192.168.1.1,最后一种解决方案是:让你的电脑连接上互联网。,开发第一个,Android,应用,在项目上右键点击,run as,Android application,,如下图,:,Android,应用程序架构,src/,java,原代码存放目录,gen/,自动生成目录,gen,目录中存放所有由,Android,开发工具自动生成的文件。目录中最重要的就是,R.java,文件。这个文件由,Android,开发工具自动产生的。,Android,开发工具会自动根据你放入,res,目录的,xml,界面文件、图标与常量,同步更新修改,R.java,文件。正因为,R.java,文件是由开发工具自动生成的,所以我们应避免手工修改,R.java,。,R.java,在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的,id,,通过,R.java,,应用可以很方便地找到对应资源。另外编绎器也会检查,R.java,列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。,res,/,资源,(Resource),目录,在这个目录中我们可以存放应用使用到的各种资源,如,xml,界面文件,图片或数据。,assets,资源目录,Android,除了提供,/res,目录存放资源文件外,在,/,assets,目录也可以存放资源文件,而且,/,assets,目录下的资源文件不会在,R.java,自动生成,ID,,,所以读取,/,assets,目录下的文件必须指定文件的路径,如:,file:/android_asset/xxx.3gp,AndroidManifest.xml,项目清单文件,这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用,(,如电话服务、互联网服务、短信服务、,GPS,服务等等,),,你还需在该文件中声明使用权限。,default.properties,项目环境信息,,一般是不需要修改此文件,Android,中的显示单位,px(pixels),像素,一般,HVGA,代表,320 x480,像素,这个用的比较多。,dip,或,dp(device independent pixels),设备独立像素,这个和设备硬件有关,一般为了支持,WVGA,、,HVGA,和,QVGA,推荐使用这个,不依赖像素。,sp(scaled pixels best for text size),比例像素,主要处理字体的大小,可以根据系统的字体自适应。,除了上面三个显示单位,下面还有几个不太常用:,in(inches),英寸,mm(millimeters),毫米,pt(points),点,,1/72,英寸,为了适应不同分辨率,不同的像素密度,推荐使用,dip,,文字使用,sp,。,Android,开发平台是开放的平台,而位于四层框架顶端的应用开发,必然涉及到,Android,组件。本文将为大家详细介绍,Android,组件。,组件(,Component,),在谈及所谓架构和重用的时候,是一个重要的事情。很多时候都会说基于组件的软件架构,指的是期望把程序做乐高似的,有一堆接口标准封装完整的组件放在哪里,想用的时候取上几个一搭配,整个程序就构建完成了。,在开篇的时候就在说,,Android,是一个为组件化而搭建的平台,它引入所谓,Mash-Up,的概念,这使得你在应用的最上层,想做的不组件化都是很困难的一件事,具体说来,,Android,有四大组件:,Activity,、,Service,、,Broadcast Receiver,、,Content Provider,。,Android,四大组建,Activity,是为用户操作而展示的可视化用户界面。比如说,一个,activity,可以展示一个菜单项列表供用户选择,或者显示一些包含说明的照片。一个短消息应用程序可以包括一个用于显示做为发送对象的联系人的列表的,activity,,一个给选定的联系人写短信的,activity,以及翻阅以前的短信和改变设置的,activity,。尽管它们一起组成了一个内聚的用户界面,但其中每个,activity,都与其它的保持独立。每个都是以,Activity,类为基类的子类实现。,一个应用程序可以只有一个,activity,,或者,如刚才提到的短信应用程序那样,包含很多个。每个,activity,的作用,以及其数目,自然取决于应用程序及其设计。一般情况下,总有一个应用程序被标记为用户在应用程序启动的时候第一个看到的。从一个,activity,转向另一个的方式是靠当前的,activity,启动下一个。,每个,activity,都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也可以是一个小的位于其它窗口之上的浮动窗口。一个,activity,也可以使用超过一个的窗口比如,在,activity,运行过程中弹出的一个供用户反应的小对话框,或是当用户选择了屏幕上特定项目后显示的必要信息。,窗口显示的可视内容是由一系列视图构成的,这些视图均继承自,View,基类。每个视图均控制着窗口中一块特定的矩形空间。父级视图包含并组织它子视图的布局。叶节点视图(位于视图层次最底端)在它们控制的矩形中进行绘制,并对用户对其直接操作做出响应。所以,视图是,activity,与用户进行交互的界面。比如说,视图可以显示一个小图片,并在用户指点它的时候产生动作。,Android,有很多既定的视图供用户直接使用,包括按钮、文本域、卷轴、菜单项、复选框等等。,Activity,活动,服务没有可视化的用户界面,而是在一段时间内在后台运行。比如说,一个服务可以在用户做其它事情的时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提供给需要这个运算结果的,activity,使用。每个服务都继承自,Service,基类。,一个媒体播放器播放播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个或多个,activity,来给用户选择歌曲并进行播放。然而,音乐播放这个任务本身不应该为任何,activity,所处理,因为用户期望在他们离开播放器应用程序而开始做别的事情时,音乐仍在继续播放。为达到这个目的,媒体播放器,activity,应该启用一个运行于后台的服务。而系统将在这个,activity,不再显示于屏幕之后,仍维持音乐播放服务的运行。,你可以连接至(绑定)一个正在运行的服务(如果服务没有运行,则启动之)。连接之后,你可以通过那个服务暴露出来的接口与服务进行通讯。对于音乐服务来说,这个接口可以允许用户暂停、回退、停止以及重新开始播放。,如同,activity,和其它组件一样,服务运行于应用程序进程的主线程内。所以它不会对其它组件或用户界面有任何干扰,它们一般会派生一个新线
展开阅读全文