1.多媒体存储机制:
当Android的系统启动的时候,系统会自动扫描sdcard内的(包括大容量存储)跟系统内存的多媒体文件,并把获得的信息保存在两个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这两个数据库中进行的,而不是直接去sdcard中或者手机内存里取。两张数据库都是位于/data/data/com.android.providers.media/databases目录下。如下图所示:


名为external.db里面存储的是sdcard(包括大容量存储的媒体信息),名为internal.db存储的就是手机内存的媒体信息,比如说手机出厂时自带的一些铃声。当然如果有多张sdcard更换使用时,这时external.db不一定是固定的,或许像下图这样,但每一个名字确实对应着那张sdcard。

可以使用SQLite Expert这个工具打开这个数据库文件看一下:

这个就是存放系统内置铃声的表。

2.更新多媒体数据库:
既然其他程序中如果想要访问多媒体文件的信息,是在这两个数据库中进行的,而不是直接去sdcard中或者手机内存里取。那么当我们下载一首歌曲完成的时候可能就会需要更新播放列表,否则除了重启机器,或者拔了sdcard再插上,目前没有其他办法。好吧,发送一个广播就会把当前新下载的或者刚刚删除的文件信息同步进数据库了


3.程序可操作的存储路径:
Android系统中,程序可读写的路径只有两个,一个是sdcard,还有一个就是/data/data/包名,如果向/data/data/包名路径中写一个文件,很有可能写完了不能进行执行操作等,所以必要时候还要给予相应的权限。可能需要这样做:




更多相关文章

  1. Android(安卓)提高显示布局文件的性能[Lesson 2 - 使用include标
  2. Android(安卓)Signature V2 Scheme签名下的新一代渠道包打包神器
  3. Android(安卓)AppLink功能实现,原理和干货,包教会
  4. Android通过ant脚本打包带Library project的方法
  5. 在android应用中使用luasocket
  6. Android自定义进度条颜色
  7. Android里webviewActivity一般功能实现
  8. Android中BroadCastReceiver使用(整理)
  9. Android(安卓)实现阅读pdf格式的文件和android 7.0以上版本出现F

随机推荐

  1. Android(安卓)微博布局风格
  2. android inport apiDemos
  3. android软键盘的显示与隐藏
  4. 【Android外文翻译 - 03】创建可复用的UI
  5. Android(安卓)Multiple APK Support
  6. Android基站+联网+google数据库定位
  7. Android(安卓)有入场动画的Popuwindow
  8. android 把view转成bitmap
  9. TextView 设置 Ellipsize 属性,但它不工作
  10. Android(安卓)Button