扫描指定位置的指定文件

import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.net.Uri;
import android.util.Log;


/**
* Forces mp3 file scan on a downloaded file and adds it to the Android MusicPlayer's
* library

* @author Lukasz Wisniewski
*/
public class MediaScannerNotifier implements MediaScannerConnectionClient{
        
    private MediaScannerConnection mConnection;
    private DownloadJob mDownloadJob;
    private DownloadService mService;
    static private int mScannedFilesInProgress = 0;


        public MediaScannerNotifier(DownloadService service, DownloadJob job) {
                mDownloadJob = job;
                mService = service;
                mConnection = new MediaScannerConnection(mService, this);
                mConnection.connect();
        } 


        @Override
        public void onMediaScannerConnected() {
                //String path = mDownloadJob.getDestination();
                String path = DownloadHelper.getAbsolutePath(mDownloadJob.getPlaylistEntry(), mDownloadJob.getDestination());
                String fileName = DownloadHelper.getFileName(mDownloadJob.getPlaylistEntry(), mDownloadJob.getFormat());
                Log.i(JamendoApplication.TAG, "Adding to media library -> "+fileName);                
                if(mConnection.isConnected())
                {
                        mConnection.scanFile(path+"/"+fileName, null);
                        mScannedFilesInProgress++;                        
                }
                


        }


        @Override
        public void onScanCompleted(String text, Uri uri) {
                Log.i(JamendoApplication.TAG, "Added to media library -> "+uri.toString());
                
                mScannedFilesInProgress--;
                mConnection.disconnect();
                
                // stop service if there is no downloads left
                if(mScannedFilesInProgress == 0){
                        mService.notifyScanCompleted();
                }
        }


}
中文版目录总汇及内容提要 第一章. 企业应用中的作业调度 内容提要:什么是作业调度,作业调度为什么说是重要的,企业应用中的作业调度,非企业应用中的作业调度,作业调度与工作流,关于作业调度其他可选择方案 第二章. Quartz 起步 内容提要:本章对 Quartz 框架一个快速的入门介绍,同时也大略指导你从哪里下载,构建和安装这个框架 第三章. Hello Quartz (第一部分) 内容提要:建立 Hello Quartz 工程,并创建一个 Quartz Job 类 ScanDirectoryJob. 第三章. Hello Quartz (第二部分) 内容提要:创建一个 Quartz Scheduler,关联上一个 Quartz Trigger 以编程方式调度前面编写的 ScanDirectoryJob 运行。 第三章. Hello Quartz (第三部分) 内容提要:通过配置 quartz.properties、quartz_jobs.xml 以声明的方式调度 ScanDirectoryJob 运行。 第三章. Hello Quartz (第四部分) 内容提要:让我们最后简单讨论打包一个用到了 Quarts 框架的应用程序的流程,需要依赖于哪些包,也以此来结束本章的内容。 第四章. 部署 Job (第一部分) 内容提要:介绍 Scheduler 和 SchedulerFactory 有哪些类型、SchedulerFactory 的关键 API 方法;以及如何通过 java.util.Properties 实例或默认 quartz.properties 文件创建 Scheduler。 第四章. 部署 Job (第二部分) 内容提要:如何管理 Scheduler(启动、停止、Standby 模式)。还介绍了 Job、JobExecutionContext、JobDetail、JobDataMap,及如何访问 JobDataMap 中的数据。有状态和无状态的 Job。 第四章. 部署 Job (第三部分) 内容提要:Job 的易失性、持久性和可恢复性,如何从 Scheduler 中移除、中断 Job。Quartz 已为我们提供了哪些 Job。最后是 Java 线程的简单介绍。 第四章. 部署 Job (第四部分) 内容提要:线程在 Quartz 中的用法,主处理线程:QuartzSchedulerThread 和 Quartz 工作者线程。Quartz Trigger 和 Calendar 各有哪些类型和如何使用。 第五章. Cron 触发器及相关内容 (第一部分) 内容提要:引入 Quartz CronTrigger 及简单使用 CronTrigger 来部署一个 Job 第五章. Cron 触发器及相关内容 (第二部分) 内容提要:详细介绍了 cron 表达式的格式和像 , - * ? / L W C # 特殊符号的使用 第五章. Cron 触发器及相关内容 (第三部分) 内容提要:CronTrigger 使用起(startTime) 迄(endTime) 日期的使用。TriggerUtils 简单方便的创建 Trigger。应用 JobInitializationPlugin 在 quartz_jobs.xml 配置文件中写 Cron 表达式。 第五章. Cron 触发器及相关内容 (第四部分) 内容提要:Cron 表达式 Cookbook,列举了各种 Cron 表达式的写法和意义,有助于更好的理解 Cron 表达式;还用了 TriggerUtils 创建了一个即刻触发的 Trigger。 第六章. Job 存储和持久化 (第一部分) 内容提要:介绍 Quartz 中的 Job 存储,JobStore 接口相关 API 方法。使用 RAMJobStore 来实现 Job 存储及它的优缺点。 第六章. Job 存储和持久化 (第二部分) 内容提要:使用持久性的 JobStore,可用类型 JobStoreTX 和 JobStoreCMT。持久性 JobStore 是通过数据库来完成的,哪可支持哪些数据及需要创建些什么表。 第六章. Job 存储和持久化 (第三部分) 内容提要:使用和配置 JobStoreTX,需要为不同数据库平台指定不同的驱动代理( DriverDelegate),和 quartz.properties 中与 JobStoreTX 相关配置说明。 第六章. Job 存储和持久化 (第四部分) 内容提要:为 JobStoreTX 通过在 quartz.properties 配置来创建数据源,并在 Scheduler 中使用数据源 第六章. Job 存储和持久化 (第五部分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值