当前位置: 首页 > 工具软件 > PRDownloader > 使用案例 >

PRDownloader(下载文件显示进度条)和弹窗

贺博厚
2023-12-01

PRDownloader

配置

implementation 'com.mindorks.android:prdownloader:0.6.0'

权限

	//静态权限
	<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    //动态权限
    if (Build.VERSION.SDK_INT>=23){
            requestPermissions(new String[]{
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE
            },100);
        }

初始化

重点记得在清单文件的添加app

public class app extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setDatabaseEnabled(true)
                .build();
        PRDownloader.initialize(this, config);
    }
}

使用

 int downloadId = PRDownloader.download("http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg", "/sdcard/Download", "aa.jpg")
                .build()
                //开始
                .setOnStartOrResumeListener(new OnStartOrResumeListener() {
                    @Override
                    public void onStartOrResume() {
                        bar.setVisibility(View.VISIBLE);
                    }
                })
                //进度
                .setOnProgressListener(new OnProgressListener() {
                    @Override
                    public void onProgress(Progress progress) {

                        long l = progress.currentBytes * 100 / progress.totalBytes;
                        Log.i("zx", "onProgress: "+l);
                        bar.setProgress((int) l);


                    }
                })
                .start(new OnDownloadListener() {
                    @Override
                    public void onDownloadComplete() {

                    }

                    @Override
                    public void onError(Error error) {
                        Log.i("zx", "onError: "+error.getServerErrorMessage());
                    }
                });
                //暂停下载PRDownloader.pause(downloadId);
                //恢复下载PRDownloader.resume(downloadId);
				//取消下载PRDownloader.cancel(downloadId);

弹窗

implementation 'top.littlefogcat.easydanmaku:easydanmaku:0.1.3'
  // 获得DanmakuManager单例
    DanmakuManager dm = DanmakuManager.getInstance();
    
    // 设置一个FrameLayout为弹幕容器
    FrameLayout container = findViewById(R.id.container);
    dm.init(this,container);
    dm.setDanmakuContainer(container);
   
    // 发送弹幕
    Danmaku danmaku = new Danmaku();
    danmaku.text = "666"; 
    dm.send(danmaku);
 类似资料: