android录音播放列表,android数据库里的视频,图片,音频表
數據庫模式分析
圖片數據庫
圖片數據庫由兩個表組成,分別是 images 和 thumbnails,物理數據模型如下所示(Power Designer 逆向工程生成)
Note: 如何數據庫物理模型圖: 表示此為主鍵。其余的表名、字段名、數據類型應該都能看明白。
Note: SQLite 從 3.6.19 版才開始支持外鍵約束,Android 2.3.3 使用的是 3.7.x,但并沒有使用此特性,而是通過操作數據庫的程序(如 MediaScanner)以及觸發器來維護數據庫的一致性。這里可以了解 SQLite 的外鍵支持情況
數據表字段解析如下:
images:圖片信息
字段
解析
_id
主鍵。圖片 id,從 1 開始自增
_data
圖片絕對路徑
_size
文件大小,單位為 byte
_display_name
文件名
mime_type
類似于 image/jpeg 的 MIME 類型
title
不帶擴展名的文件名
date_added
添加到數據庫的時間,單位秒
date_modified
文件最后修改時間,單位秒
description
picasa_id
用于 picasa 網絡相冊
isprivate
latitude
緯度,需要照片有 GPS 信息
longitude
經度,需要照片有 GPS 信息
datetaken
取自 EXIF 照片拍攝時間,若為空則等于文件修改時間,單位毫秒
orientation
取自 EXIF 旋轉角度,在圖庫旋轉圖片也會改變此值
mini_thumb_magic
取小縮略圖時生成的一個隨機數,見 MediaThumbRequest
bucket_id
等于 path.toLowerCase.hashCode(),見 MediaProvider.computeBucketValues()
bucket_display_name
直接包含圖片的文件夾就是該圖片的 bucket,就是文件夾名
thumbnails:縮略圖
字段
解析
_id
主鍵。縮略圖 id,從 1 開始自增
_data
圖片絕對路徑
image_id
縮略圖所對應圖片的 id,依賴于 images 表 _id 字段,可建立外鍵
kind
縮略圖類型,1 是大縮略圖,2 基本不用,3 是微型縮略圖但其信息不保存在數據庫
width
縮略圖寬度
height
縮略圖高度
視頻數據庫
數據表字段解析如下:
video:視頻信息
字段
解析
_id
主鍵。視頻 id
_data
視頻絕對路徑
_display_name
文件名
_size
文件大小,單位為 byte
mime_type
類似于 video/avi 的 MIME 類型
date_added
添加到數據庫的時間,單位秒
date_modified
文件最后修改時間,單位秒
title
不帶擴展名的文件名
duration
視頻時長,單位毫秒
artist
藝術家
album
專輯名,一般為文件夾名
resolution
description
isprivate
tags
category
language
mini_thumb_data
latitude
longitude
datetaken
mini_thumb_magic
取小縮略圖時生成的一個隨機數,見 MediaThumbRequest
bucket_id
等于 path.toLowerCase.hashCode(),見 MediaProvider.computeBucketValues()
bucket_display_name
直接包含視頻的文件夾就是該圖片的 bucket,就是文件夾名
bookmark
videothumbnails:視頻縮略圖
字段
解析
_id
主鍵。縮略圖 id
_data
縮略圖絕對路徑
video_id
縮略圖所對應視頻的 id,依賴于 video 表 _id 字段
kind
縮略圖類型,1 是大圖,視頻只能取類型 1
width
縮略圖寬度
height
縮略圖高度
音頻數據庫
音頻數據庫是最復雜的,由 10 個表組成。物理數據模型如下所示:
album_art:專輯封面
字段
解析
album_id
主鍵。專輯 id
_data
專輯封面緩存的路徑
albums:專輯信息
字段
解析
album_id
主鍵。專輯 id
album_key
全大寫字母,用于字母索引
album
專輯名
android_metadata:當前字符編碼
字段
解析
locale
默認字符編碼,例如 zh_CN
artists:藝術家
字段
解析
artist_id
主鍵。藝術家 id
artist_key
全大寫字母,用于字母索引
artist
藝術家
audio_genres:流派
字段
解析
_id
主鍵。流派 id
name
流派名稱
audio_genres_map:音頻流派映射
字段
解析
_id
主鍵。映射 id
audio_id
音頻 id
genre_id
流派 id
Note: 為何要建立映射表:為了消除數據冗余。假如有大量音頻屬于同一流派,如果沒有映射表則需要每個音頻都需要記錄同樣的流派數據,有了映射表之后則只有一條記錄就夠了。這符合數據庫設計的第三范式(the 3rd normal form)
audio_meta:音頻信息
字段
解析
_id
主鍵。音頻 id
_data
文件絕對路徑
_display_name
文件名
_size
文件大小,單位 byte
mime_type
類似于 audio/mpeg 的 MIME 類型
date_added
添加到數據庫的時間,單位秒
date_modified
文件最后修改時間,單位秒
title
來自 ID3 信息的標題,無則為不帶擴展名的文件名
title_key
全大寫字母的標題
duration
時長
artist_id
藝術家 id
composer
來自 ID3 信息,作曲家
album_id
專輯 id
track
來自 ID3 信息,音軌
year
來自 ID3 信息,年代
is_ringtone
是否鈴聲,0 或 1
is_music
是否音樂,1 才會在音樂播放器顯示
is_alarm
是否鬧鐘鈴聲
is_notification
是否通知鈴聲
is_podcast
是否 podcast
bookmark
audio_playlists:播放列表
字段
解析
_id
主鍵。播放列表 id
_data
name
播放列表名
date_added
date_modified
audio_playlists_map:音頻播放列表映射
字段
解析
_id
主鍵。映射 id
audio_id
音頻 id
playlist_id
播放列表 id
play_order
播放順序
總結
以上是生活随笔為你收集整理的android录音播放列表,android数据库里的视频,图片,音频表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目管理论坛_【项目管理论坛】 第15期
- 下一篇: javascript小游戏_个人网站集成