zoukankan      html  css  js  c++  java
  • Android学习——MediaProvider与Music模块

    一、MediaProvider数据库介绍

      1. 关系型数据库

       关系模型的物理表示是一个二维表格,由行和列组成。

      2. MediaProvider数据库存储位置

          /data/data/com.android.providers.media/databases

          内置存储:internal.db

          外置存储:external-ffffffff.db

      3. MediaProvider扫描更新数据库

          app层:MediaScannerReceiver、MediaScannerService

          Framework层:MidiaScanner

          Native层:StagefrightMediaScanner、MediaScannerClient

      4. 表与视图的区别

          表(table):存放实际数据,占用物理空间

          视图(view):虚表,不占物理空间,只是逻辑概念

    二、平台的外部存储配置

      模拟存储为主,物理存储为辅

      1. emulated primary

          将部分内置存储暴露与模拟层来实现外部存储,并标记成主要存储,根挂载点目录:/storage/emulated/

      2. physical secondary

          将SD卡、USB设备这类便携式存储标记为次要存储,根挂载点目录:/storage/(T卡ID)/

          如:/storage/3066-1412/          3066-1412是SD卡的标识,每张SD卡的标识是唯一的

    三、MediaProvider在Music中的应用

      1. Music应用对数据库的操作共2种:查询、删除

      2. Music模块设计框架

          

      3. URI

          Uri可以表示数据库中的所有表;某一个表;或某一个表里的某一个ID。Androd设备上的image/audio/video/file等资源数据都是存在数据库表中,

          因此,可以说:Android上可用的每种资源(图像、视频等)都可以用Uri来表示。

    四、MediaProvider在SoundRecorder中的应用

      SoundRecorder应用对数据库的操作共3种:查询、删除、插入、重命名

    五、AIDL(Android Interface definition language)

      AIDL是Android中IPC(Inter-Process Communication)方式中的一种。

      AIDL的作用是让你可以在自己的APP里绑定一个其他APP的service,这样你的APP可以和其他APP交互。

  • 相关阅读:
    Javascript online compressor
    Asp.net mvc 3 JSON post & AOP
    Javascript Clone
    LiveRTMP之对接海康、大华等IPCamera SDK进行RTMP直播推送
    H5实现视频监控网络直播时前端自动适配
    监控物联网直播时遇到iOS无法播放HLS流的问题解决
    LivePlayer RTSP/RTMP/HTTP/HLS全功能播放器
    [转载]LivePlayer实现直播抓拍
    LiveRTMP内置IPCamera实现RTMP直播摄像机功能
    使用LiveNVR实现RTSP视频监控、直播推送
  • 原文地址:https://www.cnblogs.com/pomodoro/p/11444840.html
Copyright © 2011-2022 走看看