簡體   English   中英

在不同活動中使用價值

[英]Using values in different activities

我正在嘗試構建一個帶有一個開始屏幕的應用程序,該屏幕帶有用於引導幾種不同活動的按鈕。 在“開始”屏幕之后的一項活動中,我獲得了要在其他后續活動中使用的int值。 從我所看到的,值通常是使用捆綁和意圖在活動之間傳遞的,如下所示:

意圖i =新意圖(this,ActivityTwo.class); AutoCompleteTextView textView =(AutoCompleteTextView)findViewById(R.id.autocomplete); 字符串getrec = textView.getText()。toString();

//創建包Bundle bundle = new Bundle();

//將您的數據添加到bundle bundle.putString(“ stuff”,getrec);

//將包添加到意圖i.putExtras(bundle);

//觸發第二個活動startActivity(i);

並在第二個中添加:

//獲取包Bundle bundle = getIntent()。getExtras();

//提取數據…String stuff = bundle.getString(“ stuff”);

但是我不希望我的第二個活動從第二個活動開始,有沒有一種方法可以在不開始使用另一個活動的情況下發送值? 如果不是,我應該將這些值傳遞給開始屏幕活動,然后從那里傳遞給另一個活動,如果可以的話,該怎么辦?

有兩種方法可以在Android中存儲數據。 根據數據類型的不同,可能會出現以下情況:

1.共享首選項

將數據存儲在鍵值對中。 這是一些代碼

保存值:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
  editor.commit();

檢索值:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);

2. SQLite數據庫

這是一個用於存儲信息的關系數據庫這是一個教程。

我已經詳細介紹了在這種情況下適用的兩種方法,但是您可以在此處查看其余內容:https://developer.android.com/guide/topics/data/data-storage.html

您可以聲明公共靜態變量,並在應用程序中的任何位置訪問它,但嘗試使用並不是一個好習慣。 另一種方法是您可以使用sharedpreference存儲該值

似乎您擁有要在整個應用程序中保留的數據。

讀入SQLite數據庫或領域數據庫。

我在使用Realm數據庫方面有更多經驗,因此這將是我的選擇。

https://sqlite.org/

https://realm.io/docs/java/latest/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM