2013-01-19 140 views
0

我正在開發一個小型項目,需要用戶輸入詳細信息並將其永久存儲的詳細信息屏幕。如果需要,用戶必須可以選擇更改細節。我查看了保存的首選項庫,但它似乎沒有提供這樣的功能。Android保存詳細信息屏幕

爲了讓需要什麼的視覺理念,這樣的屏幕應該是罰款:

http://www.google.com.mt/imgres?start=97&num=10&hl=en&tbo=d&biw=1366&bih=643&tbm=isch&tbnid=aQSZz782gIfOeM:&imgrefurl=http://andrejusb.blogspot.com/2011/10/iphone-web-application-development-with.html&docid=YpPF3-T8zLGOAM&imgurl=http://2.bp.blogspot.com/-YRISJXXajD0/Tq2KTpcqWiI/AAAAAAAAFiE/-aJen8IuVRM/s1600/7.png&w=365&h=712&ei=rbX6ULTDCOfV4gTroIDoCg&zoom=1&iact=hc&vpx=834&vpy=218&dur=2075&hovh=314&hovw=161&tx=80&ty=216&sig=108811856681773622351&page=4&tbnh=155&tbnw=79&ndsp=35&ved=1t:429,r:4,s:100,i:16

任何幫助深表感謝。在此先感謝

回答

1

使用SharedPreferences對於您要永久存儲的這種少量數據來說是完美的。

// 'this' is simply your Application Context, so you can access this nearly anywhere 
SharedPreferences prefs = this.getSharedPreferences(
    "com.example.app", Context.MODE_PRIVATE); 

要從喜好獲得:

// You can equally use KEY_LAST_NAME to get the last name, etc. They are just key/value pairs 
// Note that the 2nd arg is simply the default value if there is no key/value mapping 
String firstName = prefs.getString(KEY_FIRST_NAME_CONSTANT, ""); 

或保存:

Editor editor = prefs.edit(); 
// firstName being the text they entered in the EditText 
editor.putString(KEY_FIRST_NAME_CONSTANT, firstName); 
editor.commit(); 
2

您可以輕鬆使用Shared Preferences來存儲用戶的詳細信息。每次打開首選項屏幕時,存儲的數據就可以從共享首選項中提取出來並呈現給用戶進行編輯。編輯完成後,可以將新數據更新回共享首選項。

也看看this線程看看如何做到這一點。

1

您可以使用Android的類SharedPreferences實現這樣的功能。

public void onCreate(Bundle object){ 
      super.onCreate(object); 
      // Initialize UI and link xml data to java view objects 
       ...... 
       SharedPreferences myPref = getPreferences(MODE_PRIVATE); 
       nameView.setText(myPref.getString("USER_NAME", null)); 
       passView.setText(myPref.getString("PASSWORD", null)); 

     } 
public void onStop(){ 
      super.onStop(); 
      if (isFinishing()) { 

      getPreferences(MODE_PRIVATE).edit() 
      .putString("USER_NAME", nameView.getText().toString()) 
      .putString("PASSWORD", passView.getText().toString()) 
      .commit() 

      } 
}