我正在创建一个应用程序,它将使用用户输入的变量并将它们(最终)上传到数据库。有一系列活动要求用户输入各种值。我不知道继续存储这些变量的最佳方法。
现在,我为该活动中需要保存的每个变量设置了一系列字符串。
String ePercent, eIntensity, pPercent, pIntensity;
然后,当用户按下继续按钮转到下一个活动时,我要存储这些输入的变量
bContinue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eIntensity = eERHIntensity.getText().toString();
ePercent = eERHPercent.getText().toString();
pIntensity = ePRHIntensity.getText().toString();
pPercent = ePRHPercent.getText().toString();
Intent nextActivity = new Intent(getApplicationContext(), TumorSize.class);
startActivity(nextActivity);
}
});
现在存储这些变量的最佳途径是什么,以便它们在整个应用会话中都可用(以后需要在其他活动中将其用于计算),然后在某个时间点将其上传到完成上述计算后,数据库。
我尝试查找“存储用户输入的变量”,“保存其他活动的值”之类的各种内容,但似乎缺少一些必要的词汇来找到答案。
答案 0 :(得分:0)
如果要将字符串发送到下一个活动,则可以使用intent.putString()方法,要在下一个活动中获取该字符串,则应使用getIntent.getStringExtra()方法。我在下面给出了一个示例,说明如何使用意图将数据从一个活动传递到另一个活动:
在您的第一次活动中:
bContinue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eIntensity = eERHIntensity.getText().toString();
ePercent = eERHPercent.getText().toString();
pIntensity = ePRHIntensity.getText().toString();
pPercent = ePRHPercent.getText().toString();
Intent nextActivity = new Intent(getApplicationContext(), TumorSize.class);
nextActivity.putString("eIntensity",eIntensity);
nextActivity.putString("ePercent",ePercent);
nextActivity.putString("pIntensity",pIntensity);
nextActivity.putString("pPercent",pPercent);
startActivity(nextActivity);
}
});
在第二项活动中:
Intent intent = getintent();
String eIntensity = intent.getStringExtra("eIntensity");
String ePercent = intent.getStringExtra("ePercent");
String pIntensity = intent.getStringExtra("pIntensity");
String pPercent = intent.getStringExtra("pPercent");
通过这种方式,您可以使用意图将任何数据传递到下一个活动。您也可以使用SharedPreferences。通过使用SharedPreferences,您可以从项目的任何活动中获取数据。在Google上搜索它。