我遇到了一个问题,我只是不知道如何保存输入的用户数据然后再调用它。假设我想存储某人的名字,所以我相信我会使用编辑文本框,但这就是我能真正弄清楚的全部。然后我想在另一个活动中显示该信息。如果您可以将我与某事联系起来或引导我朝着正确的方向前进,那对我来说就意味着整个世界。
3 回答
术语“存储”应该有一个范围。比如说,您将存储特定代码块的数据,或者在活动级别,或者在应用程序级别,或者您想要持久(将数据存储在首选项或数据库中,例如,存储游戏分数等)或非持久(临时存储:在活动中声明变量)存储。
在您的情况下,要从 EditText 获取文本并将其发送到下一个活动:
声明一个全局变量,
EditText editText;
String data;
// write this inside onCreate, after the `setContentView()` method
editText = (EditText) findViewById(R.id....);
data = editText.getText().toString();
// say you want to pass the data to next activity on button click, so write this inside //onClick()
Intent intent = new Intent(currentActivityName.this, NextActivityName.class);
intent.putExtra("data", data);
startActivity(intent);
到目前为止,我们所做的是,从 EditText 中获取文本,并准备将其发送到 next it 到下一个活动。现在,点击按钮,数据将被发送到下一个活动。
但是在下一个活动中,您需要捕获从上一个活动发送的数据才能使用它。
因此,在下一个活动中,在里面编写以下代码onCreate()
Intent intent = getIntent();
String dataReceived = intent.getStringExtra("data");
Log.i("data received", dataReceived);
执行此操作后,检查您是否收到日志,标签名称为“收到的数据”和您发送的数据。
使用 EditText 允许用户输入他们的姓名。通过 EditText 的 getText() 方法从 EditText 组件中获取值。在那之后,你有很多不同的方式可以去。 将其保存以备后用,或者只是通过意图将其传递给下一个活动。
祝你好运。
好吧,如果您希望即使在用户关闭应用程序之后也想要持久存储,SQLite
或者sharedpreferences
适合您。否则,您可以Bundles
在开始新活动时使用在意图中传递少量数据。
SQLite 指南,Sharedpreferences 指南。希望这些有所帮助。