Monday, January 21, 2013

[Android] 資料儲存

http://fecbob.pixnet.net/blog/post/35618216-android%E8%B3%87%E6%96%99%E5%84%B2%E5%AD%98-%E3%80%90%E8%BD%89%E3%80%91-

Context.MODE_PRIVATE:為預設操作模式,代表該檔是私有資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔的內容,如果想把新寫入的內容追加到原檔中。可以使用Context.MODE_APPEND。


Context.MODE_APPEND:模式會檢查檔是否存在,存在就往檔追加內容,否則就創建新檔。

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有許可權讀寫該檔。

MODE_WORLD_READABLE:表示當前檔可以被其他應用讀取;MODE_WORLD_WRITEABLE:表示當前檔可以被其他應用寫入。

如果希望檔被其他應用讀和寫,可以傳入:

openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);     android有一套自己的安全模型,當應用程式(.apk)在安裝時系統就會分配給他一個userid,當該應用要去訪問其他資源比如檔的時候,就需要userid匹配。 預設情況下,任何應用創建的檔,sharedpreferences,資料庫都應該是私有的(位於/data/data//files),其他程式無法訪問。 除非在創建時指定Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,只有這樣其他程式才能正確訪問。

No comments:

Post a Comment