android 多媒体数据库详解

本文深入探讨了Android多媒体文件的存储方式,主要集中在/data/data/com.android.providers.media/databases目录的内部和外部数据库。详细解析了数据库中的Images、Thumbnails、Video等表结构。同时,介绍了Android获取多媒体文件的方法,包括通过Content Provider的URI地址和传统文件路径。讲解了如何从Content Uri和文件路径生成Bitmap,以及获取图片缩略图的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要分为几节:

1. Android的媒体文件内部是如何存储的?

2. Andoid的媒体文件如何获取?

3. 在使用媒体文件的一些小技巧。

1. Android的多媒体如何存储的?

Android的多媒体文件主要存储在/data/data/com.android.providers.media/databases目录下,该目录下有两个db文件,一个是内部存储数据库文件(internal.db),一个是存储卡数据库(external-XXXX.db)。媒体文件的操作主要是围绕着这两个数据库来进行。这两个数据库的结构是完全一模一样的。

我们先看一下这两个数据库包含了哪些表。

album_art audio search

album_info audio_genres searchhelpertitle

albums audio_genres_map thumbnails

android_metadata audio_meta video

artist_info audio_playlists videothumbnails

artists audio_playlists_map

artists_albums_map images

先从基本的分析:

Images表:主要存储images信息。可以看一下这个表的结构:

CREATE TABLE images (_id INTEGER PRIMARY KEY,_data TEXT,_size INTEGER,_display_name TEXT,mime_type TEXT,title

TEXT,date_added INTEGER,date_modified INTEGER,description TEXT,picasa_id TEXT,isprivate INTEGER,latitude DOUBL

E,longitude DOUBLE,datetaken INTEGER,orientation INTEGER,mini_thumb_magic INTEGER,bucket_id TEXT,bucket_displa

y_name TEXT);

包含了一些基本信息,其中大家一看就明白了。

Thumbnails表:这个表和images表是有直接关系的。主要存储图片的缩略图,Android为每一张保存进系统的图片文件都会自动生成一张缩略图文件。关于这一点还有一些特殊的技巧后面再讲。我们可以看一下这个表的结构:

CREATE TABLE thumbnails (_id INTEGER PRIMARY KEY,_data TEXT,image_id INTEGER,kind INTEGER,width INTEGER,height INTEGER);

每一张image对应一条thumbnail记录。

Video表:主要存储视频信息了。和images表类似。表结构如下:

CREATE TABLE video (_id INTEGER PRIMARY KEY,_data TEXT NOT NULL,_display_name TEXT,_size INTEGER,mime_type TEXT,date_added INTE

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值