安卓中的數據存儲

安卓中的數據存儲:
1.xml(share preference)
2.Bianray File(file)
3.關係型數據庫 SQLite3
4.網絡訪問 Network,分爲socket,http,https

由於本人也在學習階段,寫此博客也是爲了日後複習方便,所以今天我只介紹share preference這種最爲簡單的存儲方式,日後再爲大家介紹其餘的三種方式。

share preference的使用方式是get shaeredpreferences(),get preferences();

Call edit() to get a SharedPreferences Editor
Add values with methods such as putBoolean() and putString()
Comint the new values with commit

這裏面簡單的涉及到了一點鍵值對的知識,即key,value;

官方給我用的代碼爲:

這裏寫圖片描述

然後爲了讓大家更好的理解,我給大家舉了一個 非常好理解的例子,就是讓系統自動保存我們的用戶名,然後我們可以在ddms裏面的data文件夾裏面找到我們保存的內容,是以.xml的形式進行存儲的。

public class MainActivity extends AppCompatActivity {
    SharedPreferences mSharedPreferences;
    private EditText editText1;
    private CheckBox checkBox1;
    private SharedPreferences.Editor editor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initviews();
    }

    public void initviews() {
        //得到對象
        editText1 = (EditText) findViewById(R.id.editText);
        checkBox1 = (CheckBox) findViewById(R.id.bt_wifi);
        //第一種方法:
        // mSharedPreferences = getSharedPreferences("sundy", MODE_PRIVATE);

        //第二種方法:

        mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);


//        if (mSharedPreferences!=null){
//
//            mSharedPreferences.getBoolean("wifi_toggle",false);
//            checkBox1.setChecked(mSharedPreferences.getBoolean("wifi_toogle", false));
//            editText1.setText(mSharedPreferences.getString("your_name",""));
//        }else{
//            Toast.makeText(MainActivity.this, "--8888", Toast.LENGTH_SHORT).show();
//            Log.i("sys","--sir---no xml");
//
//        }


        Button button1 = (Button) findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //編輯(並不是真正的編輯 打開對象)
                editor = mSharedPreferences.edit();

                editor.putBoolean("wifi_toggle", checkBox1.isChecked());


                editor.putString("your_name", editText1.getText().toString());

                //真正的提交事務
                editor.commit();

                Toast.makeText(MainActivity.this, "修改保存", Toast.LENGTH_SHORT).show();
            }
        });


    }
}

這樣寫完了之後呢,我們便可以在關掉我們的程序之後,再次開啓的時候看到我們上次寫的內容。
以上便是我對於第一種方式的簡單的整理,之後我還會爲大家講解其餘的方式。

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