Отображение данных из всех предыдущих действий в одно действие

#java #android #android-intent

#java #Android #android-намерение

Вопрос:

Я хочу спросить, если у меня есть более одного действия, которое должно пройти мимо другого действия, как? из приведенного ниже кода я уже передаю данные из activity A и display в DisplayActivity, но теперь я хочу добавить еще одно действие, которое является activity A и B, и все данные из них передаются в DisplayActivity. Код представляет действие A. Код 2 представляет DisplayActivity

     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());
 

Комментарии:

1. используя этот способ, только вы можете передавать данные из других действий в действие отображения, а другой метод заключается в том, что вы можете создать класс модели и сохранить в нем информацию, а затем получить к ней доступ в своей активности отображения

2. Намерение передает данные при запуске действия, например: — если вы откроете действие A, а затем перейдете к действию B, тогда будут показаны данные, однако, если вы не откроете A или B, ваше приложение выйдет из строя, поскольку действие отображения не получает намерения от действия, которое не запущено. Если вы хотите сохранить данные из обоих действий и использовать их впоследствии без необходимости запускать их оба, используйте sharedPrerences .

Ответ №1:

вы можете сохранить все свои данные в общих настройках и получить данные там, где вы хотите.

создайте класс AppPreference и создайте некоторые методы получения и настройки в соответствии с вашими потребностями, сохраните ваши данные в общих настройках и получите то, что вы хотите.

Класс 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);
 

Комментарии:

1. Поскольку я новичок в этом программировании. могу ли я узнать один пример, такой же, как в моем случае, используя SharedPreferences

2. создайте класс в своем проекте и задайте имя AppPreference

3. и создайте в своем классе некоторую последовательность и последовательность

4. я обновил свой ответ в соответствии с сохранением вашего имени

5. если это поможет вам оценить ответ