亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

android之簡單數據存儲Preference

系統 2157 0
這里的持久化其實就是本地配置文件的讀寫,實現方法是通過Activity.getPreferences(int)獲取SharedPreferences對象,然后操作配置文件的讀寫,值得注意的是以下幾點:

1)Activity.getPreferences(int mode)等價于Content.getSharedPreferences(String filename,int mode),這里面的filename就是當前class的名稱,例如在PersistentTest類中調用getPreferences(0),等價于調用getPreferences("PersistentTest", 0)。如不想用class name做文件名,可以直接調用getSharedPreferences方法,自己指定配置文件的名稱。

2)mode值的定義:

MODE_PRIVATE = 0,表示當前配置文件為私有文件,只有當前的應用可以訪問。

MODE_WORLD_READABLE = 1,表示當前配置文件可以被其他應用讀取。

MODE_WORLD_WRITEABLE = 2,表示當前配置文件可以被其他應用寫入。

如果配置文件又想被人讀又想被寫人,怎么辦呢,呵呵,當然是MODE_WORLD_READABLE&MODE_WORLD_WRITEABLE,真的懷疑設計android的人以前是做C/C++的。

3)SharedPreferences是個很有意思的實現,讀取數據的時候,直接用get方法就可以了,可是寫數據的時候,沒用給set方法,呵呵,第一次用這個類一定會以為只能讀不能寫。如果要寫數據的話,需要用editor()方法(為什么不是getEditor()呢?看來設計的人一定是做C/C++的)獲取SharedPreferences.Editor類,然后用這個類的put方法寫文件。為什么要這樣做呢?好久沒有看設計模式了,不知道他采用是哪種高級模式,等以后有時間,看看它的實現再做研究吧。

4)在這個實現中,讀文件是放在onResume()中,寫文件是在onPause()中,為什么要這么做呢,看字面意思,好像只有恢復和暫停的時候才會被執行,那程序第一次創建的時候會讀文件嗎?來讓我們看看Activity的生命周期,就會發現這么做的巧妙之處:
android之簡單數據存儲Preference
看到了吧,在Activity運行的前后,無論狀態怎么轉移,onResume()和onPause()一定會被執行,與其說實現的巧妙,還不如贊一下這個生命周期的設計的巧妙,這個巧妙不是說說而已,有時間的話,看看MFC中一個windows或者dialog的生命周期,你就知道這個巧妙的含義了,我們可以省多少的事情啊!所以值得記住的是,在android中想在運行前后必須要執行的語句,就應該放在onResume()和onPause()中。

實例:
    
@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		save();
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		read();
	}
private void save(){
		SharedPreferences setting=this.getPreferences(Activity.MODE_PRIVATE);
		setting.edit().putString("HEIGHT", height.getText().toString())
					.putString("WEIGHT", weight.getText().toString())
					.commit();
	}
	
	private void read(){
		SharedPreferences setting=this.getPreferences(Activity.MODE_PRIVATE);
		height.setText(setting.getString("HEIGHT", ""));
		weight.setText(setting.getString("WEIGHT", ""));
	}

  

android之簡單數據存儲Preference


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国内在线精品 | 亚洲视频手机在线 | 视频一区二区三区在线 | 亚洲高清一区二区三区久久 | 亚洲精品国产精品一区二区 | 欧美色图偷窥自拍 | 四虎国产成人永久精品免费 | 自拍偷自拍亚洲精品被多人伦好爽 | 精品国产一区二区二三区在线观看 | 四虎永久免费最新在线 | 国产精品入口麻豆高清在线 | 日本一区高清视频 | 九九热中文字幕 | 毛片毛片免费看 | 狠狠狠地在啪线香蕉 | 国产波多野结衣中文在线播放 | 久操视频在线观看免费 | 老司机午夜性大片免费 | 男女免费在线视频 | 亚洲永久精品ww47 | 成人免费黄网站 | 国产精品久久毛片蜜月 | 久久精品一区二区 | 爱爱一级视频 | 国产成人综合亚洲欧美在 | 久久亚洲精品中文字幕 | 久久久久久免费视频 | 天天操夜夜逼 | 操她视频网站 | 91啦中文成人 | 久久99青青久久99久久 | 免费视频一级片 | 99青青青精品视频在线 | 亚洲 欧美 bt | 亚洲国产成人久久精品图片 | 久久久国产精品视频 | 日本a毛片在线播放 | 好吊在线视频 | 99在线精品日韩一区免费国产 | 日本中文字幕永久在线 | 97影院秋霞国产精品 |