教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Android培訓(xùn)之用戶和文件權(quán)限

更新時間:2016年03月25日17時04分 來源:傳智播客Android培訓(xùn)學(xué)院 瀏覽次數(shù):

所謂用戶即在Android系統(tǒng)下每安裝一個應(yīng)用程序,系統(tǒng)就默認該APP為一個新的用戶,也就是說你手機上的每一個APP都是一
個用戶。文件的權(quán)限我們已經(jīng)講述過,那么接下來我們將論述用戶與文件權(quán)限的關(guān)系。
在文件的權(quán)限中我們已經(jīng)新建了4個不同權(quán)限的文件,分別為私有的,可讀的,可寫的,可追加的。下面我們再新建一個用戶(
即新建一個項目),在該項目中訪問上述新建文件的數(shù)據(jù)。
新建一個用戶
新建Android項目(other),使用系統(tǒng)自動生成的布局文件,運行程序如圖1-1所示
上圖表明另一個用戶已經(jīng)建成,接下來,我們就使用當(dāng)前新建的這個用戶來訪問文件權(quán)限這一項目中生成的4個文件,并將讀取
的數(shù)據(jù)打印出來。
編寫訪問代碼
在新建項目(other)中讀取另一個項目(文件權(quán)限)中的文件,編寫訪問代碼如例1-2:
例1-2  文件訪問
File file =
new File("/data/data/com.itheima.login2/files/private.dat");
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
System.out.println(br.readLine());
fis.close();
復(fù)制代碼
  訪問另一用戶(文件權(quán)限)私有文件,運行程序,LogCat打印出如下圖1-2所示錯誤信息:
由上可以得出結(jié)論:一個用戶訪問另一個用戶的私有文件是不被允許的,這個私有文件只能被自身用戶所訪問。
  訪問另一用戶(文件權(quán)限)的可讀文件,即將例1-1中的private.dat改為:readable.dat,運行程序,LogCat打印出如圖
1-3所示的信息:
  訪問另一用戶的可寫文件,即將例1-1中的private.dat改為:writeable.dat,運行程序,LogCat打印如圖1-4所示的信息
由上可以得出結(jié)論:一個用戶讀取另一個用戶的可寫文件是不被允許的,這個可寫文件自能被自身程序所訪問;但是當(dāng)一個用戶
編輯另一個用戶的可寫文件,這個操作是被允許的。
  訪問另一用戶的可追加文件,即將例1-1中的private.dat改為:append.dat,運行程序,LogCat打印如圖1-5所示的信息
總結(jié):兩個用戶之間文件的訪問是受到限制的,能否訪問成功取決于該文件的權(quán)限。在一個用戶下新建一個文件,該文件在默認
狀態(tài)下是私有的即不能被其它用戶所訪問,這樣設(shè)計的目的也是為了避免用戶的數(shù)據(jù)泄露


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

0 分享到:
和我們在線交談!