1つは、アクティビティ間でデータを転送する
1.データの転送方法は?
Intent intent = new Intent(MainActivity.this, SplashActivity.class);
intent.putExtra("title", title);
startActivity(intent);
2.どのようなデータを送信できますか?
intent.putExtras(String, type)中的type:
byte
char
short
int
long
float
double
boolean
String
Bundle
Parcelabel
CharSequence
Serializable(以上都有对应的数组类型,但Serializable无数组类型)
3.オブジェクトを渡すことはできますか?
できる。クラスを定義するときにシリアル化します。
package com.jsc4.aboutactivity;
import java.io.Serializable;
public class UserInfo implements Serializable{
// 这里要序列化implements Serializable,new出的对象就是序列化对象
private String mUserName;
private int mAge;
public String getmUserName() {
return mUserName;
}
public void setmUserName(String mUserName) {
this.mUserName = mUserName;
}
public int getmAge() {
return mAge;
}
public void setmAge(int mAge) {
this.mAge = mAge;
}
public UserInfo(String userName, int age){
mUserName = userName;
mAge = age;
}
}
intent.putExtra("userInfo", userInfo); // 装包塞入
UserInfo userInfo = (UserInfo) intent.getSerializableExtra("userInfo"); // 拆包拿出,要用强制类型转换(UserInfo)
4.アクティビティはデータを返すことができますか?
把
startActivity(intent);
变成:
startActivityForResult(intent, REQUEST_CODE);
与startActivityForResult()函数配套使用的接收函数如下:
@Override
protected void onActivityResult(int requestCode,
int resultCode,
@Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i(TAG, "onActivityResult: requestCode="+requestCode
+" resultCode="+ resultCode);
if(requestCode == REQUEST_CODE &&
resultCode == SplashActivity.RESULT_CODE){
if(data != null){
String title = data.getStringExtra("title");
textView.setText(title);
}
}
}
5.1秒の遅延後にタスクを1回実行します
import android.os.Handler;
Handler mhandler = new Handler();
mhandler.postDelayed(new Runnable() {
@Override
public void run() {
// 执行的内容
}
}, 1000);//延时1s后执行
第二に、活動のライフサイクル
1.ライフサイクルに関わる方法
onCreate()-新生児
onStart()-泣く
onResume()-意識的
onPause()-一時停止(他のアプリケーションがカバーされています)
onStop()-表示されなくなりました
onDestroy()-破棄されました
onReStart()-再起動
2.メソッドの実行プロセス:
初めてインターフェイスに入ると、インターフェイスは次のように実行されます。
onCreate
onStart
onResume
別のインターフェイスにジャンプすると、インターフェイスが実行されます。
onPause
onStop
別のインターフェイスから戻ると、このインターフェイスが実行されます。
onRestart
onStart
onResume
HOMEボタンをクリックしてデスクトップに戻ると、インターフェースが実行されます。
onPause
onStop
アイコンをクリックしてインターフェイスに再度入ると、インターフェイスが実行されます
onRestart
onStart
onResume
完全に終了すると、インターフェイスは次のように実行されます。
onPause
onStop
onDestroy