2017-08-24 11 views
0

私はfirebase storageから私の画像のダウンロード可能なuriを持っています。ボタンをクリックすると、イメージを自分の電話機にダウンロードします。私は完全なコードを書いたが、それをクリックすると何も起こらない。firebaseからimageuriから画像をダウンロードするにはダウンロード可能なuri

は私がgetIntent()で画像のURIを持つgetStringExtraを( "イメージ")

button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // new DownloadImage().execute(getIntent().getStringExtra("Image")); 

       Toast.makeText(getApplicationContext(), "Hi", Toast.LENGTH_SHORT).show(); 

       String root = Environment.getExternalStorageDirectory().toString(); 
       File myDir = new File(root + "/saved_images"); 
       myDir.mkdirs(); 
       Random generator = new Random(); 
       int n = 10000; 
       n = generator.nextInt(n); 
       String fname = "Image-"+ n +".jpg"; 
       File file = new File (myDir, fname); 
       if (file.exists()) file.delete(); 
       try { 
        Bitmap bitmap = Glide.with(getApplicationContext()).load(getIntent().getStringExtra("Image")).asBitmap().into(100, 100).get(); 
        FileOutputStream out = new FileOutputStream(file); 
        bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); 
        out.flush(); 
        out.close(); 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 

      } 
     }); 
+0

コンソールで何らかのエラーが発生しましたか?IOスレッドで動作させる必要があります。 –

答えて

0

考慮すると、あなたのgetIntent().getStringExtra("Image")画像ウリは、あなたが使用することができました:。

Glide 
.with(getApplicationContext()) 
.load(getIntent().getStringExtra("Image")) 
.asBitmap() 
.into(new SimpleTarget<Bitmap>(100,100) { 
    @Override 
    public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) { 
     //Now save this resource 
    } 
}); 

注:でこの場合、正確なサイズを指定する必要があります(1未満は受け付けません)

関連する問題