每一個android應用程序都須要涉及到數據的存儲。數據存儲的整體原則是不丟失、高效、簡便實用和快速更新。本文主要介紹下android常見的數據存儲方式。java
SharedPreferences是Android平臺上一個輕量級的存儲類。它是經過key-value的形式將一些簡單的數據類型(boolean、int、float、long、String)存儲在應用程序的私有目錄下(data/data/[包名] /shared_prefs/)自定義的xml文件中。一般用來存儲一些簡單的參數設置。android
優勢:同SQLite相比免去了建立數據庫,建立表,寫SQL語句等諸多操做。簡潔、方便。web
缺點:只能存儲簡單的數據類型、沒法進行按條件查找。數據庫
實現SharedPreferences存儲的步驟:ide
1)根據Context獲取SharedPreferences對象。this
2)利用edit()方法獲取Editor對象。spa
3)經過Editor對象存儲key-value鍵值對數據code
4)經過commit()方法提交數據。orm
存儲代碼以下:xml
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //獲取SharedPreferences對象 Context context = MainActivity.this; SharedPreferences sp = context .getSharedPreferences("SP", MODE_PRIVATE); //存入數據 Editor editor = sp.edit(); editor.putString("STRING_KEY", "string"); editor.putInt("INT_KEY", 0); editor.putBoolean("BOOLEAN_KEY", true); editor.commit(); //返回STRING_KEY的值 Log.d("SP", sp.getString("STRING_KEY", "none")); //若是NOT_EXIST不存在,則返回值爲"none" Log.d("SP", sp.getString("NOT_EXIST", "none")); } }
須要注意的一個地方是getSharedPreferences( , )方法中第二個參數的含義:
Activity.MODE_PRIVATE,//默認操做模式,表明該文件是私有數據,只能被應用自己訪問,在該模式下,寫入的內容會覆蓋原文件的內容,若是想把新寫入的內容追加到原文件中,可使用Activity.MODE_APPEND
Activity.MODE_WORLD_READABLE,//表示當前文件能夠被其餘應用讀取,
Activity.MODE_WORLD_WRITEABLE,//表示當前文件能夠被其餘應用寫入;
//若是但願文件被其餘應用讀和寫,能夠傳入:Activity.MODE_WORLD_READABLE+Activity.MODE_WORLD_WRITEABLE
Activity.MODE_APPEND//該模式會檢查文件是否存在,存在就往文件追加內容,不然就建立文件
獲取代碼:
SharedPreferences sp = context .getSharedPreferences("SP", MODE_PRIVATE); String key = sp.getString("STRING_KEY","");