Android 扫描音乐文件、两种方式获取文件最新修改时间
来源:互联网 发布:win7建立网络共享 编辑:程序博客网 时间:2024/06/11 01:45
package com.example.demo_mediascanner;import java.io.File;import java.util.Calendar;import java.util.Date;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.database.Cursor;import android.util.Log;import android.view.Menu;import android.view.View;/** * 扫描音乐 --scanner music * @author alan * */public class MainActivity extends Activity {private Cursor cursor ;Calendar cal = Calendar.getInstance();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); IntentFilter intentfilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED); intentfilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); intentfilter.addDataScheme("file"); MediaScannerReceiver receiver = new MediaScannerReceiver(); registerReceiver(receiver, intentfilter); sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); }public void scanFileAsync(Context ctx, String filePath) {Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);scanIntent.setData(Uri.fromFile(new File(filePath)));ctx.sendBroadcast(scanIntent);}public void scanner(View view){cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);Thread thread = new Thread(){int n;@Overridepublic void run() {while (cursor.moveToNext()) {//歌曲的名称 :MediaStore.Audio.Media.TITLEString tilte = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE)); //歌曲文件的路径 :MediaStore.Audio.Media.DATAString url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA)); //方法1:歌曲文件的修改时间 (注意:精确到秒,所以还要*1000):MediaStore.Audio.Media.DATE_MODIFIEDlong updateTime= cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATE_MODIFIED)); updateTime = updateTime*1000;//方法2:获取最新修改时间File file = new File(url);long time = file.lastModified();//格式化时间,获取年,月,日String[] times = getTimeInfo(updateTime);//Log.i("TAG", "tilte:"+tilte);Log.i("TAG", "url:"+url);Log.i("TAG", "times:"+times[0]+times[1]+times[2]);n++;}Log.i("TAG", "n====>"+n);Log.i("TAG", "getCount====>"+cursor.getCount());}};thread.start();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}/** * 获取时间(年月日) * @return */public String[] getTimeInfo(long time){String[] times = new String[3];Date date = new Date(time);cal.setTime(date); times[0] = cal.get(Calendar.YEAR)+""; times[1]= (cal.get(Calendar.MONTH)+1)+"";//calendar月份从0-11 times[2]= cal.get(Calendar.DAY_OF_MONTH)+"";return times;}}
1 0
- Android 扫描音乐文件、两种方式获取文件最新修改时间
- Android开发:扫描本地音乐文件
- java两种获取时间方式
- C获取时间的两种方式
- Android 获取sdcard音乐文件
- Android 获取sdcard音乐文件
- android 扫描文件(sdcard添加新的音乐文件时候后,可扫描到)
- 两种文件修改的方式
- 文件路径两种获取方式
- 最新获取android源码方式
- 厚积薄发——JAVA之IO获取最新修改文件与创建文件时间
- Android 获取音乐文件的信息
- Android获取音乐文件的信息
- 获取Android媒体库中的音乐文件
- Android获取音乐文件的信息
- liunx 修改服务器时间的两种方式
- android获取Bitmap的两种方式
- Android两种方式获取网络数据
- 10个程序员必须学会接受的残酷真相
- VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 的解决方法
- 自动布局autolayout使用总结(源码含swift版本)
- 深入浅出学习正则表达式(一)(转 sema)
- 【HEVC学习与研究】38、HEVC编码过程中的块分割结构
- Android 扫描音乐文件、两种方式获取文件最新修改时间
- 黑马程序员一集合中遍历元素的三种方法
- ORACLE PL/SQL编程之六:把过程与函数说透
- IIS的https协议绑定操作的一个报错
- C++中的 template 类使用
- HTML解析利器HtmlAgilityPack
- Spring MVC简介
- 文件属性
- su - oracle和su oracle的区别