Android基礎(六)數據持久化

數據持久化的引入

 

應用的某些數據(比如登錄信息),我們並不希望每次都要輸入驗證,此時使用持久化就能解決這種問題。

 

持久化的常用技術

 

文件存儲、SharedPreference存儲、數據庫存儲

 

文件存儲的使用(瞭解)

 

存儲 核心代碼如下

FileOutputStream fileOutputStream = null;

        BufferedWriter bufferedWriter = null;

        try {

            fileOutputStream = openFileOutput("data", MODE_PRIVATE);

            bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));

            bufferedWriter.write(string);

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            if (bufferedWriter != null) {

                try {

                    bufferedWriter.close();

                } catch (IOException e) {

                    e.printStackTrace();

                }

            }

        }

讀取 核心代碼如下

FileInputStream fileInputStream = null;

        BufferedReader bufferedReader = null;

        StringBuilder stringBuilder = new StringBuilder();

        try {

            fileInputStream = openFileInput("data");

            bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));

            String line = "";

            while ((line = bufferedReader.readLine()) != null){

                stringBuilder.append(line);

            }

        } catch (Exception e) {

            if (bufferedReader != null) {

                try {

                    bufferedReader.close();

                } catch (IOException e1) {

                    e.printStackTrace();

                }

            }

        }

return stringBuilder.toString();

sp存儲的使用(重點)

 

存儲,核心代碼如下


SharedPreferences.Editor editor = getSharedPreferences("sp", MODE_PRIVATE).edit();

                    editor.putInt("age", 12);

                    editor.putString("name", "yfg");

                    editor.putBoolean("married", false);

                    editor.apply();

讀取,核心代碼如下


SharedPreferences preferences = getSharedPreferences("sp",MODE_PRIVATE);

                   String name = preferences.getString("name","");

                   int age = preferences.getInt("age",0);

                   boolean married = preferences.getBoolean("married",false);

數據庫存儲的使用(瞭解)

 

這塊內置的sqlite,我們使用的較少,推薦使用greenDao,

 

greenDao的使用

 

寫在最後

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章