Как передать данные между действиями в приложении Android? - PullRequest
1239 голосов
/ 19 января 2010

У меня есть сценарий, в котором после входа на страницу входа будет выход button на каждом activity.

При нажатии sign-out я буду передаватьsession id зарегистрированного пользователя для выхода.Кто-нибудь может подсказать мне, как сделать session id доступным для всех activities?

Любая альтернатива этому делу

Ответы [ 52 ]

0 голосов
/ 18 сентября 2018

В Деятельности Назначения определите как это

public class DestinationActivity extends AppCompatActivity{

    public static Model model;
    public static void open(final Context ctx, Model model){
          DestinationActivity.model = model;
          ctx.startActivity(new Intent(ctx, DestinationActivity.class))
    }

    public void onCreate(/*Parameters*/){
           //Use model here
           model.getSomething();
    }
}

В первом упражнении начните второе упражнение, как показано ниже

DestinationActivity.open(this,model);
0 голосов
/ 10 мая 2017

Введите следующий код в CurrentActivity.java

Intent i = new Intent(CurrentActivity.this, SignOutActivity.class);
i.putExtra("SESSION_ID",sessionId);
startActivity(i);

Access SessionId в SignOutActivity.java идет следующим образом

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_out);
    Intent intent = getIntent();

    // check intent is null or not
    if(intent != null){
        String sessionId = i.getStringExtra("SESSION_ID");
        Log.d("Session_id : " + sessionId);
    }
    else{
        Toast.makeText(SignOutActivity.this, "Intent is null", Toast.LENGTH_SHORT).show();
    }
}
...