android小功能實現之簡單資料持久化儲存(SharedPreferences)

來源:互聯網
上載者:User

android小功能實現之簡單資料持久化儲存(SharedPreferences)


為了儲存一些簡單的配置,類似iOS的NSUserDefault和cocos2dx的CCUserDefault,Android提供了SharedPreferences。


一 布局
先看:




開啟main.xml修改內容如下:

 


二 定義字串
開啟strings.xml新增內容如下:
    姓名    年齡    儲存參數    儲存成功    儲存失敗


三 功能實現
修改MainActivity.java代碼如下:
    private EditText nameText;    private EditText ageText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        nameText = (EditText)this.findViewById(R.id.input_name);        ageText = (EditText)this.findViewById(R.id.input_age);        // 讀取儲存的值        //SharedPreferences preferences = this.getPreferences(Context.MODE_PRIVATE);// 預設使用類名作為檔案名稱        //SharedPreferences preferences = this.getSharedPreferences(preference, Context.MODE_PRIVATE);        SharedPreferences preferences = getApplicationContext().getSharedPreferences(preference, Context.MODE_PRIVATE);        String name = preferences.getString(name, 空);        String age = String.valueOf(preferences.getInt(age, 0));        nameText.setText(name);        ageText.setText(age);    }    public void save(View v){        String name = nameText.getText().toString();        Integer age = Integer.valueOf( ageText.getText().toString() );        try{            // 第一個參數為檔案名稱,不能指定尾碼名,第二個參數為檔案操作模式            SharedPreferences preferences = getApplicationContext().getSharedPreferences(preference, Context.MODE_PRIVATE);            SharedPreferences.Editor editor = preferences.edit();            editor.putString(name, name);            editor.putInt(age, age);            editor.commit();            Toast.makeText(getApplicationContext(),R.string.success, Toast.LENGTH_LONG).show();        }        catch (Exception e){            Toast.makeText(getApplicationContext(),R.string.fail, Toast.LENGTH_LONG).show();            e.printStackTrace();        }    }


四 運行結果

第一次運行結果

輸入內容,點擊儲存參數按鈕,退出程式,再次開啟,


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.