0

我遇到了一个问题,我只是不知道如何保存输入的用户数据然后再调用它。假设我想存储某人的名字,所以我相信我会使用编辑文本框,但这就是我能真正弄清楚的全部。然后我想在另一个活动中显示该信息。如果您可以将我与某事联系起来或引导我朝着正确的方向前进,那对我来说就意味着整个世界。

4

3 回答 3

0

术语“存储”应该有一个范围。比如说,您将存储特定代码块的数据,或者在活动级别,或者在应用程序级别,或者您想要持久(将数据存储在首选项或数据库中,例如,存储游戏分数等)或非持久(临时存储:在活动中声明变量)存储。

在您的情况下,要从 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);

执行此操作后,检查您是否收到日志,标签名称为“收到的数据”和您发送的数据。

于 2013-10-12T05:27:33.053 回答
0

使用 EditText 允许用户输入他们的姓名。通过 EditText 的 getText() 方法从 EditText 组件中获取值。在那之后,你有很多不同的方式可以去。 将其保存以备后用,或者只是通过意图将其传递给下一个活动。

祝你好运。

于 2013-10-12T03:12:04.717 回答
0

好吧,如果您希望即使在用户关闭应用程序之后也想要持久存储,SQLite或者sharedpreferences适合您。否则,您可以Bundles在开始新活动时使用在意图中传递少量数据。 SQLite 指南Sharedpreferences 指南。希望这些有所帮助。

于 2013-10-12T02:54:58.497 回答