Kotlin
- Lambda表达式
- 当lambda参数是函数的最后一个参数时,可以将Lambda表达式移到函数括号的外面
- Lambda参数是唯一的参数时,括号可以省略
- Lambda表达式的参数列表只有一个参数时,不必声明参数名,而用 it 代替
val maxOne = list.maxBy{it.length}
常用函数:
map() : 可将集合中的每一个元素都映射成一个另外的值,规则便在Lambda表达式中声明,例如toUpperCase()
filter():过滤器,用法类似
- 空指针检查
?. : 对象不为空时调用,为空时什么都不做
?::不为空时返回左边的结果,否则返回右边的结果
和辅助工具let连用 - 内嵌表达式
${},一个变量时可省。 - 标准函数
with:
val result = with(obj) {
//上下文
"value"//返回值
}
run,apply用法类似,有些许区别,不再赘述
Activity
- 显示/隐式传递
eg1:
第一个参数为上下文,这里为this指定当前
第二个参数为目标Activity
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
eg2:
在标签下配制内容,指定当前Activity能够响应的action和category:
<activity android:name=".SecondActivity"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="com.example.activitytest.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />//默认选择
</intent-filter>
</activity>
每个Intent只能指定一个action,和多个category。
- 生命周期和启动模式
Activity状态:运行/暂停/停止/销毁
生存期:onCreate() / onStart() / onResume() / onPause() / onStop() / onDestroy() / onRestart()
启动模式:standard / singleTop / singleTask / singleInstance