资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,移动互联应用开发,Android,基 础 知 识,上 篇,目录,CONTENTS,第,1,章,第,2,章,第,3,章,第,4,章,第,5,章,移动互联发展现状及趋势,Android 应用开发环境介绍,编写第一个Android 应用程序,屏幕布局设计:视图与布局,基础组件介绍及应用,延时符,目录,CONTENTS,第,6,章,第,7,章,第,8,章,第,9,章,延时符,Android 图像资源介绍,交互性:,处理,UI 事件,数据共享,Intent 对象和,Intent,过滤器,移动互联网发展现状及趋势,第,1,章,1.1 移动通信和计算技术的发展,1.,3,Android,技术平台及环境搭建,1.2 移动终端软硬件平台介绍,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,移动通信技术可以说从无线电通信发明之日起就产生了。目前我们熟知的现代移动通信技术从20 世纪 80 年代中期开始,这是数码移动通信系统发展和成熟时期,该阶段可以再分为 2G、2.5G、3G、4G 等。,2G 是第二代手机通信技术规格的简称,一般定义为以数码语音传输技术为核心,无法直接传送电子邮件、软件等信息与之对应的是 GSM 和 CDMA 两种体制。经典 2G 手机,如图 1.1 所示。,2.5G,是从,2G,迈向,3G,的衔接性技术,包括,HSCSD,、,WAP,、,EDGE,、蓝牙(,Bluetooth,)、,EPOC,等。,2.5G,功能通常与,GPRS,技术有关,,GPRS,技术是在,GSM,基础上的一种过渡技术。,GPRS,在移动用户和数据网络之间提供一种连接,给移动用户提供高速无线,IP,和,X.25,分组数据接入服务。传统的,2.5G,手机,如图,1.2,所示,。,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,3G,是指支持高速数据传输的第三代移动通信技术。,3G,的传输速度最低为,384kbit/s,,最高为,2Mbit/s,,带宽可达,5MHz,以上。不仅能传输语音,还能传输数据,从而提供快捷、方便的无线应用,如无线接入,Internet,。能够实现高速数据传输和宽带多媒体服务。目前,3G,存在,4,种标准:,CDMA2000,、,WCDMA,、,TD-SCDMA,、,WiMAX,。,3G,智能手机,如图,1.3,所示,。,4G,是第四代移动通信及其技术的简称,能够以,100Mbit/s,以上的速度下载,比拨号上网快,2000,倍,上传的速度也能达到,20Mbit/s,。对无线频率的使用效率高得多,且抗信号衰落性能更好,其最大的传输速度会是“,i-mode”,服务的,10000,倍。除了高速信息传输技术外,它还包括高速移动无线信息存取系统、移动平台的拉技术、安全密码技术以及终端间通信技术等。,4G,终端还可用作定位、告警等。,4G,智能手机,如图,1.4,所示,。,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,图 1.1 经典的 2G 手机(左,2,),图 1.2 传统的 2.5G 手机(中,2,),图 1.3 3G 智能手机(右,1,),图 1.,4 4G,智能手机,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,移动终端硬件平台主要是以智能手机为代表的智能硬件。,移动终端软件平台主要指移动端操作系统,不仅包括嵌入式操作系统的功能,还需有电源管理部分、与用户交互的输入输出部分、嵌入式图形用户界面服务、底层编解码服务、,Java,运行环境、上层应用等。主要有,Android,(谷歌)、,iOS,(苹果)、,Windows phone,(微软)、,BlackBerry OS,(黑莓)、,Windows mobile,(微软)、,Symbian,(诺基亚)等,目前,Android,和,iOS,已经占据绝对主导地位。,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,Andy Rubin,于,2003,年在美国创办了,Android,的公司,经营手机软件和手机操作系统。其后被谷歌(,Google,)收购。,Android OS,是基于,Linux,的开放源代码的开源手机操作系统,于,2007,年,11,月,5,日正式推出了基于,Linux 2.6,标准内核的开源手机操作系统,命名为,Android,。,Android,平台最大优势是开发性,随着,Android,的迅猛发展,也诞生了很多版本,其中包括,Android 1.0,、,Android 2.0/2.0.1/2.1,、,Android 3.0,、,Android 4.0,、,Android 5.0,等,具体介绍,如教材所示。,解压下载的,SDK,管理工具,运行“,SDK Manager.exe”,后出现图,1.5,所示的界面,选择,Android,版本以及,SDK Tools,,单击“,Install packages”,安装。,选择“,Accept All,”,再单击“,Install”,。,Android SDK,管理器就开始下载并安装所选的包了,如图,1.6,所示。后面若显示“,Installed”,则表示已经安装好了。,1.3.1,安装,Android SDK,前必要的准备,,如教材所示。,1.3.2,安装,Android SDK,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,图,1.5 Android SDK,安装界面,1.1 移动通信和计算技术的发展,1.2 移动终端软硬件平台介绍,1.,3,Android,技术平台及环境搭建,第,1,章移动互联网发展现状及趋势,图,1.6,下载并安装包,Android,应用开发环境介绍,第,2,章,2,.1,Android Studio,2,.,3,Android NDK,和,SDK,开发包,2,.2 系统开发工具和支持库,2,.,4,Android SDK,常用命令介绍以及应用,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,2013,年,Google I/O,大会首次发布了,Android Studio IDE,(,Android,平台集成开发环境),其主要优点如下。,1.,由谷歌推出,2.,速度更快,3.UI,更漂亮,4.,更加智能,5.,整合了,Gradle,构建工具,6.,强大的,UI,编辑器,7.,内置终端,8.,更完善的插件系统,9.,完美整合版本控制系统,双击下载,Android Studio,安装程序,一步步安装即可,如图,2.1,所示。具体,如教材所示。,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,图,2.1 Android Studio,安装,一般而言,安装好,Android Studio,后,它会自动关联到,Android SDK,以及,JDK,的安装位置。如果没有关联到或者目录有变化,可以采用以下方式重新设置:,(,1,)在右上角搜索框,(Android Studio,非常强大的任意搜索,),中输入,project structure,,在结果中单击,Default Project Structure,,如图,2.2,所示。,(,2,)在弹出的,Project Structure,对话框中,填写正确的,Android SDK,路径和,JDK,路径,单击“,OK”,保存,如图,2.3,所示。,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,图,2.2,安装设置,1,图,2.3,安装设置,2,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,图,2.4,打开,AVD,图,2.5,手机模拟器,在,Android,开发过程中,经常需要将开发的,App,运行在模拟器上进行分析和测试。双击,SDK,目录中的,AVD Manager.exe,便可打开,AVD,,可以创建手机模拟器,如图,2.4,所示。,单击,Start,按钮可启动手机模拟器。单击,Create,按钮,填写相应信息,就可创建新的手机模拟器,如图,2.5,所示。,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,Android,支持库提供了一个,JAR,文件(里面包含,API,库),允许使用一些最新的,Android APIs,。可以使用“,SDK Manager”,现在相应的支持库,如图,2.6,所示。,图,2.6,支持库,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,图,2.8,下载并解压,NDK,图,2.7 SDK,目录结构,1.SDK,开发包,安装好,SDK,后,其目录结构如图,2.7,所示。,2.NDK,开发包,Android,程序运行在,Dalvik,虚拟机中,,Android NDK,(,Android Native Development Kit,,原生开发工具包)允许用户使用,C/C+,之类的原生代码语言执行部分程序。,NDK,下载解压后的界面如图,2.8,所示。,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,1.android,命令,该命令用于,AVD,的相关操作。该命令位于,SDK,安装目录的,tools,子目录。,1,)使用,android,命令列出,target,值,2,)使用,android create avd,命令来创建,AVD,行为:,3,)查看新创建的,AVD,2.emulator,命令,该命令用于管理模拟器,位于,SDK,安装目录的,tools,子目录。,运行新创建的名称为,GPhone,的,AVD:,3.adb,命令,Android,调试桥(,adb,)是多种用途的工具,该工具可以帮助开发者管理真机设备或模拟器的状态。该命令位于,SDK,安装目录的,platform-tools,子目录。,1,)安装应用到模拟器,2.1 Android Studio,2.2,系统开发工具和支持库,2.3 Android NDK,和,SDK,开发包,第,2,章,Android,应用开发环境介绍,2,.,4,Android SDK,常用命令介绍以及应用,2,)进入设备或模拟器的,shell,如:,4,)搜索,/,等待模拟器、设备实例,4.APPT,命令,5.DX,命令,6.mksdcard,命令,3,)复制文件,通过以上命令,可以进入设备或模拟器的,shell,环境中,在这个,LinuxShell,中,可以执行各种,Linux,的命令,另外如果只想执行一条,shell,命令,可以采用以下方式:,编写第一个,Android,应用程序,第,3,章,3,.1 创建和编写,Android,项目,3,.,3,Android,项目代码结构分析,3,.2,在手机和模拟器上运行程序,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,在,Android Studio,主页中选择,File New Project,命令,如图,3.1,所示。,图,3.1,步骤,1,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,接下来,会看到如图,3.2,所示的页面,具体内容,如教材所示。,图,3.2,步骤,2,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,图,3.3,步骤,3,以上内容设置完毕,单击“,Next”,按钮,我们会看到如图,3.3,所示的页面。在这里,可以设置,Project,中,Module,的类型以及支持的最低版本:,Phone and Tablet,。,TV,。,Wear,。,Glass,。,用户可以选择多个类型,项目会根据你选择的类型创建一个或多个,Module,。,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,以上内容设置完毕,单击“,Next”,按钮。接下来,会看到如图,3.4,所示的页面,,如教材所示。,选择完毕,单击“,Next”,按钮。,接下来,会看到如图,3.5,所示页面,(,如教材所示,),:,Activity Name,。,Layout Name,。,Title,。,Menu Resource Name,。,以上内容设置完毕,单击“,Next”,按钮,将会看到如图,3.6,所示的进度条,,,如教材所示。,该图表示,Android Studio,正在创建和编译的项目。,项目创建编译完毕,会进入,Android Studio,的主页,将看到如图,3.7,所示的界面,,,如教材所示。,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,在模拟器上运行时,单击如图,3.8,所示图标。,图,3.8,单击图标,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,等待项目编译完成之后,会出现如图,3.9,所示的对话框。单击“,OK”,按钮,系统会自动创建模拟器,如图,3.10,所示。,图,3.9,创建模拟器对话框图,3.10,创建好的模拟器,3,.1 创建和编写,Android,项目,3,.2,在手机和模拟器上运行程序,3,.,3,Android,项目代码结构分析,第,3,章编写第一个,Android,应用程序,应用程序目录结构图,3.11,,,如教材所示。,(,1,),AndroidManifest,文件,,如教材所示。,(,2,),Activity,文件,,如教材所示。,双击目录中的“,MainActivity”,,可以看到,MainActivity,的代码,图,3.12,如教材所示。,(,3,),layout,文件,,如教材所示。,双击,activity_main.xml,会进入可视化编辑界面,在这里可以根据需要选择相应的控件,也可以单击图,3.13,所示(,如教材所示,)的红框部分进入文本编辑界面,直接编写对应控件的代码,如图,3.14,所示,(,如教材所示,)从截图代码文件可以看到该,layout,由一个相对布局和一个文本框组成。,第,4,章,4.1 Android,视图结构,4.3 Android,应用资源的使用方法,4.2,定义屏幕布局:使用,XML,屏幕布局设计:视图与布局,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,网格视图,GridView,的排列方式与矩阵类似,当屏幕上有很多元素(如文字、图片或其他元素)需要按矩阵格式进行显示时,就可以使用,GridView,控件来实现。完成后的程序运行效果如图,4.1,所示。,1.,界面布局,通过查看,GridView,的,API,帮助文档,可以了解到其常用 的,xml,属性,如图,4.2,所示。具体的含义,如教材所示。,图,4.1,效果图,4.1.1,网格视图,图,4.2 GridView,常用,xml,属性,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,在,xml,布局文件中,使用,LinearLayout,对整个界面进行垂直布局,然后在该布局中添加一个,GridView,控件。具体的,xml,布局文件,如教材所示。,2.,网格元素布局,如图,4.1,所示,在每个网格内都需要显示两项内容:应用软件图标以及应用软件名称。因此,还需要对网格内元素进行相应的布局。,可以在项目工程的,layout,目录下新建一个名为“,griditeminfo.xml”,的,xml,布局文件,完成对网格内元素的布局。具体的,griditeminfo.xml,如教材所示。,3.,资源储存,在该实例中,需要对众多的应用软件图标以及应用软件名称进行储存。很显然,应用软件图标以及应用软件名称之间存在着一一对应的关系,可以使用,HashMap,分别对应用软件图标以及应用软件名称进行存储,然后再将,HashMap,添加到,ArrayList,中,便可以完成资源的储存了。具体实现方法,如教材所示,。,4.,简单适配器,SimpleAdapter,简单适配器,SimpleAdapter,继承自,BaseAdapter,,用于将静态数据映射到,xml,文件中定义好的视图当中。,SimpleAdapter,的构造方法,如教材所示。,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,在该实例中,实现,SimpleAdapter,的构造方法,如教材所示。,实现了简单适配器,SimpleAdapter,之后,还需要将该简单适配器,SimpleAdapter,添加到,GridView,对象当中,可以通过如下方法实现:,5.,事件监听,在实际的应用当中,需要对用户的操作进行监听,即需要知道用户选择了哪一个应用软件。,在网格控件,GridView,中,常用的事件监听器有两个:,OnItemSelected-Listener,和,OnItemClickListener,。其中,,OnItemSelectedListener,用于项目选择事件监听,,OnItemClickListener,用于项目点击事件监听。,其中,需要实现的,OnItemClickListener,接口的抽象方法如下:,需要实现的,OnItemSelectedListener,接口的抽象方法有两个,分别如下:,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,在,Android,开发中,,ListView,是比较常用的控件,它以列表的形式显示具体内容,并且能够根据数据的长度自适应显示。在,ListView,中,可以根据需要显示自定义的列表内容,包括文字(,TextView,)、图片(,ImageView,)、按钮(,Button,)等,以此构成图文并茂的显示效果,如图,4.3,所示。,1.,界面布局,由图,4.3,所示的,ListView,实例效果图可以看出,在该,ListView,控件中,添加了,4,条列表项,而每一个列表项都是由,5,个部分构成的,分别是:博文题目(,TextView,)、作者头像(,ImageView,)、博文概要(,TextView,)、作者昵称(,TextView,)和发布日期(,TextView,)。,定义一个名为“,listviewitem”,的,xml,布局文件,用来对列表项中的,5,个控件进行布局,其具体内容如,教材所示。,4.1.2,列表视图,图,4.3,列表视图,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,2.ListView,的,xml,属性,ListView,的,xml,属性如图,4.4,所示,具体含义,如教材所示。,图,4.4 ListView,的,xml,属性,根据以上的,ListView,的,xml,属性介绍,我们便可以在,activity_main.xml,布局文件中设置,ListView,的属性,,如教材所示。,3.,数据加载,如何将数据加载到,ListView,控件的各个列表项中,是使用,ListView,控件的关键。,通过查看,ListView,的,API,帮助文档,可以找到相关的设置,ListView,控件的适配器的方法如下:,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,简单适配器,SimpleAdapter,具有良好的可扩充性,可方便地将,xml,中的控件与所要填充的数据匹配起来。具体实现方法如,教材所示。,在如上的代码中,用到了自定义的,getItem(),方法,该方法的作用是获取所有的列表内容。可以通过使用自定义的,getItem(),方法来获取所有的列表内容了。具体的实现方法,如教材所示。,4.,事件监听,我们可以为,ListView,控件设置事件监听器,OnItemClickListener,,需要实现,OnItemClickListener,接口中的抽象方法,onItemClick(),如下,具体含义,如教材所示。,4.1.3,画廊视图,在,Android,中,画廊控件,Gallery,用来显示图片列表,可以用手指直接拖动图片左右移动。,1.xml,布局,在,xml,布局文件中,使用,LinearLayout,对整个界面进行垂直布局,具体,如教材所示。,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,程序运行后的效果如图,4.5,所示。,2.ImageAdapter,适配器,要实现,Gallery,画廊控件功能,需要一个容器来存放,Gallery,显示的图片。我们可以使用一个继承自,BaseAdapter,类的派生类,ImageAdapter,来储存这些图片。,在,ImageAdapter,类中,需要实现,Adapter,类中的如下,4,个抽象方法,具体实现方法,如教材所示。,3.,加载适配器,实现了,ImageAdapter,类之后,我们可以通过,setAdapter(),方法把资源文件添加到,Gallery,中进行显示。,4.Gallery,事件监听器,除此之外,为了在如图,4.5,所示的界面上端的,ImageView,控件中同步显示,Gallery,控件中的当前图片,还需要对,Gallery,控件进行事件监听,以便获知用户选中了,Gallery,控件中的哪一张图片。具体的实现方法,如教材所示。,图,4.5,运行效果图,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,为,Android,开发应用时,要注意能让各种屏幕尺寸的设备能够运行,Android,系统,确保应用在各种设备上始终能够提供平衡且美观的布局。在小型设备上,应用的内容可以被分为一个主要的列表和详细信息视图。触摸列表中的项目,将切换到对应的详细信息,如图,4.6,所示。,一般情况下,在屏幕左边显示列表,右边显示列表中被选中项目的详细信息。保持左边列表中被选中的状态,使得面板间的关系更加明确。,4.1.4,多视图布局,图,4.6,显示列表中的详细信息,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,由于平板比手机拥有更大的屏幕,故可以通过“面板”将项目列表和详细信息放在一个单独的复合视图中。这样可以更加充分地利用屏幕空间,并且使应用中的导航更加容易,如图,4.7,所示。,图,4.7,列表与详细信息放于一个复合视图中,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,无论屏幕是竖着的还是横着的,视图中的功能应该是一样的。如果使用了复合视图,那么在旋转屏幕的时候,仍然保持复合视图,不要分割成多个视图。,1.,拉伸,/,压缩,调整左边列表的宽度,使布局在不同方向上都能保持平衡且合理,图,4.8,,,如教材所示。,2.,堆放,重新排列面板的堆放方式,以适应不同的屏幕方向,如图,4.9,所示,,如教材所示。,。,3.,展开,/,折叠,当屏幕旋转的时候,可以将左边列表的一部分折叠起来,只显示重要的信息。并且提供一个“展开”的控件,使用户可以将左边的列表重新调整成原来的宽度,如图,4.10,所示,,如教材所示。,。,4.,显示,/,隐藏,旋转屏幕后,让右边的面板占满整个屏幕。通过操作栏中的“向上”按钮隐藏,/,显示左边的列表,如图,4.11,所示,,如教材所示。,。,5.,检查清单(,如教材所示,),4.1.5,复合视图以及屏幕方向,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,Android,的界面是由布局和组件协同完成的,,Android,的五大布局分别是,LinearLayout,(线性布局)、,FrameLayout,(单帧布局)、,RelativeLayout,(相对布局)、,AbsoluteLayout,(绝对布局)和,TableLayout,(表格布局)。,线性布局,从外框上可以理解为一个,div,。每一个,LinearLayout,里面又可分为垂直布局和水平布局。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;当水平布局时,只有一行,每一个元素依次向右排列。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个,LinearLayout,进行水平排列。,线性布局显示效果如图,4.12,所示。,相应代码,如教材所示。,4.2.1,线性布局,图,4.12,线性布局显示效果,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,4.2.2,相对布局,RelativeLayout,按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。子元素就通过这些属性和各自的,ID,配合指定位置关系。注意在指定位置关系时,引用的,ID,必须在引用之前先被定义,否则将出现异常。,RelativeLayout,里常用的位置属性,如教材所示。,显示效果如图,4.13,所示。,相应代码,如教材所示,。,图,4.13,相对布局效果,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,TableLayout,为表格布局,适用于,N,行,N,列的布局格式。,TableRow,里面可以具体定义每一个元素,设定它的对齐方式:,TableRow,是,LinearLayout,的子类,它的,android:orientation,属性值总是,horizontal,,并且它的,android:layout_width,和,android:layout_height,属性值总是,MATCH_PARENT,和,WRAP_CONTENT,,所以它的子元素都是横向排列并且宽高一致的。这样的设计使得每个,TableRow,里的子元素都相当于表格中的单元格一样。在,TableRow,中,单元格可以为空,但是不能跨列。,TableLayout,的布局结构,显示效果如图,4.14,所示。,相应代码,如教材所示。,图,4.14,表格布局效果,4.2.3,表格布局,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,AbsoluteLayout,是绝对位置布局。在此布局中的子元素的,android:layout_x,和,android:layout_y,属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(,0,0,),第一个,0,代表横坐标,向右移动此值增大,第二个,0,代表纵坐标,向下移动此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可能不能很好地适配各种终端。,在垂直随便切换时显示效果如图,4.15,所示。往往会出问题,而且有多个元素的时候计算比较麻烦。,相应代码,如教材所示。,4.2.4,绝对布局,图,4.15,绝对布局效果,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,FrameLayout,是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如图,4.16,所示,第一个,TextView,被第二个,TextView,完全遮挡,第三个,TextView,遮挡了第二个,TextView,的部分位置。,相应代码,如教材所示。,首先创建一个布局文,res/layout/fullscreen_ loading.xml,其内容,,如教材所示。,然后在,main.xml,中把它,include,进来,,如教材所示。,运行效果如图,4.17,所示。,4.2.5,单帧布局,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,图,4.16,单帧布局效果,图,4.17,运行效果图,4.4,示例项目:记事本,V1,(,NotePad,),4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,4.4,示例项目:记事本,V1,(,NotePad,),在,Android,开发中,资源文件是使用频率最高的,我们平时接触的资源目录一般都是表,4.1,所示的三种。,Android,资源文件还有其他类型,汇总如表,4.2,所示。,4.3.1 Android,资源分类,4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,4.4,示例项目:记事本,V1,(,NotePad,),1.,在代码中使用资源文件,通过,R,类中定义的资源文件类型和资源文件名称来访问资源文件,具体格式为:,另外,还可以访问系统中的资源文件。访问系统中的资源文件的格式为:,2.,在其他资源文件中引用资源文件,经常会在布局文件中引用图片、颜色资源、字符串资源和尺寸资源,一般格式是:,1.,字符串,字符串存储在,/res/values/strings.xml,文件中,它的格式比较简单,这里不再详述。如上所述,读取字符串需要通过如下代码:,4.3.2 Android,资源使用方法,4.3.3 Android,资源使用介绍,4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,4.4,示例项目:记事本,V1,(,NotePad,),2.,字符串数组,字符串数组存储在,/res/values/arrays.xml,文件中,代码,如教材所示。,获取字符数组内容需要通过如下方式:,3.,颜色值,颜色存储在,/res/values/colors.xml,文件中,格式,如教材所示。,颜色值是一个整数,只需要通过,R.color.,获取即可。,4.,图像,图像也是经常用到的一类资源,其格式有如下几种,如表,4.3,所示。,4.1 Android,视图结构,4.2,定义屏幕布局:使用,XML,4.3 Android,应用资源的使用方法,第,4,章屏幕布局设计:视图与布局,4.4,示例项目:记事本,V1,(,NotePad,),1,)使用,9,格拉伸图像,由于手机屏幕拥有各种不同的分辨率,如果能够根据屏幕的不同尺寸和方向或者不同长度来调整图像大小,那么采用,9,格拉伸图像将是非常方便的,而且它是一种可被拉伸且不失真的图像格式。使用步骤如下:,(,1,)运行,Android SDK Toolsadraw9patch.bat,文件。,(,2,)将一个,png,文件拖入左侧的面板中。,(,3,)选中左侧底部的,Show patches“,斑点”。,(,4,)将,Patch scale,设置为合适的值(比能够看见标记结果的值稍大)。,(,5,)沿着图像的右边沿单击,以设置水平“格”引导。,(,6,)沿着图像的上边沿单击,以设置
展开阅读全文