知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
Android數(shù)據(jù)持久化的方式總結(jié)
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):37
一、SharedPreferences
以.xml格式的文件進(jìn)行存儲(chǔ),存儲(chǔ)地位在data/data/package/shared_prefs/目次下。
存儲(chǔ)步調(diào):
1、創(chuàng)建文件:getSharedPreferences(name, mode);name為文件名,如不雅有此文件存在,不再創(chuàng)建,直接用此文件。
2、獲取文件編輯器:SharedPreferences.Editor se=preferences.edit();
3、存入數(shù)據(jù):se.putString("et_content", et.getText().toString());調(diào)用編輯器的putXxx辦法,可存入不合類型的數(shù)據(jù),共有putInt(key,
value)、putLong(key, value)、putFloat(key, value)、putBoolean(key, value)、putString(key, value)和putStringSet(arg0, arg1)六個(gè)方
法。
4、提交改變:se.commit();
例如:getSharedPreferences("dcy", Context.MODE_PRIVATE).edit().putString("username", et_username.getText().toString().trim
()).commit();
掏出數(shù)據(jù):getSharedPreferences("gxx", Context.MODE_PRIVATE).getString("et_content", "");
二、內(nèi)部存儲(chǔ)(存儲(chǔ)到手機(jī)內(nèi)部存儲(chǔ)空間)
存儲(chǔ)目次為data/data/package/files/
存儲(chǔ)步調(diào):
1、打開(kāi)存儲(chǔ)文件:openFileOutput(name, mode);name不限制類型,可自行指定
2、寫入數(shù)據(jù):fos.write(buffer);
3、刷新封閉流:fos.flush();fos.close();
例如:
FileOutputStream fos=openFileOutput("dcy.txt", Context.MODE_PRIVATE);
fos.write(text.getText().toString().getBytes());
fos.flush();
fos.close();
掏出數(shù)據(jù):openFileInput("dcy.txt");只須要指決定肯定取數(shù)據(jù)的文件名即可。
getFilesDir();獲得的是絕對(duì)路徑/data/data/com.example.studentlogin/files
getCacheDir();獲得的是絕對(duì)路徑/data/data/com.example.studentlogin/cache
三、sdcard存儲(chǔ)
將數(shù)據(jù)存儲(chǔ)到手機(jī)的sdcard膳綾擎,須要聲明一個(gè)外部存儲(chǔ)可寫的權(quán)限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
如不雅要斷定sdcard是否掛載還須要一個(gè)權(quán)限:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
存儲(chǔ)過(guò)程:
1、獲取sdcard當(dāng)緇ご態(tài):Environment.getExternalStorageState();返回一個(gè)字符串常量,例如Environment.MEDIA_MOUNTED(sdcard已掛載)
2、斷定sdcard是否掛載:Environment.MEDIA_MOUNTED.equals(state);sdcard掛載則履行下面的存儲(chǔ)操作
3、指定目次:File file=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/cat.mp3");
4、寫入數(shù)據(jù):new FileOutputStream(file).writer();
掏出數(shù)據(jù)用FileInputStream即可。
以.xml格式的文件進(jìn)行存儲(chǔ),存儲(chǔ)地位在data/data/package/shared_prefs/目次下。
存儲(chǔ)步調(diào):
1、創(chuàng)建文件:getSharedPreferences(name, mode);name為文件名,如不雅有此文件存在,不再創(chuàng)建,直接用此文件。
2、獲取文件編輯器:SharedPreferences.Editor se=preferences.edit();
3、存入數(shù)據(jù):se.putString("et_content", et.getText().toString());調(diào)用編輯器的putXxx辦法,可存入不合類型的數(shù)據(jù),共有putInt(key,
value)、putLong(key, value)、putFloat(key, value)、putBoolean(key, value)、putString(key, value)和putStringSet(arg0, arg1)六個(gè)方
法。
4、提交改變:se.commit();
例如:getSharedPreferences("dcy", Context.MODE_PRIVATE).edit().putString("username", et_username.getText().toString().trim
()).commit();
掏出數(shù)據(jù):getSharedPreferences("gxx", Context.MODE_PRIVATE).getString("et_content", "");
二、內(nèi)部存儲(chǔ)(存儲(chǔ)到手機(jī)內(nèi)部存儲(chǔ)空間)
存儲(chǔ)目次為data/data/package/files/
存儲(chǔ)步調(diào):
1、打開(kāi)存儲(chǔ)文件:openFileOutput(name, mode);name不限制類型,可自行指定
2、寫入數(shù)據(jù):fos.write(buffer);
3、刷新封閉流:fos.flush();fos.close();
例如:
FileOutputStream fos=openFileOutput("dcy.txt", Context.MODE_PRIVATE);
fos.write(text.getText().toString().getBytes());
fos.flush();
fos.close();
掏出數(shù)據(jù):openFileInput("dcy.txt");只須要指決定肯定取數(shù)據(jù)的文件名即可。
getFilesDir();獲得的是絕對(duì)路徑/data/data/com.example.studentlogin/files
getCacheDir();獲得的是絕對(duì)路徑/data/data/com.example.studentlogin/cache
三、sdcard存儲(chǔ)
將數(shù)據(jù)存儲(chǔ)到手機(jī)的sdcard膳綾擎,須要聲明一個(gè)外部存儲(chǔ)可寫的權(quán)限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
如不雅要斷定sdcard是否掛載還須要一個(gè)權(quán)限:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
存儲(chǔ)過(guò)程:
1、獲取sdcard當(dāng)緇ご態(tài):Environment.getExternalStorageState();返回一個(gè)字符串常量,例如Environment.MEDIA_MOUNTED(sdcard已掛載)
2、斷定sdcard是否掛載:Environment.MEDIA_MOUNTED.equals(state);sdcard掛載則履行下面的存儲(chǔ)操作
3、指定目次:File file=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/cat.mp3");
4、寫入數(shù)據(jù):new FileOutputStream(file).writer();
掏出數(shù)據(jù)用FileInputStream即可。
相關(guān)案例查看更多
相關(guān)閱讀
- 汽車報(bào)廢回收軟件
- 昆明小程序開(kāi)發(fā)聯(lián)系方式
- 汽車回收管理系統(tǒng)
- 云南小程序被騙
- 小程序
- 云南網(wǎng)頁(yè)制作
- 網(wǎng)站開(kāi)發(fā)公司哪家好
- 搜索引擎優(yōu)化
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 云南做網(wǎng)站
- 汽車報(bào)廢回收管理軟件
- 昆明網(wǎng)站開(kāi)發(fā)
- 區(qū)塊鏈
- 網(wǎng)站上首頁(yè)
- 云南網(wǎng)絡(luò)公司
- 網(wǎng)站小程序
- flex
- 云南網(wǎng)站建設(shè)哪家強(qiáng)
- 搜索引擎排名
- 網(wǎng)站建設(shè)電話
- 百度小程序開(kāi)發(fā)
- 網(wǎng)站排名優(yōu)化
- 云南網(wǎng)站建設(shè)制作
- 網(wǎng)站建設(shè)優(yōu)化
- 云南網(wǎng)站建設(shè)
- 百度小程序
- 重慶網(wǎng)站建設(shè)公司
- 制作一個(gè)小程序
- 網(wǎng)站維護(hù)
- 云南網(wǎng)站建設(shè)哪家公司好