• 1. 3G移动互联网应用技术开发第六章:Android程序中的组件详解
  • 2. 提问: Android系统中的资源分为哪几类? 调用Android中的系统资源使用的方法? Android系统中的布局资源都有哪些种? 如何调用Android系统中的assets资源?课程回顾
  • 3. 对于Android初级程序员来说,最基本得要求之一是能够快速开发出一 个友好的易用的图形用户界面。Android平台提供了一套图形用户界面的 编程接口,能够帮助程序员快速掌握图形用户界面的开发。 通过本章的学习,让我们了解并掌握Android系统的用户界面设计的相 关知识,掌握各种那个常用控件的使用方法。能够领过运用各种控件搭建 程序界面。 本章概述
  • 4. 掌握菜单、上下文菜单、子菜单的使用 掌握对话框、提示信息的使用 掌握ListView列表组件本章目标
  • 5. OptionsMenu选项菜单,是Android系统中经常用到的一种控件之一,它弥补了由于界面的限制,无法一次性显示更多的菜单选项问题。 OptionsMenu使用弹入/弹出的方式完成菜单的显示功能。 我们可以分别通过 Java代码模式 或 res资源配置模式完成编写。 代码模式下我们一般情况下必须在Activity中重写四个方法: onCreateOptionsMenu(Menu menu) 动态创建Menu菜单 onOptionsItemSelected(MenuItem item) 菜单选项选中事件 onContextMenuClosed(Menu menu) 菜单消失或关闭事件 onPrepareOptionsMenu(Menu menu) 菜单显示前被调用的方法 在创建菜单的方法中我们使用Menu.add(……)方法创建菜单选项: Android中的选项菜单OptionsMenu——代码模式menu.add组别,选项ID,显示顺序,“显示文本”).setIcon(图标资源); 教员演示 案例ch06_app01
  • 6. 我们也可以使用资源配置一个OptionMenu选项菜单组件 在res目录下放置创建一个menu目录,创建一个资源xml文件 在代码中的onCreateOptionsMenu方法在书写上有所不同:Android中的选项菜单OptionMenu——资源模式教员演示 案例ch06_app02
  • 7. SubMenu子菜单,通常我们也称之为二级菜单,若OptionMenu的每个选项下还需要有菜单先选个的话,我们需要使用子菜单来扩展选项功能。 SubMenu可以认为是OptionMenu选项菜单的扩充。 同样SubMenu也有代码模式和res配置模式两种写法。 我们在实现子菜单时需要重写两个重要的方法: onCreateOptionsMenu 创建菜单的方法 onOptionsItemSelected 菜单选项被选中时的事件响应 在onCreateOptionsMenu方法中使用以下代码实现子菜单:Android中的子菜单SubMenu——代码模式教员演示 案例ch06_app03
  • 8. 我们也可以使用资源配置一个SubMenu选项菜单组件 在res目录下放置创建一个menu目录,创建一个资源xml文件 Android中的子菜单SubMenu——资源模式教员演示 案例ch06_app04
  • 9. CntextMenu上下文菜单类似我们在PC机上的右键弹出菜单,但是在Android中没有右键的概念,所以我们经常使用长点击完成右键的动作,从而弹出的菜单也称为上下文菜单。 ContextMenu与OptionMenu一样,可以使用代码或res配置两种方法实现 使用代码实现我们需要在Activity中重写两个重要的方法: onCreateContextMenu 动态创建上下文菜单选项 onContextItemSelected 选项被选中的事件响应 在创建上下文菜单选项时,我们也是用Menu.add()方法实现: 注意我们必须在onCreate方法中对上下文菜单进行组件绑定:Android中的上下文菜单ContextMenu——代码模式registerForContextMenu(上下文绑定的组件);教员演示 案例ch06_app05
  • 10. 我们也可以使用资源配置一个ContextMenu选项菜单组件 在res目录下放置创建一个menu目录,创建一个资源xml文件 在代码中的onCreateContextMenu方法在书写上有所不同: Android中的上下文菜单ContextMenu——资源模式教员演示 案例ch06_app06
  • 11. AlertDialog对话框使我们在程序开发中不可缺少的一个重要组成部分,我们通过对话框完成与用户的交互或确认动作。 我们需要在onCreate方法中创建一个android.app.Dialog类对象 同时对话框中的按钮点击监听器与View中的组件监听器不同,需要使用DialogInterface中的onClickListener进行监听。Android中的AlertDialog对话框 I教员演示 案例ch06_app07
  • 12. AtertDialog我们在使用的时候还可以进行与用户的交互多按钮选择效果。 这样的对话框在创建的时候注意按钮的添加方式不同于一般对话框: 在选择不同的按钮的时候我们也有相应的判断方法:Android中的AlertDialog对话框 II教员演示 案例ch06_app08
  • 13. ContextDialog上下文对话框一般用于与用户交互使用。 在onCreate方法中进行创建,使用一个数组数据完成对弹出的上下文对话框进行数据装载。 它的创建步骤如下: 创建一个数组选项 创建上下文菜单 选择弹出菜单的监听事件方法与之前的对话框一致Android中的ContextDialog对话框 教员演示 案例ch06_app09
  • 14. ProgressBar进度条对话框,在我们的实际开发中使用的频率很高。若需要从网络中下载数据的时候为了不让用户寂寞等待,我们通常情况会显示一个进度条对话框,让用户了解当前系统的状态。 在使用时我们需要重写onDialogCreate方法: 使用showDialog(0)这个默认的方法调用进度条对话框Android中的ProgressBar对话框 教员演示 案例ch06_app10
  • 15. DatePickerDialog日期对话框,在我们的开发中经常被使用,它将对话框与日期组件相结合,给用户以更好的体验和方便的使用。 我们首先在onCreate方法中获取系统当前日期: 其次,创建一个OnDateSetListener监听器,用于完成对户框中的按钮事件响应。 在onCreateDialog方法中实例化DatePickerDialog对象,并显示Android中的DatePicker对话框 教员演示 案例ch06_app11
  • 16. TimePicker时间对话框与DatePicker的作用大体一致。都是用于方便用户对于时间的输入。 我们首先在onCreate方法中获取系统当前时间: 其次,创建一个OnDateSetListener监听器,用于完成对户框中的按钮事件响应。 在onCreateDialog方法中实例化TimePickerDialog对象,并显示 Android中的TimePicker对话框 教员演示 案例ch06_app12
  • 17. ListView组件是用于显示列表数据的,在Android系统中有大量的界面使用到了ListView组件。 ListView组件也是一种必须使用适配器与控件绑定的组件。 ListView使用到得适配器主要有ArrayAdapter、SimpleAdapter两种。 在使用ListView组件时有三种使用方法下面我们一次介绍,随着使用方法的不同,ListView的复杂性级难度也相应提升。Android中的ListView组件 I
  • 18. 使用数组适配器继承ListActivity类完成简单的ListView组件的使用 首先该类必须继承ListActivity类,同时无需设置布局文件main.xml。 其次创建ArrayAdapter数组适配器并且装载数组数据,最终绑定。 重写OnItemClick方法响应数组单击事件Android中的ListView组件 II教员演示 案例ch06_app13
  • 19. 使用SimpleAdapter适配器完成更为复杂的选项配置。使ListView中的每个选项不简简单单地只显示一行文本,可以显示多行文本。 同时我们的选项也不再是简单的数组,而升级为集合。 使用android.R.layout.simple_list_item2来设定选项的样式。 关键在于ListView中的复杂选项对象的创建。Android中的ListView组件 III其次使用SimpleAdapter装载集合中的数据,并且绑定到ListView中.最终重写onItemClick方法实现点击事件响应动作教员演示 案例ch06_app14
  • 20. 为了实现更加复杂的选项显示,我们无需继承ListActivity,全部使用用户自定义资源配置文件配合代码编程完成。 我们模拟 新浪微博-随便看看 栏目 新浪微博原始界面 我们模拟的界面Android中的ListView组件 IV给力演示 案例ch06_app15
  • 21. 资源是Android应用中非常重要的组成部分,本章系统学习了Android应 用中常用的资源类型和使用方法。Android应用的资源大多放在res目录下, 其中res/drawable下的是图像资源,res/layout下的是布局资源,res/values 下的资源类型最多,包括字符串、颜色、尺寸、数组等。Res目录下的资源 都将在R类中生成的ID值,在Java代码中通过R资源类型。ID值的方式引用, 在XML文件中通过@资源类型/ID值的方式引用。除了res目录下的资源外, Android应用中还有assets资源,存放在assets目录下,可以是任意类型的文 件,在R类中不生成ID值,可以直接通过资源名称访问。本章小结
  • 22. 请简单描述Android应用中主要的资源类型及其作用? 请描述访问Android应用中资源的两种方式? 类型资源主要的作用是什么?如何访问? Assets资源如何访问?请使用简单代码展示。 请创建一个Android应用,显示TextView,使用颜色资源,将其背景设置为红色? 创建一个Android应用,应用的背景、显示文字、文字的字体大小、文字的颜色、文字的对其方式,均使用资源文件定义。第四章 课后作业