当前课程知识点:Android应用开发基础 >  第三章 Android组件 >  3.4 Android适配器 >  3.4.1 系统适配器

返回《Android应用开发基础》慕课在线视频课程列表

3.4.1 系统适配器在线视频

下一节:3.4.2 自定义适配器

返回《Android应用开发基础》慕课在线视频列表

3.4.1 系统适配器课程教案、知识点、字幕

本节我们主要介绍Android的适配器

以及对应的组件

主要包括下面组件

1 Spinner下拉组件

主要介绍Spinner下拉组件

使用ArrayAdapter显示数据的实例

2 ListView 列表组件

主要介绍ListView

与SimpleAdapter显示数据的实例

下面我们介绍Adapter适配器

Android有许多列表组件需要显示多条数据

比如Spinner

ListView

GridView

ViewPager等

Adapter作为数据与列表组件的桥梁

主要作用有以下两点

1 对要进行显示的数据进行处理

2通过与视图对象绑定

将数据显示到视图对象

Adapter 数据源和列表组件的关系如下图

1 Adapter主要负责将不同的数据源

显示到列表组件中

比如数据库或者网络获取的Cursor数据

还有以ArrayList为代表的列表数据

2 列表类组件通过不同的Adapter适配器

将不同类型的数据进行显示

Android中Adatper类的继承关系如下图所示

1 Adapter类是所有适配器的父类

2 ListAdapter类和SpinnerAdapter

是Adapter的子类

用于显示简单的列表数据

3 BaseAdapter是一种复杂适配器

用户可以在BaseAdapter基础上

开发自定义适配器处理各种复杂数据

4 CursorAdapter

SimpleAdapter

是BaseAdapter适配器的子类

用户可以直接用作ListView组件的数据显示

下面我们介绍Spinner下拉单选框组件

下面是Spinner组件的基本属性和方法

1 android.prompt

setPrompt 设置标题文字

2 setAdapter

设置下拉列表的适配器

3 setSelection

设置组件当前选择项

4 setOnItemSelectedListener

设置组件选择子项监听器

Spinner的例子如图所示

Spinner一般使用ArrayAdapter作为适配器

主要用于显示列表类的数据

数据源为字符数组

Spinner组件通过ArrayAdapter

将字符数组显示到组件

Spinner的代码实现如下图所示

1 在主视图Activity中

实现下拉框子项选中事件监听器

一般使用了父类接口

AdapterView.OnItemSelectedListener

2 定义Spinner变量并初始化

将下拉框子项选中事件

注册到Activity事件监听器

3 数据进行初始化

(1)定义字符数组String[] strWeek

(2)定义并初始化ArrayAdapter对象

第一个参数代表当前的Activity

第二个参数代表

使用系统默认的布局显示Spinner的子项

(3)第三个参数使用字符数组strWeek

(4) Spinner组件对象的初始化

使用setPrompt设置标题

将Spinner组件对象与适配器对象绑定

使用setSelection设置当前的子项为第一行

4 在Activitity主视图中

重写父类AdapterView的onItemSelected方法

实现下拉框子项选中事件处理

(1) ItemSelected方法有两个参数

第一个参数adapterView表示Spinner组件对象

第二个参数表示下拉框子项

第三个参数代表第几个子项被选中

(2) 使用Toast将被选中的子项信息进行显示

这就是Spinner下拉框组件的全部内容

下面我们介绍ListView列表组件

下面是ListView组件的基本属性和方法

1 android.divider

setDivider 设定分割线的图形

2 android.dividerHeight

setDividerHeight 设定分隔线的高度

3 android.headerDividersEnabled

setHeaderDividersEnabled

是否显示列表开头的分隔线

4 android.footerDividersEnabled

setFooterDividersEnabled

是否显示列表末尾的分隔线

ListView的例子如图所示

ListView一般使用SimpleAdapter作为适配器

主要用于显示ListView的数据

数据源可以为组合类型

ListView组件通过SimpleAdapter

将组合类型数据显示到组件

SimpleAdapter的参数主要有下面五个

第一个参数 上下文对象

第二个参数 数据源是含有Map的一个集合

第三个参数 每一个item的布局文件

第四个参数 new String[]{}数组

数组的里面的每一项

要与第二个参数中

存入的map集合的的key值一样

一一对应

第五个参数 new int[]{}数组

数组里面的第三个参数中的

item里面的控件id

ListView与SimpleAdapter适配器的原理图

如下所示

1 ListView组件向SimpleAdapter发送

获取子项目视图的请求

2 SimpleAdapter组件

动态加载子项列表布局文件

并生成子视图View

3 SimpleAdapter组件访问数据列表

并根据列表子项位置读取对应的数据

4 根据取到的数据

更新到子视图View的各个组件

5 将子视图View返回给ListView组件

ListView显示每个子项

