2013-10-12 85 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); 

,如果你有日誌做這個檢查後,與「接收數據」和數據你送的標籤名。