內部儲存資料,是由本應用程式訪問的私有資料,儲存在/data/data/package_name/files/檔名 下
可以通過以下兩個方法讀取和寫入私有資料:
示例:
string info = "程式設計師好帥";
try catch (filenotfoundexception e) catch (ioexception e)
context.openfileinput(name)
name:已經存在的自定義檔名
示例:
try
in.close();
toast.maketext(mainactivity.this, buf, toast.length_short).show();
} catch (filenotfoundexception e) catch (ioexception e)
raw檔案中資源檔案的一種,只能讀取,不能寫入
可以存放一些聲音資源檔案
在程式第一次執行時,讀取該資源資料,執行相應的操作,比如(初始化資料庫資料)
public void readrawclick(view v)
in.close();
} catch (ioexception e)
//讀取到的sql語句,再去執行
}
存放資源檔案,不會生成索引原生檔案
通常在該目錄下存放,網頁檔案、資料庫資料檔案、apk檔案,不會受res資源的相關限制
系統在記憶體低的情況下,會自動清除快取,但通常我們應該自己維護快取
一般大小在1mb
log.i("cache",getcachedir().tostring());
try catch (ioexception e)
public static boolean i***ternalstoragewritable()
return false;
}public static boolean i***ternalstoragereadable()
return false;
}
public static string getsdcardpath()
萬用字元:sdcard
/**
* 獲取外部儲存的私有目錄(4.4)
* @param context
* @return
*/public static file getexternalfilesdir(context context)
return file;
}/**
* 獲取外部儲存的私有快取目錄(4.4)
* @param context
* @return
*/public static file getcachedir(context context)
return file;
}獲取sdcard的總空間大小和可用空間大小
/*** 獲取sdcard的可用空間大小
* @return
*/public static long getfreespace()
/*** 獲取sdcard的總空間大小
* @return
*/public static long gettotalspace()
//
environment.getexternalstoragepublicdirectory(environment.directory_pictures)
//警報聲音,鬧鐘聲音
environment.getexternalstoragepublicdirectory(environment.directory_alarms)
//相機
environment.getexternalstoragepublicdirectory(environment.directory_dcim)
//文件
environment.getexternalstoragepublicdirectory(environment.directory_documents)
environment.getexternalstoragepublicdirectory(environment.directory_downloads)
environment.getexternalstoragepublicdirectory(environment.directory_movies)
//**
environment.getexternalstoragepublicdirectory(environment.directory_music)
//通知
environment.getexternalstoragepublicdirectory(environment.directory_notifications)
//部落格
environment.getexternalstoragepublicdirectory(environment.directory_podcasts)
//鈴聲
environment.getexternalstoragepublicdirectory(environment.directory_ringtones)
注意:在實際開發中,我們通常會使用sdcard來作為本應用程式的快取位置,我們可以在sdcard上建立乙個
屬於本應用程式使用的自定義目錄(通過存放一些非敏感的資料)
敏感資料一般放在sdcard上的私有目錄(sdcard/andorid/data/package_name/...下,或
應用程式下的私有目錄:data/data/package_name/files/... 或/cache/...)
面試題:問android儲存資料的方式有哪些:
shared preferences(共享屬性檔案)
internal storage(內部儲存)
external storage(外部儲存)
sqlite databases(sqlite資料庫)
network connection(網路)
內部儲存 外部儲存
內部儲存 系統儲存 物理位置是位於手機內部的非易失性儲存器上,就是俗稱的rom 系統快取 記憶體 物理位置是位於手機內部的隨機儲存器上,就是俗稱的ram rom相當於電腦硬碟,斷電後依然能夠儲存資料 ram相當於電腦記憶體,斷電後資料丟失 而android系統是基於linux系統建立的,她的分割槽結...
Android 內部儲存與外部儲存
android.permission.write external storage 注意 目前所有應用都可以讀取外部儲存,而無需特別的許可權。但這在將來版本中會進行更改。如果應用需要讀取外部儲存 但不向其寫入資訊 那麼您將需要宣告 read external storage許可權。android.p...
Android 外部儲存,內部儲存路徑
import android.content.context import android.os.environment import android.util.log public class directoryutils 獲取當前程式路徑 應用在記憶體上的目錄 data data com.exa...