这是我参与「第四届青训营 」笔记创作活动的的第3天
我使用的教材是《第一行代码》,感谢开放的互联网。
本篇内容包含:Lambda编程;Activity的布局,绑定,注册;Intent交互方式中页面,程序跳转,以及数据传递。
【lambda
集合的创建与遍历
listOf()创建不可变集合
set集合不能存放重复元素
map键值对
集合的函数式API
lambda语法
{参数名1:参数类型, 参数名2:参数类型 ->函数体}
空指针检查
【看得见的Activity——一种包含用户界面的组件
创建布局
xml中对于标识符的定义和引用:
@+id/id_name
@id/id_name
加载布局
注册Activity
设置主活动并且在顶部写标题
一些其他的尝试: Toast
声明按键变量,并在click监视器中部署关闭操作
(开发时未引入kotlin-andriod-extensions插件)
【Intent:安卓各组件间的一种交互方式
用途:启动Activity/Servive;发送广播...
每个intent只能指定一个action,但可以指定多个category
显式:
Intent(Context packageContext, Class<?> cls)
Context packageContext:上下文
Class<?> cls:想要启动的目标Activity
startActivity(intent):在启动Activity的方法中传进一个intent“桥”,这个参数是我们定义的在怎样的情景下进入目标Activity
隐式
Intent("action")
也可以进行程序间跳转:
第一次程序崩溃:
Activity下intent-filter>下标签:
- action:绑定intent
- category:更加细分
- data:指定当前Activity能够响应的数据
- scheme: 协议
- host:主机
- port:端口
- path
- mimeType:可以处理的数据类型
Activity间传数据
所谓语法糖
在对类对象无法直接操作的属性赋值,可以直接使用类似objectName.element = value的形式,其实本质上是简化了操作,机器自动使用了classSet()方法进行传参,并不是直接赋值。