2013-10-12 61 views
0

我遇到了问题,我只是不知道如何保存输入用户数据,然后再调用它。比方说,我想存储某人的姓名,所以我相信我会使用“编辑文本”框,但这是我真正想到的。然后我想在其他活动中显示这些信息。如果你能把我和某个东西联系起来,或者指引我朝着正确的方向发展,那对我来说意味着这个世界。存储输入数据,然后回拨?

+0

如果您为此目的使用sqllite并将数据从一个活动传递到另一个活动,那么您可能会使用intent,那将会很不错。 Sqlite tut(http://www.androidhive.info/2011/11/android-sqlite-database-tutorial)和意图见[this](http://stackoverflow.com/questions/2091465/how-do-i -pass-数据之间的活动功能于机器人) –

回答

0

那么,即使在用户关闭应用程序之后,如果您想持久存储,那么SQLitesharedpreferences都适合您。否则,您可以在开始新活动时使用Bundles来传递意向数据中的小部分数据。 SQLite guideSharedpreferences guide。希望这些帮助。

0

使用EditText来允许用户输入他们的名字。通过EditText的getText()方法获取EditText组件的值。之后,你有很多不同的方式可以去。 Save it for later或通过意向传递给下一个活动。

祝你好运。

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上获取文本,并准备将它发送到下一个活动。现在,点击按钮后,数据将被发送到下一个活动。

但是在下一个活动中,您需要捕获以前活动发送的数据以使用它。

所以,在接下来的活动中,编写如下代码里面onCreate()

Intent intent = getIntent(); 

String dataReceived = intent.getStringExtra("data"); 

Log.i("data received", dataReceived); 

,如果你有日志做这个检查后,与“接收数据”和数据你送的标签名。