您好,登錄后才能下訂單哦!
本文介紹了Glide實現超簡單的圖片下載功能,具體步驟如下:
添加依賴
compile 'com.github.bumptech.glide:glide:3.7.0'
添加權限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
工具類代碼
public class SDFileHelper { private Context context; public SDFileHelper() { } public SDFileHelper(Context context) { super(); this.context = context; } //Glide保存圖片 public void savePicture(final String fileName, String url){ Glide.with(context).load(url).asBitmap().toBytes().into(new SimpleTarget<byte[]>() { @Override public void onResourceReady(byte[] bytes, GlideAnimation<? super byte[]> glideAnimation) { try { savaFileToSD(fileName,bytes); } catch (Exception e) { e.printStackTrace(); } } }); } //往SD卡寫入文件的方法 public void savaFileToSD(String filename, byte[] bytes) throws Exception { //如果手機已插入sd卡,且app具有讀寫sd卡的權限 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { String filePath = Environment.getExternalStorageDirectory().getCanonicalPath()+"/budejie"; File dir1 = new File(filePath); if (!dir1.exists()){ dir1.mkdirs(); } filename = filePath+ "/" + filename; //這里就不要用openFileOutput了,那個是往手機內存中寫數據的 FileOutputStream output = new FileOutputStream(filename); output.write(bytes); //將bytes寫入到輸出流中 output.close(); //關閉輸出流 Toast.makeText(context, "圖片已成功保存到"+filePath, Toast.LENGTH_SHORT).show(); } else Toast.makeText(context, "SD卡不存在或者不可讀寫", Toast.LENGTH_SHORT).show(); } }
然后再需要的地方調用
SDFileHelper helper = new SDFileHelper(MainActivity.this); helper.savePicture("bg.jpg",url);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。