Android开发教程下载网络图片到相册
下载网络图片到相册,还要适配各种机型,不容易
一、思路:
用HttpURLConnection下载图片,用contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)刷新到图库/相册
二、效果图:
三、关键代码:
public class MainActivity extends AppCompatActivity {
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
String imageHttpUrl = "https://i0.hdslb.com/bfs/article/ae851244f701be6b50c748d2ed7a862115336e38.jpg";
findViewById(R.id.tv_start_down).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
String path = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q ?
getSandboxPath(mContext,"invite_img") : Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/xianghui/invite_img";
ImageUtils.saveImageTask(
mContext,
imageHttpUrl,
path,
"inviteImg",
"保存成功"
);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public String getSandboxPath(Context mContext,String pathDir){
String pathStr = "";
File file = new File(mContext.getExternalFilesDir("").getAbsolutePath(),pathDir);
if (!file.exists()){
file.mkdirs();
}
pathStr = file.getAbsolutePath();
return pathStr;
}
}
四、项目demo源码结构图:
有问题或者需要完整源码demo的可以看简介联系我,也可以私信我,我每天都看私信的