[Android]アクティビティ間でのデータ転送、アクティビティ宣言サイクル

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

おすすめ

転載: blog.csdn.net/qq_30885821/article/details/108718897