一、几个SdkVersion的区别
compileSdkVersion :Gradle 的 Android SDK 编译版本。
minSdkVersion :应用可以运行的最低版本。
targetSdkVersion:android向前兼容的主要方式,
除非更新targetSdkVersion,否则不改变应用的行为。 这允许您在处理行为更改之前使用新的API(如您更新过的compileSdkVersion)。
minSdkVersion<=targetSdkVersion<=compileSdkVersion
用较低的 minSdkVersion 来覆盖最大的人群,用最新的 SDK 设置 targetSdkVersion 和 compileVersion 来获得最好的外观和行为。
二、常用Dialog对话框
AlertDialog提示对话框、ProgressDialog进度对话框、DatePickerDialog/TimePickerDialog日期/时间对话框
三、Activity生命周期
关于activity的四个状态: running-poused-stopped-killed
running->当前显示在屏幕的activity(位于任务栈的顶部),用户可见状态。
paused->依旧在用户可见状态,但是界面焦点已经失去,此Activity无法与用户进行交互。
stopped->用户看不到当前界面,也无法与用户进行交互 完全被覆盖。
killed->当前界面被销毁,等待这系统被回收。(https://blog.csdn.net/xiajun2356033/article/details/78741121)
1.A传到B
intent.putExtra()+getIntent()
1.1利用Intent直接put基础数据类型
MainActivity.java
public void onClick(View v){
final Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("button_title", "为什么");
startActivity(intent);}
SecondActivity.java
Button button = findViewById(R.id.button);
if(getIntent() != null){
String buttonTitle = getIntent().getStringExtra("button_title");
button.setText(buttonTitle);}
1.2利用bundle(类似于HashMap)
MainActivity.java
public void onClick(View v){
final Intent intent = new Intent(MainActivity.this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString(BUTTON_TITLE, “为什么”);//BUTTON_TITLE常量
bundle.putBoolean(...,...);
intent.putExtra(BUTTON_TITLE, bundle);
startActivity(intent);}
SecondActivity.java
Button button = findViewById(R.id.button);
if(getIntent() != null){
Bundle bundle = getIntent().getBUndleExtra(MainActivity.BUTTON_TITLE);
if(bundle != null){
String buttonTitle = bundle.getString(MainActivity.BUTTON_TITLE);
button.setText(buttonTitle);
}}
1.3序列化的类型
2.A传到B,B关闭传值给A
MainActivity.java
onClick的startActivityForResult+onActivityResult
public void onClick(View v){
final Intent intent = new Intent(MainActivity.this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString(BUTTON_TITLE, “为什么”);//BUTTON_TITLE常量
bundle.putBoolean(...,...);
intent.putExtra(BUTTON_TITLE, bundle);
startActivityForResult(intent,999);}
//onActivityResult也是一个Activity生命周期
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode==RESULT_OK && requestCode==999){
if(data!=null){
setTitle(data.getStringExtra("11"));
}
}
}
SecondActivity.java
setResult()+getIntent()
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent = new Intent();
intent.putExtra("11","1231")
setResult(RESULT_OK,intent);//RESULT_OK=-1
finish();//关闭}
});
if(getIntent() != null){
Bundle bundle = getIntent().getBUndleExtra(MainActivity.BUTTON_TITLE);
if(bundle != null){
String buttonTitle = bundle.getString(MainActivity.BUTTON_TITLE);
button.setText(buttonTitle);
}}