一些概念区分(Andriod Studio学习笔记第十二天 )

一、几个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)

在这里插入图片描述
四、Activity之间传递数据

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);
}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值