版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章KOTLIN语言基础
基于Kotlin的Android应用程序开发
1章节目录
•基本语法
•方法与LAMBDA表达式
•类与对象
•泛型、对象表达式和代理
21基本语法
•基本数据类型
•包
•程序的控制结构
•返回值与循环结构的跳转
•集合类型
•数值范围
•等式
•操作符
•其他操作符
•违例处理
3基本数据类型
•数字
•数字类型
•类型转换
•类型转换的方法
•数学运算
•基本的运算种类
•字符
•声明和表示
•布尔型数据
•声明与值
•数组
•数组的定义
•数组的使用
•字符串
•声明和表示
•空值
•表示和检查
•数据类型的检查与转换
•表示和使用
4包
•包的概念
•包的声明
•包的使用
5程序的控制结构
•常用的控制结构
•if结构
•when结构
•for循环
•while循环
•控制语句的执行情况
6返回值与循环结构的跳转
•返回值的表示
•循环结构的跳转命令
7集合类型
•常用的集合类型
•集合类型的使用
8数值范围与等式
•数值范围表达式
•等式运算符
9操作符
•一元前缀操作符
•递增、递减
•数学操作符
•在范围中进行查询或遍历的in操作符
•数组基于位置索引的访问符
•扩展赋值符
•比较操作符
•其他操作符
•Elvis操作符
•!!操作符
10违例处理
•违例定义
•违例产生原因
•违例处理结构
•程序运行的顺序
112方法与Lambda表达式
•方法(或函数)•方法的声明与使用
•Lambda表达式和高阶方法
•匿名方法和闭包
12方法(或函数)•方法
•方法(或函数)声明
•可变长输入参数
•方法的中缀使用方式
13方法的声明与使用
•方法的使用
•多种方法的定义
14Lambda表达式和高阶方法
•Lambda表达式
•基本结构
•使用
•方法类型
•基本结构
•使用
•高阶方法
15匿名方法和闭包
•匿名方法的声明和使用
•闭包与闭包的使用
163类与对象
•类的声明
•类的构建器
•类的实例化
•设值器和取值器(setter和getter)•类的继承
•继承中方法的覆盖
•继承中属性的覆盖
•抽象类与接口
•多重继承
•程序对象的可见性说明
•扩展
•数据类
•拆分结构
•嵌套类和内部类
•枚举类
•this操作符
17类的声明
•类
•类的基本结构
•属性
•方法
•对象
18类的构建器
•类的主构建器
•类的非主构建器
•构建器的使用
19类的实例化
•类实例化的基本形式
•实例对象的访问
20设值器和取值器(setter和getter)•设值器和取值器的基本结构
•设值器和取值器的修改
•设值器和取值器的使用
21类的继承
•继承
•继承的基本结构
•继承的实现
22覆盖
•继承中的方法覆盖
•概念
•实现
•继承中的属性覆盖
•实现
23抽象类与接口
•抽象类的定义
•抽象类的使用
•接口的定义
•接口的使用
24多重继承
•多重继承的定义
•多重继承的实现
•基于接口的两种实现方法
25程序对象的可见性说明
•可见性说明符
•包(package)的可见范围
•类与接口的可见范围
26扩展
•扩展的含义
•扩展声明的基本形式
•类的属性
•类的方法
•扩展技术的使用
27数据类
•数据类的含义
•数据类的定义要求
28拆分结构
•拆分结构的基本结构
•拆分结构的使用方法
29嵌套类和内部类
•嵌套类的定义
•嵌套类的使用
•内部类的定义
•内部类的使用
30枚举类
•枚举类型
•枚举类的定义格式
•枚举类的使用
31this操作符
•this的定义
•this的使用
324泛型、对象表达式和代理
•泛型
•基于泛型声明方法和泛型限制
•对象表达式
•对象声明
•伴随对象
•类代理
•代理属性
•预定义的代理工具
•本地代理属性
•注解
•反省
33泛型
•泛型的定义
•泛型的使用
•泛型中类型的约束
34基于泛型声明方法和泛型限制
•泛型方法声明的基本形式
•泛型方法的使用
•泛型中类型的约束
35对象表达式
•对象表达式的定义
•对象表达式的使用
36对象声明
•对象声明的基本语法
•对象声明的使用方法
37伴随对象
•伴随对象的基本结构
•伴随对象的使用
38类代理
•代理模式
•类代理的基本结构
•类代理的使用方法
39代理属性
•代理属性的基本语法
•代理属性的使用
40预定义的代理工具
•标准类库中的代理工具
•代理工具的使用
41本地代理属性
•方法内部的变量
42注解
•注释
•注解的定义
•注解的相关特征
•注解的对象
43反省
•反省
•反省的实现
•反省的使用
44感谢您的关注
45第二章ANDROID应用开发概述
基于Kotlin的Android应用程序开发
ISBN:9787115500984
46章节目录
•ANDROID平台与开发环境
•开发项目的创建
•构建可交互的简单应用
•日志工具的使用
471ANDROID平台与开发环境
•Android平台结构
•层次
•层次功能
•Android开发环境
•AndroidSDK•AndroidStudio
482开发项目的创建
•新建项目的两种方法
•项目的创建
•一个工程项目的程序结构
49新建项目中的源程序
•主窗体的布局声明
•基本组成
•主窗体程序
•工作过程
•项目的主配置文件
50程序的运行与修改
•程序的运行方法
•虚拟设备的声明
•程序中显示内容的修改
•直接修改
•通过资源文件
513构建可交互的简单应用
•程序的名称Devices(版本1)•功能描述
•通过界面显示设备信息
•程序的结构
•一个交互界面
•界面中有三个交互组件,分别为:下拉列表(Sppiner)、按钮(Button)和文本显示组件(TextView)•项目的文件组织结构
•构建顺序
52主窗体的布局
•主窗体的布局文件
•布局的结构
•布局中的组件
•布局中相关内的加载
53交互界面及功能实现
•按钮的事件处理
•处理器的声明和实现
•实现步骤
54按钮功能的其他实现方法
•观察者模式
•监听器模式
•事件的监听与处理
•实现过程的简化说明
554日志工具的使用
•日志工具的常用命令
•日志工具的使用
56感谢您的关注
57第三章
多窗体应用
基于Kotlin的Android应用程序开发
ISBN:9787115500984
58章节目录
•窗体类的实现
•窗体间的消息传递
•基于Intent对象启动运行环境中其他应用程序
59简介
•本章所讨论的主要技术点
•多窗体
•窗体协作
•下拉列表的使用
•外部程序的驱动
•基本内容
•Devices(版本2)•功能
•项目结构
601窗体类的实现
•项目的主配置文件
•下拉列表组件功能的实现
•定义新窗体
61项目的主配置文件
•AndroidManifest.xml•配置文件的结构
•应用程序的技术配置、版本、工作组件、程序工作权限
62下拉列表组件功能的实现
•使用Spinner组件
•组件的事件监听器和处理器
•基于监听器实现Spinner组件的行为
63定义新窗体
•新建窗体
•增加文本显示组件
•主配置文件的变化
•新窗体的驱动显示
642窗体间的消息传递
•Intent对象
•Intent对象中消息的封装与提取
•Devices(版本2)中窗体间的信息交互
•封装信息
•提取信息
•在新窗体中显示主窗体信息
653基于Intent对象启动运行环境中其他应用程序
•使用Intent对象启动短消息应用
•使用Intent对象启动Email应用
66使用Intent对象启动短消息应用
•Intent对象启动其他应用程序的基础
•通过Intent启动一个短消息应用
•Intent•分类
•使用
67使用Intent对象启动Email应用
•配置Intent对象启动Email应用
•在发送的Email中增加附件
68感谢您的关注
69第四章
布局与界面交互组件
基于Kotlin的Android应用程序开发
ISBN:9787115500984
70章节目录
•布局
•界面交互组件
711布局
•相对布局
•线性布局
•网格布局
•约束布局
•ScrollView组件
72相对布局
•相对布局概念
•布局的声明
•相关属性的含义和用法
•利用相对布局组织界面中的组件
73线性布局
•线性布局的概念
•线性布局的声明
•布局的使用
•利用线性布局组织界面中的组件
74网格布局
•网格布局的概念
•布局的声明
•布局的使用
•构建收集信息的窗体
75约束布局
•约束布局的概念
•布局的声明
•约束布局的使用
76ScrollView组件
•ScrollView概念
•利用ScrollView实现简单的界面
772界面交互组件
•视图类组件
•按钮类组件
•信息提示类组件
78视图类组件
•EditText组件
•功能
•声明
•使用
•ImageView组件
•功能
•声明
•使用
79按钮类组件
•Button组件
•功能
•Button的声明
•Button的事件处理
•ImageButton组件
•功能
•ImageButton的声明
•ImageButton的事件处理
•ToggleButton组件
•功能
•ToggleButton的声明
•ToggleButton的事件处理
80按钮类组件
•Switch组件
•功能
•Switch组件的声明
•Switch的事件处理
•CheckBox组件
•功能
•CheckBox组件的声明
•CheckBox的事件处理
•RadioButton组件
•功能
•RadioButton组件的声明
•RadioButton的事件处理
81信息提示组件
•Toast组件
•使用Toast组件显示提示信息
•Snackbar组件
•使用SnackBar组件显示提示信息
•实现SnackBar组件交互
82感谢您的关注
83第五章
窗体类运行时的生命周期
基于Kotlin的Android应用程序开发
ISBN:978711550098484章节目录
•基于多线程的界面更新
•Android平台中通信录的访问
85简介
•本章所讨论的主要技术点
•多线程
•界面状态管理
•系统通讯录的访问
•基本内容
•People应用
•功能
•项目结构
861基于多线程的界面更新
•界面记时功能的实现
•窗口界面状态的变化
87People应用的界面
•布局声明
•界面中的组件声明
88界面计时功能的实现
•Handler类
•Handler类的工作模式
•在People应用中使用Handler类
89窗体界面状态的变化
•程序运行时状态的变化
•Activity的生命周期
•界面状态的管理
•项目主配置文件
•使用Bundle对象
•Bundle类的使用
•People应用中使用Bundle对象
902Android平台中通信录的访问
•通信录
•通信录的访问
•用户信息在通信录中的保存
91通信录和通信录的访问
•系统中的通信录组件
•通信录中业务数据的存储情况
•通信录的访问
•程序的权限声明
•通信录中写操作的流程
•ContentValue类的使用
92用户信息在通讯录中的保存
•实现数据储存到Android的通讯录中
•People应用的运行情况
93感谢您的关注
94第六章
列表与适配器
基于Kotlin的Android应用程序开发
ISBN:9787115500984
95章节目录
•项目资源和数据准备
•程序中界面的实现
•界面显示内容的动画效果
96简介
•本章所讨论的主要技术点
•GridView和ListView•适配器
•界面中的动画效果
•基本内容
•Devices(版本3)•功能
•项目结构
971项目资源和数据准备
•新建项目
•使用图片资源
•项目中图片资源的使用
•设置相应的数据类用于描述信息
982程序中界面的实现
•主窗体的实现
•显示设备名称
•显示设备信息
99主窗体的实现
•GridView•使用GridView组织界面
•GridView中局部“格子”的安排
•适配器模式
•使用适配器填充界面中的内容
•界面交互行为的实现
•事件
•事件监听
•事件处理
•实现总结
100显示设备名称
•ListView•基于ListView构建窗体
•使用适配器填充界面中的内容
•界面交互的实现
•实现总结
101显示设备信息
•构建显示设备的信息的界面
•从Intent实例中提取设备类型和设备索引信息
•显示设备信息
1022界面显示内容的动画效果
•动画效果的定义与使用
•在示例程序中实现动画效果
103动画效果的定义与使用
•动画效果的定义
•动画的使用
•4种基本动画效果
•常用属性
•动画效果属性
104在示例程序中实现动画效果
•定义动画
•在界面中显示动画
105感谢您的关注
106第七章
碎片技术
基于Kotlin的Android应用程序开发
ISBN:9787115500984
107章节目录
•碎片的创建与加载
•实现界面中的交互功能
•根据现实条件显示不同的界面
108简介
•碎片技术
•本章所讨论的主要技术点
•碎片的使用
•Devices(版本4)•功能
•构建顺序
•基本内容
1091碎片的创建与加载
•创建碎片
•在窗体中加载碎片
110创建碎片
•碎片类
•碎片实现的基础类是Fragment,碎片实例必须在Activity对象中运行,在AndroidStudio中提供了新建碎片的图形化向导,可以直接新建碎片
•Devices(版本4)项目的创建
•初始阶段项目的组织结构
•碎片类的技术特征
111创建两个碎片
•ItemFragment•基于ListFragment•InfoFragment•布局
•主程序
112在窗体中加载碎片
•碎片的运行需要依赖一个窗体对象,因此可在MainActivity中组装上述的两个碎片组件,可通过直接修改窗体布局文件中的<fragment>标签来实现。
1132实现界面中的交互功能
•更新InfoFragment类
•调整主窗体布局及实现类
•修改ItemFragment类
114交互的实现
•Devices(版本4)简单交互阶段的程序运行关系
•当ItemFragment中某个项被点击后,InfoFragment中的内容会相应调整,实现该部分功能包括如下几个步骤
•更新InfoFragment类
•调整主窗体布局及实现类
•修改ItemFragment
115更新InfoFragment类
•在InfoFragment类中增加属性
116调整主窗体布局及实现类
•在布局中使用FragmentLayout•更新MainActivity类
•界面中碎片的更新方法
117修改ItemFragment类
•对ItemFragment的ListView创建点击事件,通过onListItemClick方法实现
•调用MainActivity中的setInfoFragment方法修改更新InfoFragment中的内容
1183根据现实条件显示不同的界面
•Android应用在运行过程中,程序能够根据外部运行环境而自动调用不同的应用资源,本节将实现上述Devices程序根据不同的屏幕状态自动组织界面,主要步骤如下:•布局文件的组织
•应用程序的调整
119界面资源的使用
•资源文件的组织
•界面状态的表示
•Devices(版本4)的程序运行关系
120布局文件的组织
•应用程序的布局资源分为两个文件夹进行组织,当设备的屏幕状态发生改变时,应用程序会自动加载相应的布局文件组织不同的界面布局
•“横屏”状态时的布局声明
•横屏状态时,布局文件存放至“layout-land”目录
•“竖屏”状态时的布局声明
•竖屏状态时,布局文件存放至“layout”目录
•项目中布局文件的情况
121应用程序的调整
•InfoActivity•加载碎片
•MainActivity•根据不同条件驱动显示不同的界面
•项目程序运行情况
122感谢您的关注
123第八章
菜单与抽屉导航式界面
基于Kotlin的Android应用程序开发
ISBN:9787115500984
124章节目录
•菜单的组织与声明
•菜单的加载与功能实现
•导航抽屉式界面
125简介
•本章所讨论的主要技术点
•菜单
•导航抽屉式界面
•基本内容
•Notes(版本1)•功能
•界面
•程序的工作过程
•项目结构
126菜单
•菜单
•菜单的分类
•菜单的显示
•菜单的实现
1271菜单的组织和声明
•创建菜单
•示例程序中的数据类
•实现基本的程序类
128菜单的创建
•菜单声明
•菜单的位置
•显示方式
•显示内容
•子菜单
•Notes(版本1)中的菜单
129示例程序中的数据和程序
•示例程序的数据类
•本部分示例应用程序的数据类为Note•实现基本的程序类
•创建并实现NoteActivity类,完成各类组件的布局和功能
•布局声明
•业务功能的实现
1302菜单的加载与功能实现
•菜单的加载
•菜单项功能的实现
•Notes(版本1)中的其它功能
131菜单的加载
•使用onCreateOptionsMenu和onCreateContextMenu方法分别对选项菜单和环境菜单进行加载
•环境菜单的注册
132菜单项的功能实现方法
•使用onOptionsItemSelected和onContextItemSelected方法实现菜单的行为
•菜单处理器的工作原理
133完善程序中其他功能
•完善MainActivity中的其他功能,包括:菜单加载、菜单的功能定义、组件初始化工作以及界面的自动更新
•项目中窗体间的关系声明
•通过配置AndroidManifest.xml文件,设置窗体间的上下级关系用于实现窗体间的导航。
1343导航抽屉式界面
•支持类库
•导航抽屉式界面的程序组成
•导航抽屉式界面中实现共享功能
•基于导航抽屉式界面的地图应用
135AndroidSDK中的支持类库
•除了标准开发库,AndroidSDK中还包含了一些被称为“支持类库”的工具
•支持类库可帮助开发人员在较为陈旧的Android平台上实现在后续版本中才具备的功能或特征
136导航抽屉式界面的程序组成
•导航抽屉式界面可通过AndroidStudio中的创建向导直接建立
•创建的导航抽屉式界面在ActionBar区域加载了新的组件ToolBar,并在ToolBar中定义了一个选项菜单(包含一个菜单项Settings)•界面在右下角还定义了一个浮动的图片按钮
•导航抽屉式界面在窗体左边有设置了一个可隐藏的导航面板,该面板的隐藏与显示可通过滑动操作来实现
•项目中的程序结构
137共享功能的实现
•功能实现的原理
•修改菜单声明
•实现菜单功能
138基于导航抽屉式界面的地图应用
•基于在线地图的应用
•可使用的开发工具
•第三方类库的导入方式
•在线地图应用的实现步骤:•在项目开发中导入第三方库
•在导航抽屉式界面中加载地图显示组件
•调用类库中的应用编程接口
139感谢您的关注
140第九章
基于SQLite的数据持久化
基于Kotlin的Android应用程序开发
ISBN:9787115500984
141章节目录
•SQLite的使用
•基于SQLite构建简单的应用程序
•异步任务
142简介
•本章所讨论的主要技术点
•SQLite的使用
•异步任务
•基本内容
143SQLITE•SQLite是一个微型的嵌入式数据库管理系统,可运行在多种操作系统上,实现对应用程序运行中产生的数据进行存储
•SQLite中的数据类型
•程序实现的基础
1441SQLite的使用
•数据库的创建与管理
•数据库的版本控制
•数据库的访问
145数据库的创建与管理
•Android应用开发中使用SQLiteOpenHelper类作为创建和管理数据的基础
•在程序第一次使用时创建数据库
•当因程序变更而引起数据库结构发生变化时,该类能对运行环境中原有数据库进行升级(或降级)•数据库的创建
146数据库的版本控制
•SQLite在管理数据库时必须指定数据库的版本号
•随着程序的升级或调整,数据库的结构可能会发生变化
•数据库库版本的控制
•SQLiteOpenHandler工作原理
147数据库的访问
•增加数据
•实现方式
•删除数据
•实现方式
•修改数据
•实现方式
•查询数据
•实现方式
1482基于SQLite构建简单的应用程序
•基于SQLite技术,可将上一章节中的Notes应用进行升级为该应用增加数据持久化功能,将业务数据使用SQLite来进行管理
•Notes(版本2)•功能
•项目结构
•本节的基本内容
•数据库创建类
•数据库访问类
•界面类的实现
149数据库创建类
•基于SQLiteOpenHelper定义DBHelper类
•该类在程序第一次运行时创建数据库,并在数据库中增加一个数据表格
150数据库访问类和应用界面
•对数据的操作包含
•对数据表中所有数据进行查询、在数据表中增加新数据、在数据表中修改已有数据、在数据表中删除已有数据
•界面类实现
•NoteActivity类
•MainActivity类
1513异步任务
•异步任务往往用于处理应用程序在运行中出现的耗时较长的计算任务
•使用异步任务的方式将该部分任务与界面主线程分离,以独立线程的方式工作
•异步任务的实现原理
•在Notes(版本2)中使用异步任务
152感谢您的关注
153第十章
应用服务
基于Kotlin的Android应用程序开发
ISBN:9787115500984
154目录
•Started服务
•Bound服务
155简介
•应用服务是在Android中的一种后台运行的特殊组件,不具有用户交互界面
•STARTED服务
•BOUND服务
•本章所讨论的主要技术点
•服务的实现
•基本内容
1561STARTED服务
•服务的创建
•基于Started服务实现
•系统消息推送
•音频播放
157Start服务的创建
•Started服务需基于IntentService类进行创建,通过接受外部程序发送的Intent实例来启动
•项目配置文件中的声明
•服务的启动
158基于Started服务推送系统通知
•本节将构建一个服务可从接收到的Intent实例中提取文本信息,并将文本信息在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于调整原材料采购渠道的实施商洽函4篇
- 工程延期风险控制项目工程管理人员预案
- 客服专员服务态度评定考核表
- 餐饮行业油烟净化设备安装标准流程手册
- 教育信息化建设标准与教育资源整合方案手册
- 商务谈判会议商请函(8篇)
- 证券行业量化交易策略研究与实施方案
- 跨境电商物流与供应链管理优化解决方案
- 音乐制作人音乐制作进度与市场反应效果绩效考评表
- 年度业务计划审批函4篇范文
- 2026年度资阳市公开遴选(考调)公务员笔试备考试题及答案详解
- 2026浙江宁波市慈溪市上林人才服务有限公司招聘派遣制教师模拟试卷(培优B卷)附答案详解
- 2026年城市地下综合管廊智能化改造实施方案
- 2026年山东省泰安市新泰市某国企招聘笔试备考题库及答案详解参考
- DB51T 1462-2012 柳杉二元立木材积表、单木出材率表
- 辽宁省朝阳市劳动合同范本
- 绿色中国风神话故事之八仙过海
- 20KV及以下配电网工程建设预算编制与计算规定
- 睡眠呼吸监测产品技术审评规范
- (11.1)-牛某某强奸案二审刑事附带民事裁定书
- 核心素养下通用技术项目式教学实践探究 论文
评论
0/150
提交评论