[英]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中存儲數據。 根據數據類型的不同,可能會出現以下情況:
將數據存儲在鍵值對中。 這是一些代碼
保存值:
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);
這是一個用於存儲信息的關系數據庫這是一個教程。
我已經詳細介紹了在這種情況下適用的兩種方法,但是您可以在此處查看其余內容:https://developer.android.com/guide/topics/data/data-storage.html
您可以聲明公共靜態變量,並在應用程序中的任何位置訪問它,但嘗試使用並不是一個好習慣。 另一種方法是您可以使用sharedpreference存儲該值
似乎您擁有要在整個應用程序中保留的數據。
讀入SQLite數據庫或領域數據庫。
我在使用Realm數據庫方面有更多經驗,因此這將是我的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.