ListView的代码实现如下图所示

1 首先在Activity主视图中

实现下拉框子项单击事件监听器

使用了父类接口

AdapterView.OnItemClickListener

2 定义ListView 变量并初始化

将下拉框子项单击事件

注册到Activity事件监听器

3 数据进行初始化

(1)定义图片id数组int[] iPic

图片名称字符数组String[] strName

图片说明字符数组String[] strContent

(2)定义多列数据列表对象

ArrayList> mArrayList

(3)将显示的数据

对应添加到多列数据列表对象

(4) SimpleAdapter适配器对象进行初始化

它的实现如下图所示

第一个参数 上下文对象为this

第二个参数 多列数据集合mArrayList

第三个参数 每一个item的布局文件

使用系统默认的R.layout.list_item

第四个参数

数组的里面的每一项

要与第二个参数

存入的mArrayList中的key值一样

并且一一对应

第五个参数 new int[]{}数组

数组里面的第三个参数中的

item里面的控件id

4 在Activitity主视图中

重写父类AdapterView的ononItemClick方法

实现下拉框子项单击事件处理

(1) onItemClick方法有两个参数

第一个参数

adapterView表示ListView组件对象

第二个参数 表示下拉框子项

第三个参数 代表第几个子项被选中

(2) 使用Toast将被选中的子项信息进行显示

做完之后ListView的显示效果

如下图所示

Android应用开发基础课程列表:

课程教案

-1 Android应用开发基础-课程标准

-2 Android应用开发基础-教案

第一章 Android概述

-讨论:Android应用开发基础资源下载地址

-讨论的问题:华为“鸿蒙系统”会取代安卓吗?

-Android Studio4.1.2安装常用问题汇总2021.3.15

-1.1 Android概述

--1.1 Android概述

--1.1 Android Studio安装与配置-实践案例

-1.1 Android概述--作业

-1.2 Android程序

--1.2 Android程序

--1.2 第一个Android应用程序-实践案例

-1.2 Android程序--作业

-1.3 Android程序调试

--1.3 Android程序调试

--1.3 Android程序调试-实践案例

-1.3 Android程序调试--作业

-讨论-完成第一个Android程序需要多长时间?

第二章 Android视图

-讨论-什么是Activity?

-2.1 Activity概述

--2.1 Activity概述

--2.1.1 实践案例-Activity生命周期

--2.1.2 实践案例-Activity跳转和数据传递

-2.1 Activity概述--作业

-2.2 Activity应用

--2.2 Activity应用

--2.2 实践案例-Activity四种启动模式

-第2章 Android视图--2.2 Activity应用

-讨论-怎么理解常用的四种启动模式?

第三章 Android组件

-讨论:Android在五个常用布局外还有哪几种布局方式?

-3.1 Activity布局

--3.1 Activity布局

--3.1 实践案例-Android布局

-3.1 Activity布局--作业

-3.2 Android基础组件

--3.2 Android基础组件

--3.2.1 实践案例-文本和按钮组件

--3.2.2 实践案例-编辑框和进度条组件

-3.2 Android基础组件--作业

-3.3 Android中级组件

--3.3 Android中级组件

--3.3.1 实践案例-复选框和开关组件

--3.3.2 实践案例-单选框和图像组件

-3.3 Android中级组件--作业

-3.4 Android适配器

--3.4.1 系统适配器

--3.4.2 自定义适配器

--3.4.1实践案例-系统适配器

--3.4.2 实践案例-自定义适配器

-3.4 Android适配器--作业

-讨论-如何解决Android的布局嵌套问题的?

第四章 Android Fragment

-讨论:Fragment的优点?

-4.1 Fragment碎片组件

--4.1.1 Fragment静态加载

--4.1.2 Fragment与Activity通讯

--4.1.3 Fragment动态加载

--4.1.1 实践案例-Fragment静态加载

--4.1.2 实践案例-Fragment的动态加载

-4.1 Fragment碎片组件--作业

-4.2 ViewPager翻页类组件

--4.2.1 ViewPager翻页类组件

--4.2.2 引导页和标题栏

--4.2 实践案例-引导页和选项卡

-4.2 ViewPager翻页类组件--作业

-讨论:fragment与activity的生命周期有哪些不同?

第五章 广播

-讨论:Android广播有什么作用?

-5.1 Android广播概述

--5.1 Android广播概述

--5.1.1 实践案例-手机电量显示

--5.1.2 实践案例-手机充电状态显示

-5.1 Android广播概述--作业

-5.2 Android广播工作原理

--5.2 Android广播工作原理

--5.2.1 实践案例-手机网络状态显示

--5.2.2 实践案例-短消息接收

-5.2 Android广播工作原理--作业

-5.3 自定义广播

--5.3 自定义广播

--5.3 实践案例-自定义广播与有序广播

-第5章 广播--5.3 自定义广播

