转自:
http://windywindy.iteye.com/blog/460229
MediaStore这个类是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视频和图像,android把所有的多媒体数据库接口进行了封装,所有的数据库不用自己进行创建,直接调用利用ContentResolver去掉用那些封装好的接口就可以进行数据库的操作了。
首先,要得到一个ContentResolver实例,ContentResolver可以这样获取,利用一个Activity或者Service的Context即可。如下所示:
ContentResolver mResolver = ctx.getContentResolver();
上面的那个ctx的就是一个context,Activity.this就是那个Context,这个Context就相当于一个上下文环境。得到这个Context后就可以调用getContentResolver接口获取ContentResolver实例了。ContentResolver实例获得后,就可以进行各种查询,下面我就以音频数据库为例讲解增删改查的方法,视频和图像和音频非常类似。
在讲解各种查询之前,我给大家介绍下怎么看android都提供了哪些多媒体表。在adb shell中,找到/data/data/com.android.providers.media/databases/下,然后找到SD卡的数据库文件(一般是一个.db文件),然后输入命令sqlite3加上这个数据库的名字就可以查询android的多媒体数据库了。.table命令可以列出所有多媒体数据库的表,.scheme加上表名可以查询表中的所有列名。这里可以利用SQL语句来查看你想要的数据,记得最后一定要记住每条语句后面都加上分号。下面开始讲述怎么在这些表上进行增删改查。
查询,代码如下所示:
Cursor cursor = resolver.query(_uri, prjs, selections, selectArgs, order);
ContentResolver的query方法接受几个参数,参数意义如下:
Uri:这个Uri代表要查询的数据库名称加上表的名称。这个Uri一般都直接从MediaStore里取得,例如我要取所有歌的信息,就必须利用MediaStore.Audio.Media. EXTERNAL _CONTENT_URI这个Uri。专辑信息要利用MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI这个Uri来查询,其他查询也都类似。
Prjs:这个参数代表要从表中选择的列,用一个String数组来表示。
Selections:相当于SQL语句中的where子句,就是代表你的查询条件。
selectArgs:这个参数是说你的Selections里有?这个符号是,这里可以以实际值代替这个问号。如果Selections这个没有?的话,那么这个String数组可以为null。
Order:说明查询结果按什么来排序。
上面就是各个参数的意义,它返回的查询结果一个Cursor,这个Cursor就相当于数据库查询的中Result,用法和它差不多。
-------------------------------------------------------------------------------------------------------------------
增加,代码如下所以:
ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER,0);
resolver.insert(_uri, values);
这个insert传递的参数只有两个,一个是Uri(同查询那个Uri),另一个是ContentValues。这个ContentValuses对应于数据库的一行数据,只要用put方法把每个列的设置好之后,直接利用insert方法去插入就好了。
更新,代码如下:
ContentResolver resolver = ctx.getContentResolver();
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Media.DATE_MODIFIED, sid);
resolver.update(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,values, where, selectionArgs);
上面update方法和查询还有增加里的参数都很类似,这里就不再重复叙述了,大家也可直接参考google的文档,那里也写的很清楚。
删除,代码如下:
ContentResolver resolver = ctx.getContentResolver();
nbsp; resolver.delete(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,where, selectionArgs);
delete和更新的方法很类似,大家对照更新的方法看下马上就会明白
分享到:
相关推荐
在Android开发中,MediaStore是系统提供的一种接口,用于访问设备上的多媒体数据,包括图片、音频和视频。本文将深入探讨如何使用MediaStore检索SD卡上的视频,并展示在ListView中,以及实现点击列表项后播放视频的...
在Android开发中,MediaStore是一个重要的内容提供者,它允许我们访问设备上的多媒体数据,如图片、音频和视频。本文将深入探讨如何使用MediaStore数据库来获取本地指定文件夹下的视频文件,并进行排序和删除操作。...
认识 Android 多媒体数据库 MediaStore MediaStore 是 Android 系统提供的一个多媒体数据库, android 中多媒体信息都可以从这里提取。MediaStore 包括了多媒体数据库的所有信息,包括音频、视频和图像。android 把...
拍照传大图片,如果用普通方式会耗用极大的内存,Android一个App原则上的16M内存限制可以一下子被耗光。Android在拍照上有一个隐藏的设计,如果拍照图片过大,只返回一张缩略图。具体到不同手机,都是不一样的。
在Android平台上,删除图片或视频的操作通常涉及到文件系统的操作,权限管理,以及用户界面的交互。下面我们将详细探讨这些知识点。 首先,理解Android文件系统至关重要。Android设备上的文件存储在不同的目录下,...
Android 图片存入系统相册更新显示实例详解 在开发android的过程中,我们避免不了可能会涉及到做一个自定义相册或则会去本地创建一个文件夹来存储我们需要的... MediaStore.Images.Media.insertImage(getContentRes
android 删除文件夹及文件夹下面的所有文件
在Android系统中,获取OTG(On-The-Go)U盘的路径以及内部或外部SD卡的路径是进行文件操作的基础。这篇详细解释将围绕如何在Android M及以上版本的设备上实现这一功能,并提供一个简单实用的代码示例。 首先,我们...
总之,Android的MediaStore提供了一个方便的方式来获取SD卡上的音乐文件信息,通过ContentResolver的`query()`方法和MediaStore的常量,开发者可以轻松地获取到音乐的元数据,包括歌曲ID、名称、专辑、艺术家、路径...
对于Android平台,Android系统提供了Android MediaStore服务,用于访问用户的媒体文件,包括图片和视频。Unity Native Gallery插件通过Java原生接口(JNI)桥接了Unity与Android的MediaStore API,使得Unity开发者...
Android教程之MediaStore
- Android MediaStore API可以用来获取设备上的图片、视频等多媒体文件,用于构建相册内容。开发者可能需要遍历MediaStore中的数据,筛选出水果相关的图片。 5. **图片选择与预览**: - 用户可以选择一个或多个...
Android MediaStore类可以用于获取设备上的音乐文件信息,然后通过SQLite数据库或内存数据结构来组织和展示这些信息。 "扫描本地歌曲"是利用MediaScannerConnection扫描设备上的音频文件,将新添加或更改的音乐文件...
其次,项目可能涉及到了Android的媒体库API,包括MediaStore,用于访问设备上的图片、视频和其他多媒体文件。理解如何查询和操作MediaStore内容可以帮助我们构建自己的文件管理系统。 再者,此Demo可能实现了图片的...
6. **多媒体API**: Android MediaStore API可以用于检索设备上的图片和视频信息,这是构建相册应用的基础。开发者需要熟悉如何查询MediaStore以获取媒体文件列表。 7. **异步处理**: 使用AsyncTask或Handler/Looper...
同时,Android MediaStore API可以方便地查询设备上的音频文件信息,如曲目、艺术家等。 在实际应用中,我们还需要考虑用户界面的设计和交互,例如添加播放、暂停、停止、快进、倒退等控制按钮,并监听这些按钮的...
一、Android MediaStore API 在Android中,Music播放器首先需要能够获取到设备上的音乐文件。这通常通过调用MediaStore类来实现。MediaStore.Audio.Media.EXTERNAL_CONTENT_URI是一个特殊的URI,用于访问设备的音频...
1. **Android MediaStore API**:用于获取和管理设备上的音频文件,构建媒体库。 2. **MediaPlayer类**:Android系统提供的音频播放组件,用于播放音频文件。 3. **Service**:创建后台服务,确保音乐在应用被最小...
- 可能会用到`Android MediaStore` API,这是Android系统提供用于访问多媒体数据的接口。 - 为了提升用户体验,可能还需要用到图片裁剪、旋转等工具类,如`CropImage`库。 接下来,我们进一步讨论实现相册功能的...
1. **Android MediaStore**: 这是Android提供的一种接口,用于访问设备上的多媒体数据,包括图片、视频和音频。开发者可以利用MediaStore类来检索用户的媒体文件,并在自定义的Gallery应用中显示。 2. **GridView与...