有没有一种方法可以在活动之间不使用意图发送数据?

时间:2018-08-10 21:12:06

标签: android

对于要发送给某个活动的每个用户,我都有一个唯一的用户名,但是我不想使用意图:

for(var i = 0; i < this.models[i].length; i++){
    this.models[i].addEventListener("model-loaded", ()=>{console.log("Hello!");})
    this.models[i].addEventListener("loaded", ()=>{console.log("Hello!");})
}

我想将数据发送到某个活动而不进行该活动, //create an intent and sends username Intent intent = new Intent(RegisterOwner.this, Owner.class); intent.putExtra("USERNAME",usernam); startActivity(intent); 使我转到该活动;我不要。

我只想发送数据而不启动其他活动。

1 个答案:

答案 0 :(得分:0)

我想您想在活动之间提供特定的数据。实现此目标的方法之一是利用SharedPreferences。

从您的第一个活动(RegisterOwner)

SharedPreferences mySharedPreferences = this.getSharedPreferences("MYPREFERENCENAME", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString("USERNAME",usernam);
editor.apply();

执行此操作后,用户名将存储在共享首选项中。现在,您可以在整个应用程序中使用这些数据。

因此,您可以从“所有者”活动中按以下方式检索它:

SharedPreferences mySharedPreferences = this.getSharedPreferences("MYPREFERENCENAME", Context.MODE_PRIVATE);
String username = mySharedPreferences.getString("USERNAME", "");