![](/img/trans.png)
[英]How to send data through intent in android without opening another activity?
[英]How to send data to another activity without opening it
我希望能夠在不打開活動 b 的情況下從活動 a 到活動 b 的數據,我希望能夠稍后返回活動 b 並查看顯示的數據我也希望數據(文本)保留,即使手機已關閉或應用程序已關閉。
我已經嘗試過使用意圖和共享偏好,但我看到的例子都要求我去活動 b。
您必須使用 Sqlite 數據庫或使用共享首選項
檢查此鏈接:
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
http://developer.android.com/reference/android/content/SharedPreferences.html
關閉 SQLite 數據庫的示例:
http://www.vogella.com/tutorials/AndroidSQLite/article.html
http://hmkcode.com/android-simple-sqlite-database-tutorial/
http://www.tutorialspoint.com/android/android_sqlite_database.htm
SharedPreferences 不一定要求您轉到活動 B。它基本上只是讓您輕松訪問文件,並且您可以從任何活動中執行此操作。 例如,在活動 A 中創建這些方法:
public String getPreference() {
SharedPreferences sp = getSharedPreferences("preferenceName", 0);
return sp.getString("preferenceKeyValue", "default value if no preference is found");
}
public void setPreference(String data) {
SharedPreferences.Editor editor = getSharedPreferences("preferenceName", 0).edit();
editor.putString("preferenceKeyValue", data).commit();
}
然后像這樣調用它們:
setPreference("data for activity B");
// later on...
String data = getPreference();
該示例使用字符串,但您可以保存以下任何數據:布爾值、浮點數、整數、長整數和字符串。
以下是根據您的具體情況修改的方法(更好的命名):
public String getActivityBData() {
SharedPreferences sp = getSharedPreferences("Activity B Data", 0);
return sp.getString("data", "There is no data yet!");
}
public void setActivityBData(String str) {
SharedPreferences.Editor editor = getSharedPreferences("Activity B Data", 0).edit();
editor.putString("data", str).commit();
}
您還可以將這些方法放在您的活動 B 類中並像這樣訪問它們。 保存的此數據並非特定於任何活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.