但是,最好不要依赖系统来管理,应该自己设定一个最大容量,当超出这个值时自己删除。
Context.getFilesDir(),Context.openFileOutput(String, int),Context.getFileStreamPath(String),Context.getDir(String, int)
/data/data/files
Android支持在SD卡上的应用私有目录,在Froyo版本后,通过getExternalFilesDir()可以获得具体路径。该路径依赖与应用的包名,如果你包为hello.file那么SD开上的应用私有目录为\mnt\sdcard\Android\data\hello.file\files\.
在使用SD卡目录时,需注意SD卡是否挂载,可通过Environment.getExternalStorageState()方法进行判断,如果返回值为Envirnment.MEDIA_MOUNTED表示SD卡处于挂载状态,可以放心使用。
getExternalCacheDir()和getCacheDir()比较
共同点:
files will be deleted when the application is uninstalled
不同点:
1、The platform does not monitor the space available in external storage, and thus will not automatically delete these files. Note that you should be managing the maximum space you will use for these anyway, just like with getCacheDir().
2、External files are not always available: they will disappear if the user mounts the external storage on a computer or removes it. See the APIs on Environment for information in the storage state.
3、There is no security enforced with these files. All applications can read and write files placed here.
存在res/raw/ 下面,然后程序启动的时候再把这个文件考到sd卡下,然后才能使用sqlite进行连接追问:
sld=SQLiteDatabase.openDatabase
(
"/data/data/com.bn.fkdp/mydb", //数据库所在路径
null, //CursorFactory
SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY //读写、若不存在则创建
)
这是本人参考的一个程序中的数据库 本人想新建一个但是我在它的工程中怎么找不到"/data/data/com.bn.fkdp/mydb", 这个路径啊 请大侠指点一下
追答:
在DDMS里应该是可以找到那个路径的,如果是用模拟器运行的话。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)