Java 将以前所有活动的数据显示到一个活动

Java 将以前所有活动的数据显示到一个活动,java,android,android-intent,Java,Android,Android Intent,我想问,如果我有不止一项活动需要通过另一项活动,如何通过?从下面的代码中,我已经将活动A和display中的数据传递给DisplayActivity,但现在我想添加另一个活动,即活动A和B,并且它们中的所有数据都传递给DisplayActivity。代码表示活动A。代码2表示显示活动 btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View

我想问,如果我有不止一项活动需要通过另一项活动,如何通过?从下面的代码中,我已经将活动A和display中的数据传递给DisplayActivity,但现在我想添加另一个活动,即活动A和B,并且它们中的所有数据都传递给DisplayActivity。代码表示活动A。代码2表示显示活动

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent1 = new Intent(MainActivity.this,Main2Activity.class);

            intent1.putExtra("first_name",edt1.getText().toString());
            intent1.putExtra("last_name",edt2.getText().toString());
            intent1.putExtra("date_of_birth",edt3.getText().toString());
            //startActivity(intent1);

            startActivityForResult(intent1,1);



  Intent intent2 = getIntent();
    Bundle bundle = intent2.getExtras();
    String first = bundle.getString("first_name");
    String last = bundle.getString("last_name");
    String dob = bundle.getString("date_of_birth");

    txt5.setText(":  "+first.toString()+" "+last.toString());
    txt7.setText(":  "+dob.toString());

您可以将所有数据保存在共享首选项中,并在需要的位置检索数据

创建一个AppPreference类,并根据需要创建一些getter和setter,将数据保存在共享首选项中,然后到达您想要的位置

AppPreference类:-

public class AppPreference {
    private static SharedPreferences mPrefs;
    private static SharedPreferences.Editor mPrefsEditor;

    public static String getFirstName(Context ctx) {
        mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
        return mPrefs.getInt("first_name", "");
    }

    public static void setFirstName(Context ctx, Integer value) {
        mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
        mPrefsEditor = mPrefs.edit();
        mPrefsEditor.putInt("first_name", value);
        mPrefsEditor.commit();
    }
}
要设置值,请执行以下操作:-

AppPreference.getFirstName(activity, edt1.getText().toString());
String firstName = getFirstName(this);
为了获得价值:

AppPreference.getFirstName(activity, edt1.getText().toString());
String firstName = getFirstName(this);

使用这种方式,您只能将来自其他活动的数据传递到显示活动,另一种方法是您可以创建一个模型类并在其中保存信息,然后在显示活动中访问它。运行活动时,Intent传递数据例如:-如果您打开活动a,然后转到活动B,则它将显示数据,但是,如果您不打开A或B,您的应用程序将崩溃,因为显示活动未从未启动的活动中获取意图。如果您想保存这两个活动中的数据并在以后使用它,而不需要启动这两个活动,请使用SharedReferences。我可以知道一个与我使用SharedReferences的案例相同的例子吗?在项目中创建一个类并设置名称AppPreferences并在类中创建一些gatter和satter。我已经根据“保存您的名字”更新了我的答案,如果这有助于您理解答案的话