我在我的應用程序中顯示圖像,我想在用戶點擊每個圖像後添加下載按鈕,圖像將自動保存到文件夾。可能嗎?直接從Android活動下載圖像
0
A
回答
0
您可以使用Picasso庫來顯示圖像。在您的build.gradle依賴,加入這個下面的代碼:
compile 'com.squareup.picasso:picasso:2.4.0'
現在用這個來顯示圖像,您可以將按鈕的onClick()方法中添加以下代碼。
File file = new File(imagePath);
if(file.exists()) {
Picasso.with(context).load(file).skipMemoryCache().placeholder(R.drawable.placeholder).into(yourImageView);
}
else {
Picasso.with(context).load(imageUrl).skipMemoryCache().placeholder(R.drawable.placeholder).into(yourImageView, new PicassoCallBack(yourImageView,imagePath));
}
的picassoCallBack類將是這樣的:
public class PicassoCallBack extends Callback.EmptyCallback {
ImageView imageView;
String filename;
public PicassoCallBack(ImageView imageView, String filename) {
this.imageView = imageView;
this.filename = filename;
}
@Override public void onSuccess() {
// Log.e("picasso", "success");
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
try {
ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos1);
// FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);
File file = new File(filename);
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(baos1.toByteArray());
outStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onError() {
Log.e("picasso", "error");
}
}
希望它會做你的工作。
0
如果你已經保存在您的應用程序文件,將它複製到這個公用文件夾 File imagePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
然後使用該技術提供here掃描圖片中的畫廊。現在當用戶打開圖庫時,他們會看到圖片。
0
private static void persistImage(Bitmap bitmap, String name) {
File filesDir = getAppContext().getFilesDir();
File imageFile = new File(filesDir, name + ".jpg");
OutputStream os;
try {
os = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
os.flush();
os.close();
} catch (Exception e) {
Log.e(getClass().getSimpleName(), "Error writing bitmap", e);
}
}
0
可以使用滑翔下載圖像,我認爲這是更好然後畢加索因爲它擴展爲picasso.and更多信息,請參閱https://github.com/bumptech/glide。 這個,你只需要包括compile 'com.github.bumptech.glide:glide:3.6.1'
到依賴,然後簡單地添加此行代碼
Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);`
其中http://goo.gl/gEgYUd
是URL使用這個你沒有保持高速緩存後pass.and。
享受您的代碼:)
0
我試圖Universal Image Loader而Picasso之前。 你看到你需要一個巫婆就夠了。 也有更好的決定閱讀this one和this one。 它可以幫助你:
相關問題
- 1. 直接從鏈接下載圖片
- 2. 將圖像直接下載到相冊
- 3. 從quickblox下載圖像android
- 4. 從C#中的直接身份驗證鏈接下載圖像
- 5. 直接從url下載圖片
- 6. Android下載圖像
- 7. Android圖像下載
- 8. 下載圖像並在android的活動中顯示
- 9. 直接在Eclipse中啓動Android活動
- 10. 從網站.vcs下載日曆活動到Android下載
- 11. 從android通用圖像加載器下載圖像流
- 12. 從Android中的線程下載圖像
- 13. 關於從Android下載圖像
- 14. Android ViewPager:從URL下載圖像
- 15. 從服務器下載Android圖像?
- 16. 從URL序列下載Android圖像?
- 17. 如何在android webview中直接下載鏈接下載文件
- 18. 在Android上監控WIFI直接活動
- 19. 如何運行活動指示器直到下載圖像完成
- 20. 圖像鏈接不下載圖像
- 21. 自動從服務器下載圖像
- 22. 從url下載圖像到UIImageVIew動態
- 23. android下載/緩存圖像
- 24. 下載圖像 - Android電子
- 25. 在android中下載圖像
- 26. 下載圖像在Android
- 27. 直接鏈接到活動
- 28. 圖像下載鏈接 - OpenERP
- 29. 如何運行活動指標直到下載圖片?
- 30. 活動指示器直到加載下一個視圖
均來自互聯網或您的應用程序中的圖像? – geokavel
這些圖像來自哪裏?它來自服務器還是您的應用程序? –