-5.4 有序广播

--5.4有序广播

--5.4.2 实践案例-登录广播-记住密码

--5.4.2 实践案例-登录广播-强制退出

-第5章 广播--5.4 有序广播

-讨论:广播的动态注册和静态注册有什么区别?

第六章 Android服务

-讨论:Android的服务有什么作用?

-6.1 系统服务概述

--6.1 系统服务概述

-6.1 系统服务概述--作业

-6.2 访问系统服务

--6.2 访问系统服务

--6.2 实践案例-通知服务

-6.2 访问系统服务--作业

-6.3 自定义服务

--6.3 自定义服务

--6.3.1 实践案例-启动服务

--6.3.2 实践案例-绑定服务

--6.3.3 实践案例-后台服务

-第6章 Android服务--6.3 自定义服务

-6.4 多线程

--6.4 多线程

--6.4.2 实践案例-MyService下载

--6.4.3 实践案例-MyIntentService

--6.4.4 实践案例-AsyncTask实现对话框下载

--6.4.5 实践案例-下载精灵

-第6章 Android服务--6.4 多线程

-讨论:Android中怎么启动Service?

第七章 内容提供者ContentProvider

-讨论:ContentProvide的作用是什么?

-7.1 Android运行权限

--7.1 Android运行权限

--7.1 实践案例-拨打电话与发送短信

-7.1 Android运行权限--作业

-7.2 URL URI概述

--7.2 URL URI概述

-第7章 内容提供者ContentProvider--7.2 URL URI概述

-7.3 ContentProvider概述

--7.3 ContentProvider概述

--7.3 实践案例-读取联系人

-第7章 内容提供者ContentProvider--7.3 ContentProvider概述

-7.4 访问通讯录

--7.4 访问通讯录

--7.4.1 实践案例-读取通讯录

--7.4.2 实践案例-添加通讯录

--7.4.3 实践案例-删除更改通讯录

-第7章 内容提供者ContentProvider--7.4 访问通讯录

-7.5 课后作业案例

--7.5.1 实践案例-文件管理器-查看

--7.5.2 实践案例-文件管理器-播放

-讨论:ContentProvide如何使用?

第八章 多媒体

-讨论:Android多媒体主要应用于哪些场景?

-8.1 相机服务

--8.1 相机服务

--8.1.1实践案例-拍照服务

--8.1.2 实践案例-相册服务

-8.1 相机服务--作业

-8.2 音视频服务

--8.2 音视频服务

--8.2.1实践案例-音乐播放

--8.2.2 实践案例-视频播放

-8.2 音视频服务--作业

-讨论:Android视频组件的使用流程?

第九章 网络技术

-讨论:为什么使用Json作为网络的通讯格式?

-9.1 网络服务概述

--9.1 网络服务概述

--9.1 实践案例-WebView和Http服务

-9.1 网络服务概述--作业

-9.2 网络框架

--9.2 网络框架

--9.2 实践案例-okhttp框架

-9.2 网络框架--作业

-9.3 Json

--9.3 Json

--9.3 实践案例-json协议

-第9章 网络技术--9.3 Json

-9.4 Volley

--9.4 volley

--9.4 实践案例-volley框架

-第9章 网络技术--9.4 Volley

-讨论:OkHttp和Volley的有什么区别?

第十章 数据存储

-讨论:Android的存储方式有哪几种?

-10.1 文件存储

--10.1 文件存储

--10.1.1 实践案例-文件读写布局

--10.1.2 实践案例-文件读写

--10.1.3 实践案例-SharedPreference文件读写

-10.1 文件存储--作业

-10.2 数据库存储

--10.2 数据库存储

--10.2.1 实践案例-Sqlite数据库操作布局

--10.2.2 实践案例-Sqlite数据库操作

-10.2 数据库存储--作业

-讨论:SQLite的基础操作的流程是什么?

课程实训(不计入考核)

-第1章 实训简介以及开发环境配置

--实训项目简介PPT以及实训指导书

--1.1 实训项目简介

--1.2 项目开发环境配置

-第2章 在线音乐播放器整体设计以及服务端开发

--在线音乐播放器整体介绍PPT以及服务端开发实训指导书

--2.1 在线音乐播放器-整体设计

--2.2 在线音乐播放器-服务端开发

-第3章 在线音乐播放器-客户端开发

--3.1 客服端开发实训指导书以及PPT

--3.2 客户端开发-讲课视频

-第4章 在线音乐播放器-完整版

--4.1 实训指导书以及PPT

--4.2 在线音乐播放器-完整版授课视频

-第5章 QQ聊天项目

--5.1 实训指导书以及PPT

--5.2 QQ聊天项目授课视频

-第6章 在线点餐系统

--6.1 实训指导书以及PPT

--6.2 在线点餐系统授课视频

3.4.1 系统适配器笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。