Android_02_檔案存取權限(待更新)
前言:
開啟 File Explorer可以看到:
10個字母表示的意義:
drwxrwxrwx
第一個字母:
* d:表示檔案夾
* -:表示檔案
第一組rwx:表示的是檔案擁有者(owner)對檔案的許可權
* r:read,讀
* w:write
* x:execute
第二組rwx:表示的是跟檔案擁有者屬於同一使用者組的使用者(grouper)對檔案的許可權
第三組rwx:表示的其他使用者(other)對檔案的許可權
在Android中,每一個應用,都是一個獨立的使用者,他們也並不屬於同一個使用者組,
但是你可以通過設定,使應用屬於同一個使用者組。(以後再詳細總結如何設定的問題)
關於檔案存取權限的程式碼範例如下:
package com.itheima.permission;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;import android.view.Menu;import android.view.View;@SuppressLint(WorldReadableFiles)public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click1(View v){//路徑已經預設為data/data/com.itheima.permission/filestry {FileOutputStream fos = openFileOutput(info1.txt, MODE_PRIVATE);fos.write(哈哈哈.getBytes());fos.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void click2(View v){//路徑已經預設為data/data/com.itheima.permission/filestry {@SuppressWarnings(deprecation)FileOutputStream fos = openFileOutput(info2.txt, MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE);fos.write(ohohoho.getBytes());fos.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void click3(View v){//路徑已經預設為data/data/com.itheima.permission/filestry {@SuppressWarnings(deprecation)FileOutputStream fos = openFileOutput(info3.txt, MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE);fos.write(德瑪西亞.getBytes());fos.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
layout的xml檔案如下: