資源描述:
《android五種存儲(chǔ)方式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、文件,sharedPreference,SQLite,網(wǎng)絡(luò),ContentProviderPreference,F(xiàn)ile,DataBase這三種方式分別對(duì)應(yīng)的目錄是/data/data/PackageName/Shared_Pref,/data/data/PackageName/files,/data/data/PackageName/database。在Android中通常使用File存儲(chǔ)方式是用Context.openFileOutput(StringfileName,intmode)和Context
2、.openFileInput(StringfileName)。Context.openFileOutput(StringfileName,intmode)生成的文件自動(dòng)存儲(chǔ)在/data/data/PackageName/files目錄下,其全路徑是/data/data/PackageName/files/fileName。注意下,這里的參數(shù)fileName不可以包含路徑分割符(如"/")。通常來說,這種方式生成的文件只能在這個(gè)apk內(nèi)訪問。但這個(gè)結(jié)論是指使用Context.openFileInput(St
3、ringfileName)的方式。使用這種方式,每個(gè)apk只可以訪問自己的/data/data/PackageName/files目錄下的文件,原因很簡(jiǎn)單,參數(shù)fileName中不可以包含路徑分割符,Android會(huì)自動(dòng)在/data/data/PackageName/files目錄下尋找文件名為fileName的文件。一:使用SharedPreferences存儲(chǔ)數(shù)據(jù)首先說明SharedPreferences存儲(chǔ)方式,它是Android提供的用來存儲(chǔ)一些簡(jiǎn)單配置信息的一種機(jī)制,例如:登錄用戶的用戶名與密碼
4、。其采用了Map數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù),以鍵值的方式存儲(chǔ),可以簡(jiǎn)單的讀取與寫入,具體實(shí)例如下:voidReadSharedPreferences(){StringstrName,strPassword;SharedPreferencesuser=getSharedPreferences(“user_info”,0);strName=user.getString(“NAME”,””);strPassword=usergetString(“PASSWORD”,””);}voidWriteSharedPrefere
5、nces(StringstrName,StringstrPassword){SharedPreferencesuser=getSharedPreferences(“user_info”,0);user.edit();user.putString(“NAME”,strName);user.putString(“PASSWORD”,strPassword);user.commit();}voidsave(Stringname,Integerage){SharedPreferencespreferences=c
6、ontext.getSharedPreferences("test",Context.MODE_PRIVATE);Editoreditor=preferences.edit();editor.putString("name",name);editor.putInt("age",age);editor.commit();}數(shù)據(jù)讀取與寫入的方法都非常簡(jiǎn)單,只是在寫入的時(shí)候有些區(qū)別:先調(diào)用edit()使其處于編輯狀態(tài),然后才能修改數(shù)據(jù),最后使用commit()提交修改的數(shù)據(jù)。實(shí)際上SharedPreferenc
7、es是采用了XML格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中,在DDMS中的FileExplorer中的/data/data//shares_prefs下。以上面的數(shù)據(jù)存儲(chǔ)結(jié)果為例,打開后可以看到一個(gè)user_info.xml的文件,打開后可以看到:
8、使用SharedPreferences是有些限制的:只能在同一個(gè)包內(nèi)使用,不能在不同的包之間使用。二:文件存儲(chǔ)數(shù)據(jù)文件存儲(chǔ)方式是一種較常用的方法,在Android中讀取/寫入文件的方法,與Java中實(shí)現(xiàn)I/O的程序是完全一樣的,提供了openFileInput()和openFileOutput()方法來讀取設(shè)備上的文件。FilterInputStream,F(xiàn)ilterOutputStream等可以到Javaiopa