欢迎来到天天文库
浏览记录
ID:15399098
大小:41.00 KB
页数:3页
时间:2018-08-03
《android 如何保存简单的配置信息》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、我們知道在android的開發中,保存項目私有數據的存儲方式我們可以使用:SharedPreferences,File,SQLite,Network.四種方式,而要用到應用程序之間數據的共享要使用ContentProvider。那今天我們只敘述一下僅僅保存一些我們登錄等的一些配置信息的數據,也就是說用到的數據量都不是很大,那麼我們就可以選擇SharedPreferences和File的方式。這裡只針對性的結合File和Properties進行敘述。一。SharedPreferences1.它可以保存上一次用戶所做的修改或者自
2、定義參數的設定,當再次啟動程序後依然可以保持原有的設置。這裡只說明一下使用方式。比如下面的代碼在OnCreate中使用:SharedPreferencesmSharedPreferences=getSharedPreferences("list",MODE_PRIVATE);StringmTempString=mSharedPreferences.getString("config","default");其中"list"是SharedPreferences的文件的名字,SharedPreferences是以鍵值映射的關係存
3、放數據。不過多解釋,你也可以這樣用:SharedPreferencesmSharedPreferences=getPreferences(MODE_PRIVATE);這樣默認的文件名是activity的名字。2.退出activity的時候保存數據,在OnPause中使用:SharedPreferencesmSharedPreferences=getSharedPreferences("list",MODE_PRIVATE);mSharedPreferences.edit().putString("config","data"
4、).commit();3.SharedPreferences是以xml文件的方式自動保存的,在DDMS中的FileExplorer中展開/data/data/包名/shared-prefs下面就是SharedPreferences文件。4.SharedPreferences文件只可以用來存放基本的數據類型。二。結合File和Properties進行保存。APropertiesobjectisaHashtablewherethekeysandvaluesmustbeStrings.Eachpropertycanhaveadef
5、aultPropertieslistwhichspecifiesthedefaultvaluestobeusedwhenagivenkeyisnotfoundinthisPropertiesinstance.1.所以,Properties對象也是一個哈希表,也是一個鍵值對應的關係,因此和上面的操作相似。下面看具體的程序。publicclassFile_ByPropertiesextendsActivity{privatebooleanmStatus;privateTextViewmShowStatus;/**Calledwh
6、entheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);mShowStatus=(TextView)findViewById(R.id.show);load();}privatevoidload(){//TODOAuto-generatedmethodstubPropertiesmPro
7、perties=newProperties();try{FileInputStreammInputStream=openFileInput("configuration");mProperties.load(mInputStream);mStatus=Boolean.valueOf(mProperties.get("status").toString());mShowStatus.setText("thestatusis:"+mStatus);}catch(FileNotFoundExceptione){//TODOAuto
8、-generatedcatchblockSystem.out.println(e.toString());}catch(IOExceptione){System.out.println(e.toString());}}@OverridepublicbooleanonKeyDown(intk
此文档下载收益归作者所有