Android之SharedPreferences許可權

ysh06201418發表於2014-06-16
import android.app.Activity;  
import android.content.SharedPreferences;  
import android.os.Bundle;  
  
public class PermissionActivity extends Activity {  
    private final int[] MODES=new int[]{  
        Activity.MODE_PRIVATE,//預設操作模式,代表該檔案是私有資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容,如果想把新寫入的內容追加到原檔案中,可以使用Activity.MODE_APPEND  
        Activity.MODE_WORLD_READABLE,//表示當前檔案可以被其他應用讀取,  
        Activity.MODE_WORLD_WRITEABLE,//表示當前檔案可以被其他應用寫入;  
                                     //如果希望檔案被其他應用讀和寫,可以傳入:Activity.MODE_WORLD_READABLE+Activity.MODE_WORLD_WRITEABLE  
        Activity.MODE_APPEND//該模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案  
    };  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
          
        for(int i=0;i<MODES.length;i++){  
            SharedPreferences mySharedPreferences=getSharedPreferences("data_"+String.valueOf(i+1),MODES[i]);  
            SharedPreferences.Editor editor=mySharedPreferences.edit();  
            editor.putString("name",String.valueOf(i+1));  
            editor.commit();  
        }  
    }  

}

用getsharedPreferences方法獲得sharedpreferences物件,getsharedPreferences方法的第2個引數值使用到了Activity.MODE_PRIVATE常量。除了這個常量以外還可以使用另外3個常量。這4個常量用於指定檔案的建立模式。他們一個重要的功能就是設定檔案的屬性,從而可以設定資料檔案的訪問許可權。

  預設的模式為0或MODE_PRIVATE,如果訪問其他應用中的Preference,前提條件是:該preference建立時指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE許可權。

相關文章