1. Activity的生命周期
- onCreate:Activity在启动时会被创建,后面一般不会在调用该方法(除非例外情况,将Activity回收,例如内存不足);
- onStart:Activity启动时,会调用该方法;
- onResume:Activity可视化时,会调用该方法;
- onPause:Activity不可见时,会调用该方法;
- onStop:Activity完全不可见时,会调用该方法;
- onDestroy:Activity被回收时,会调用该方法。
- onRestart:上一个Activity没有被回收时,返回可以调用该方法(例如,通过startActivity跳转另一个Activity,可以使用finish返回上一个Activity,此时系统就会调用onRestart方法)
2. Toast
该方法主要作用是弹框,Toast.makeText(Context context, CharSequence text, @Duration int duration)
- context:上下文内容
- text:显示的文本
- duration:弹框展示的时长(Toast.LENGTH_SHORT、Toast.LENGTH_LONG)
例子:Toast.makeText(MainActivity.this, “弹框学习”, Toast.LENGTH_LONG);
3. Intent
该方法主要用于Activity的转递,Intent(Context packageContext, Class<?> cls);
- packageContext:当前Activity上下文
- cls:跳转的Activity实体类
一般跟startActivity一起使用,达到跳转试图的作用。
4. registerForActivityResult
该方法主要用于接收上一个Activity返回的数据,
registerForActivityResult(
@NonNull ActivityResultContract<I, O> contract,
@NonNull ActivityResultCallback callback)
- contract:数据格式限制,new ActivityResultContracts.StartActivityForResult()
- callback:数据回调接口,onActivityResult(ActivityResult result),函数式接口。
5. onSaveInstanceState
该方法用于某个Activity被回收后,先前数据无法获取的情况。可以提前将重要数据放在该方法的Bundle上。然后再Activity的onCreate添加判空逻辑(如果为null,则取savedInstanceState中拿数据)了。
6. Activity的启动模式
- standard:每次需要活动都重新创建
- singleTop:每次去栈顶查需要的活动,不在栈顶就重新创建
- singleTask:在当前应用程序中只存在一个单实例
- singleInstance:在所有程序的上下文,都只存在一个单实例(会开辟一个单例栈,存放单实例)
在AndroidManifest.xml的activity标签中配置,android:launchMode=“singleInstance”。
7. TextView
- android:layout_width:填充宽度,match_parent【与父级同宽】,wrap_content【由内容填充宽度】;
- android:layout_height:填充高度,match_parent【与父级同高】,wrap_content【由内容填充高度】;
- android:gravity:文字对齐方式,top、bottom、left、right、center等;
- android:size:文本内容;
- android:textSize:文本大小【sp为单位】;
- android:textColor:文本颜色;
- android:id:组件id
8. Button
- android:textAllCaps:false,取消默认英文字母全大写【系统默认将所有英文字母设置为大写】;
9. EditText
该组件为文本框
- android:hint:提示输入信息
- android:maxLines:输入最大的行数
10. ImageView
该组件为图像域
- android:src:指定图像地址,一般使用**@drawable/img_src格式
在Activity可以通过setImageResource()改变图像地址,一般使用R.drawable.img_src**格式
11. ProgressBar
该组件为进度条
- style=“?android:attr/progressBarStyleHorizontal”,设置为水平进度条,默认为圆形进度条;
可以通过Activity设置进度条状态,progressBar.setVisibility(),三个参数,visible【可见】,invisible【不可见】,gone【不仅不可见,还不会占用屏幕空间】