Android环境搭建与UI开发主要内容开发第一个Android应用3Android应用的界面编程4Android的高级界面组件5搭建Android开发环境2认识Android13搭建Android开发环境245认识AndroidAndroid是基于Linux平台的开源手机操作系统;底层以Linux内核工作为基础,由C语言开发;中间层包括函数库Library和Dalvik虚拟机,由C++开发;最上层是各种应用软件,包括通话短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。号称是首个为移动终端打造的真正开放和完整的移动软件。什么是Android?Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即DalvikExecutable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。认识AndroidAndroid的特点:开放性平等性无界性方便性丰富性常用手机操作系统:Symbian;Palm;RIMBlackBerry;Appleios;WindowsMobile;Android智能手机市场份额2011Q1—2012Q1Android智能手机销售量和价格变化图如下2012年7月数据,Android占据全球智能手机操作系统市场59%的份额,中国市场占有率为76.7%。IOS和Android比较No比较IOS(Iphone手机)Android1开发平台AppleMacOS不局限于操作系统2开发工具XcodeEclipse3开发语言Objective–CJava4兼容性封闭操作系统,由Apple制定,兼容性低Google规定出硬件标准,由不同的厂商进行手机的研发,由于厂商众多,所以兼容性高5UI交互界面主要依靠触屏完成需要触屏和按键同时操作6显示风格统一的视觉规范和分辨率视觉规范由厂商决定,屏幕分辨率繁多认识Android体系结构划分为四层:应用层应用框架系统运行库层Linux内核层Android四大组件:ActivityServiceContentProviderBroadcastReceiver搭建Android开发环境1、所需开发环境:JDK1.5版本或以上(仅有JRE不够)、Eclipse3.62、下载和配置ADT插件:AndroidDevelopmentTools(ADT)安装方法如下:启动Eclipse,选择HelpInstallNewSoftware,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。点击OK。返回可用软件的视图,会看到这个插件,然后选择DeveloperTools(会选中下面的“AndroidDeveloperTools”和“AndroidEditors“),点击Next,开始安装,最后需重启Eclipse。搭建Android开发环境名称任取你的ADT所在路径或在线安装的网址单击按钮弹出对话框安装成功后,会在Eclipse的工具栏中出现以下两个图标。安装部分过程如图显示:搭建Android开发环境3、下载安装AndroidSDK:AndroidSDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。下载完SDK后,把.zip文件解压到你电脑上合适位置,SDK文件安装目录如下:该目录下存放额外的附件软件该目录下存放一些额外的插件、类库该目录下存放不同版本的Android版本该目录下存放了android平台相关工具该目录下存放了不同android平台的示例程序该目录用于存放一些临时文件该目录下存放了大量android开发、调试的工具AndroidSDK和AVD管理器SDK使用说明SDK卸载工具搭建Android开发环境注意:为了在命令行窗口可以使用AndroidSDK的各种工具,建议将AndroidSDK目录下的tools子目录、platform-tools子目录添加到系统的path环境变量中。android安装包存放的目录已安装的android版本启动Eclipse,选择window-preferences,在打开的视图左边点击android,在右边的SDKLocation中选择AndroidSDK所在位置。搭建Android开发环境4、管理模拟器通常的两种方法:(1)图形化管理AVD:运行Eclipse,单击菜单栏中的“手机”图标,弹出AVD管理界面,单击new按钮创建模拟器。(2)命令行管理AVD:在命令行下管理AVD需要借助于android命令(位于AndroidSDK安装目录的tools目录下),如果直接执行android命令将会启动AndroidSDK和AVD管理器。创建和启动模拟器的命令:a、androidcreateavd-navd名称-tandroid版本b、emulator–avdavd名称启动模拟器注意:创建、删除和浏览AVD之前,通常应先为AndroidSDK设置一个环境变量:ANDROID_SDK_HOME,该环境变量的值为磁盘上一个已有的路径。如果不设置,开发者创建的虚拟设备默认保存在C:\DocumentsandSetting\user_name\.android目录下;如果设置了,那么就会保存在%ANDROID_SDK_HOME%/.android路径下。开发第一个Android应用Android程序的开发步骤1、运行Eclipse,菜单栏“File”“New”“Project”,选择“Android”“AndroidProject”,进入右图.项目的名称应用程序的包名默认启动的Activity的类名选择程序运行的Android版本2、点击”finish”即可完成项目的创建,如果建立此项目后Eclipse没有列出此项目,这是因为没有设置其显示,在菜单栏“Window”“ShowView”里选择如PackageExplorer.创建后的项目已经是一个可运行的Android应用,启动我们上面创建的模拟器;开发第一个Android应用3、在项目上右键点击runasAndroidapplication,如下图4、程序运行结果如下图:运行结果开发第一个Android应用5、Android的应用程序结构存放各种资源文件存放常量信息存放布局文件应用程序名存放Java源文件存放系统自动生成文件Java文件包Java文件生成系统中相应资源的标志应用程序所使用android版本存放一些比较大的资源功能清单文件存放可转化为图片的文件项目环境信息注意:gen目录中存放所有由Android开发工具自动生成的文件。ADT会根据你放入res目录的xml界面文件、图片或常量,同步更新修改R.java文件。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。开发第一个Android应用程序启动后,首先读取AndroidManifest.xml清单文件,该文件设置了应用程序的一些基本信息,如图标、标签等,然后根据配置找到默认启动的类--MainActivity并执行,系统自动调用MainActivity的onCreate()方法,该方法中设置用户界面为main.xml布局文件,该文件中有一个文本显示控件,该控件所显示的信息是string.xml文件中定义的hello所对应的值,即为:HelloWorld,MainActivity。6、Android应用程序运行过程练习搭建Android开发环境01运行第一个Android程序熟悉Android的程序结构02Android应用的界面编程1、View组件简介:Android应用的绝大部分UI都放在android.widget包及其子包、android.view包及其子包中,Android应用的所有UI组件都继承了View类,它代表一个空白的矩形区域。View类还有一个重要子类:ViewGroup,但通常作为其他组件的容器使用。Android所有UI组件都是建立在View、ViewGroup基础之上,android采用了“组合器”设计模式来设计View和ViewGroup;ViewGroup是View的子类,因此可被当成View使用。对于一个Android应用的图形用户界面来讲,ViewGroup作为容器来盛装其他组件,而ViewGroup里除了可以包含普通View组件之外,还可以再次包含ViewGroup组件。Android应用的界面编程1文本显示组件TextView:TextView组件的主要功能是用于显示文本,实际上这种控件主要就是提供了一个标签的显示操作。下面是定义文本框显示组件的代码Android的应用界面编程在Android中所有组件可以设置大小,但是在设置时候需要指定其单位,主要单位有:px(像素pixels)一般HVGA代表320*480像素,这个用的比较多。dip或dp(deviceindependentpixels)设备独立像素;这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA推荐使用这个,不依赖像素。sp(scaledpixels—bestfortextsize)比例像素,主要处理字体的大小,可以根据系统的字体自适应。为了适应不同分辨率,不同的像素密度,推荐使用dip,文字使用sp.Android的应用界面编程2编辑框EditText文本显示组件(TextView)的功能只是显示一些基础的文字信息,而如果用户要想定义可以输入的文本组件以达到很好的人机交互操作,则只能使用编辑框:EditText完成。android:selectAllOnFocus=true默认选中,并设为焦点android:password=trueandroid:numeric=“integer”密文形式显示文本只能输入数字Android的应用界面编程3按钮组件Button按钮在人机交互界面上使用的是最多的,当提示用户进行某些选择的时候,就可以通过按钮的操作来接收用户的选择。在Android使用“Button”组件可以定义出一个显示的按钮,并且可以在按钮上指定相应的显示文字。注意:Button是TextView的子类,是一个特殊的文本。Android的应用界面编程2、布局管理器(1)线性布局线性布局由LinearLayout类来代表,它会将容器里的组件一个挨着一个地排列起来。LinearLayout不仅可以控制各组件横向排列,还可控制各组件纵向排列。线性布局与AWT中FlowLayout的最大区别在于:前者不会换行,当组件一个挨着一个地排列到头之后,剩下的组件将不会被显示出来;后者则会另起一行来排列多出来的组件,而LinearLayout必须通过添加ScrollView控件显示多余的组件。android:gravity设置组件的对齐方式,多个属性值之间用竖线隔开,但竖线前后千万不能出现空格。android:orientation设置组件的排列方式:水平、垂直排列。Android的应用界面编程案例:(程序代码:codes/01/LinearLayoutTest)Android的应用界面编程将上面的vertical改为horizontal则变为水平线性布局,两种情况运行结果如下:如果一排或一列放不下时,如何显示?Android的应用界面编程(2)表格布局表格布局是采用表格的形式对控件的布局进行管理的,在TableLayout布局管理器之中,要使用TableRow进行表格行的控制,之后所有的组件要在TableRow中增加。TableLay