Android开发教程下载网络视频到相册
下载网络视频,并且刷新到相册里面
一、思路:
用okHttpClient下载,用contentResolver.insert刷新到相册
二、效果图:
三、关键代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv_start_down_progress = findViewById(R.id.tv_start_down_progress);
findViewById(R.id.tv_start_down).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DownloadNewUtil.get().download(MainActivity.this,"https://staticzx.imliaotian.xyz/202305/wx/upload/video/81/5431/1196127/88174180/74541387548/28/085624/1655738456258781184.mp4", "myVideo", System.currentTimeMillis() + ".mp4",true, new DownloadNewUtil.OnDownloadListener() {
@Override
public void onDownloadSuccess(File file) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"保存成功",Toast.LENGTH_LONG).show();
}
});
Log.i("download1","onDownloadSuccess");
}
@Override
public void onDownloading(int progress) {
runOnUiThread(new Runnable() {
@Override
public void run() {
// Looper.prepare();
tv_start_down_progress.setText("进度"+progress);
// Looper.loop();
}
});
Log.i("download1",progress+"\t");
}
@Override
public void onDownloadFailed(Exception e) {
e.printStackTrace();
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"保存失败",Toast.LENGTH_LONG).show();
}
});
Log.i("download1","onDownloadFailed");
}
});
}
});
}
}
四、项目demo源码结构图:
有问题或者需要完整源码demo的可以看简介联系我,也可以私信我,我每天都看私信的