android从手机数据库中取音乐数据

直接贴代码

public void getMp3(){
list = new ArrayList<>();
Cursor mAudioCursor = this.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null,// 字段 没有字段 就是查询全部信息 相当于SQL语句中的 “ * ”
null, // 查询条件
null, // 条件的相应?的參数
MediaStore.Audio.AudioColumns.TITLE);// 排序方式
// 循环输出歌曲的信息
for (int i = 0; i < mAudioCursor.getCount(); i++) {
mAudioCursor.moveToNext();
// 找到歌曲标题和总时间相应的列索引
long id = mAudioCursor.getLong(mAudioCursor.getColumnIndex(MediaStore.Audio.Media._ID)); // 音乐id
String title = mAudioCursor.getString((mAudioCursor.getColumnIndex(MediaStore.Audio.Media.TITLE)));// 音乐标题
String artist = mAudioCursor.getString(mAudioCursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));// 艺术家
long duration = mAudioCursor.getLong(mAudioCursor.getColumnIndex(MediaStore.Audio.Media.DURATION));// 时长
long size = mAudioCursor.getLong(mAudioCursor.getColumnIndex(MediaStore.Audio.Media.SIZE)); // 文件大小
String url = mAudioCursor.getString(mAudioCursor.getColumnIndex(MediaStore.Audio.Media.DATA)); // 文件路径
int isMusic = mAudioCursor.getInt(mAudioCursor.getColumnIndex(MediaStore.Audio.Media.IS_MUSIC));// 是否为音乐
if(isMusic!=0){//仅仅有当是音乐的时候才保存
Mp3Info mp3Info=new Mp3Info(id,title,artist,duration,size,url);
list.add(mp3Info);
}
} }

javaBean

package flyfish.com.mp3play;

/**
* Created by Administrator on 2015/8/18 0018.
*/
public class Mp3Info {
private long id;
private String title;
private String artist;
private long duration;
private long size;
private String url; public Mp3Info( long id, String title,String artist, long duration, long size, String url) {
this.artist = artist;
this.duration = duration;
this.id = id;
this.size = size;
this.title = title;
this.url = url;
} public Mp3Info() {
} public String getArtist() {
return artist;
} public void setArtist(String artist) {
this.artist = artist;
} public long getDuration() {
return duration;
} public void setDuration(long duration) {
this.duration = duration;
} public long getId() {
return id;
} public void setId(long id) {
this.id = id;
} public long getSize() {
return size;
} public void setSize(long size) {
this.size = size;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} @Override
public String toString() {
return "Mp3Info{" +
"artist='" + artist + '\'' +
", id=" + id +
", title='" + title + '\'' +
", duration=" + duration +
", size=" + size +
", url='" + url + '\'' +
'}';
}
}

android从数据库中取音乐数据的更多相关文章

  1. 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表

    最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...

  2. loadrunner 参数化-如何从数据库中取数据-连接数据库进行参数化

    LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值.一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑就不切实际了,这时用连接数据库的功能就方 ...

  3. php从mysql数据库中取数据

    php从数据库中取数据  面向过程 <?php $server_name="localhost:3306"; //数据库服务器名称 $username="root& ...

  4. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  5. 批量替换数据库中所有用户数据表中字段数据类型为char和varchar到nvarchar的脚本

    解决问题:字段类型为char的总是占用指定字节长度(末尾好多空白符号),varchar数据类型长度一个汉字占2个字节,内容存储为中文的字段个人建议全部使用nvarchar. 操作说明:打开SQL Se ...

  6. php从数据库中取二进制流文件转换为图片,图片以二进制流存入数据库实现

    php从数据库中取二进制流文件转换为图片,图片以二进制流存入数据库实现 function data_uri($contents, $mime) { $base64 = base64_encode($c ...

  7. 如何从mysql数据库中取到随机的记录

    如何从mysql数据库中取到随机的记录 一.总结 一句话总结:用随机函数newID(),select top N * from table_name order by newid() ----N是一个 ...

  8. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  9. CODESOFT中怎样打印数据库中的特定数据?

      CODESOFT可用于打印.标记和跟踪的零售库存标签软件,每种产品的售卖都代表着需要打印大量的条码标签.通常我们采用的方法就是在CODESOFT连接数据库批量打 印.但是如果数据量很大,该如何选择 ...

随机推荐

  1. poi获取word批注

    package test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...

  2. Java 基础入门随笔(7) JavaSE版——面向对象定义、特征:封装、构造函数

    面向对象 面向过程:对于面向过程思想,强调的是过程(动作). 面向对象:对于面向对象思想,强调的是对象(实体). 特点: 1,面向对象就是一种常见的思想.符合人们的思考习惯.2,面向对象的出现,将复杂 ...

  3. c++中的类型转换--reinterpret_cast

    原文链接:  浅析c++中的类型转换--reinterpret_cast转换 reinterpret_cast作用为: 允许将任何指针转换为任何其他指针类型. 也允许将任何整数类型转换为任何指针类型以 ...

  4. 安卓app测试之Monkeyrunner

    一.MonkeyRunner简介 MonkeyRunner提供了系列的API ,MonkeyRunner可以完成模拟事件及截图操作 ,分为以下三类: MonkeyRunner:用来连接设备或模拟器的 ...

  5. java学习_5_21

    数组的插入.删除.扩容本质上都是用的数组的复制.Java中数组的拷贝如下: System.arraycopy(Object src, int srcPos, Object dest, int dest ...

  6. Gitlab forbidden

    搭建使用了两年的gitlab 抽风了居然forbidden # vim /etc/gitlab/gitlab.rb gitlab_rails['rack_attack_git_basic_auth'] ...

  7. 如何使用fio模拟线上环境

    线上表现 这里我想通过fio来模拟线上的IO场景,那么如何模拟呢? 首先使用iostat看线上某个盘的 使用情况,这里我们需要关注的是 avgrq-sz, avgrq-qz. #iostat -dx ...

  8. Linux配置网卡、网卡会话、网卡bonding

    配置网卡  1.路径:  /etc/sysconfig/network-scripts/ifcfg-eno16777728 2.含义:HWADDR=00:0C:29:9C:D6:4D   Mac地址 ...

  9. 腾讯云,搭建Git服务器

    下载安装 git 任务时间:5min ~ 10min Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 ...

  10. THUSC2019滚粗记

    关于\(\mathrm{APIO}\)游记,它咕了... Day -1 \(\mathrm{\_tham}\)今天并没有准备给我们考试,所以机房充斥着过年的气息(雾 下午就要出发了,由于一些众所周知的 ...