首頁技術(shù)文章正文

Android培訓(xùn)之外部存儲空間的寫與讀

更新時間:2017-08-21 來源:黑馬程序員Android培訓(xùn)學(xué)院 瀏覽量:

    大多Android設(shè)備都配有SD卡,我們稱之為外部存儲空間。那么如何對SD卡進(jìn)行讀寫呢?下面我們講述SD卡讀與寫的操作。

1.SD卡的寫操作

    假設(shè)我們在用戶登錄時將用戶輸入的用戶名和密碼都保存在SD卡中,那么如何向SD卡設(shè)備中寫入數(shù)據(jù)呢?參考Android下數(shù)據(jù)的保存和讀取所涉及的登錄項(xiàng)目新建一個登錄項(xiàng)目(命名為:用戶登錄保存數(shù)據(jù)SD卡),當(dāng)點(diǎn)擊登錄按鈕時將用戶名和密碼保存到SD卡這一外部存儲空間中而不再是保存到內(nèi)部存儲空間,具體代碼塊如例1-1所示:
  1. 保存數(shù)據(jù)業(yè)務(wù)方法


    上圖方法的設(shè)計(jì)思路是:getExternalStorageDirectory方法獲取SD卡所在的路徑,在該路徑下新建一個文件,將數(shù)據(jù)寫入該文件中。在主Activity中調(diào)用此方法,如例1-2所示:
  1. 方法調(diào)用



圖1-1所示
從上圖1-1可知數(shù)據(jù)保存失敗,查看日志信息如圖1-2所示:

圖1-2所示
在清單文件中添加相關(guān)權(quán)限,如圖1-3所示:


圖1-3所示
再次運(yùn)行程序,提示保存用戶名密碼成功,此時從DDMS中的文件瀏覽視圖中可以瀏覽到該文件如圖1-4所示:

導(dǎo)出文件,如圖1-5所示:

圖1-5所示

2.SD卡讀操作

完成了SD卡寫的操作,我們現(xiàn)在要讀取寫入SD卡中的數(shù)據(jù)并將該數(shù)據(jù)部署到相應(yīng)的控件上,具體方法如例1-3所示:

1.3數(shù)據(jù)讀取方法


上圖方法的設(shè)計(jì)思路是:讀取文件的存儲路徑并獲取該文件的輸入流,在程序中將讀取的數(shù)據(jù)流轉(zhuǎn)換成字符串并顯示在相應(yīng)的控件上。主Activity中調(diào)用此方法,如例1-4所示:

1.4方法調(diào)用

此時,運(yùn)行程序效果如圖1-6所示:

圖1-6所示
    上述操作可以得出:向SD卡寫數(shù)據(jù)時要添加相應(yīng)的權(quán)限,而讀SD卡的數(shù)據(jù)時則不需要添加權(quán)限,這便存在著安全隱患。為此,google工程師對高版本的Android系統(tǒng)設(shè)置了SD卡的讀取保護(hù)。當(dāng)選擇了【系統(tǒng)設(shè)置】à【開發(fā)者選項(xiàng)】à【對SD卡進(jìn)行讀寫保護(hù)】選項(xiàng),便設(shè)置了SD卡的讀寫權(quán)限,若要讀寫SD卡則必須添加讀寫權(quán)限,否則無法讀寫SD卡。

推薦閱讀:
python培訓(xùn)

本文版權(quán)歸黑馬程序員Android培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員Android培訓(xùn)學(xué)院
首發(fā):http://android.ithaima.com

分享到:
在線咨詢 我要報名
和我們在線交談!