how can I download image on firebase storage?

后端 未结 5 518
难免孤独
难免孤独 2021-01-06 14:53

I want to download image on firebase storage in android app.

this is my image

I try this but it is not working

storageR         


        
5条回答
  •  庸人自扰
    2021-01-06 15:22

    package com.example.package.myfirestore;
    
    import android.app.ProgressDialog;
    import android.content.ContentResolver;
    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.net.Uri;
    import android.os.Bundle;
    import android.provider.MediaStore;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.webkit.MimeTypeMap;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import com.google.android.gms.tasks.OnFailureListener;
    import com.google.android.gms.tasks.OnSuccessListener;
    import com.google.firebase.firestore.FirebaseFirestore;
    import com.google.firebase.storage.FirebaseStorage;
    import com.google.firebase.storage.OnProgressListener;
    import com.google.firebase.storage.StorageReference;
    import com.google.firebase.storage.UploadTask;
    
    import java.io.IOException;
    import java.net.URI;
    
    /**
     * Created by Yeshveer on 6/9/2018.
     */
    
    public class UploadImg extends AppCompatActivity{
        private TextView textView1;
        private ImageView img1;
        private EditText edittext1;
        private Button Btn1;
        private Button Btn2;
        int Image_requestcode=7;
        ProgressDialog pd;
        Uri filpath;
        FirebaseStorage storage1;
        StorageReference storageReference;
        StorageReference storageReference2;
        FirebaseFirestore db;
    
      FirebaseStorage storage;
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            textView1 = (TextView) findViewById(R.id.textView1);
            img1 = (ImageView) findViewById(R.id.img1);
            edittext1 = (EditText) findViewById(R.id.edittext1);
            Btn1 = (Button) findViewById(R.id.Btn1);
            Btn2 = (Button) findViewById(R.id.Btn2);
    
            // Create Storage Referece
            storage1=FirebaseStorage.getInstance();
            storageReference = storage1.getReference();
    
            //PD details
            pd=new ProgressDialog(this);
            pd.setTitle("Uploading Image");
    
    
    
    // Image Chooser
            Btn1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // Creating Intent
                    Intent intent = new Intent();
    
                    //Setting Intent of Image type and select Image from Mobile Storage
                    intent.setType("image/*");
                    intent.setAction(Intent.ACTION_GET_CONTENT);
                    startActivityForResult(Intent.createChooser(intent, "Please Select Image"), Image_requestcode);
                }
            });
    
            Btn2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    UploadingStart();
                }
            });
        }
    
        private void UploadingStart() {
            // Image path Print
    
            textView1.setText(GetFileExtension(filpath));
            pd.show();
            storageReference2=storageReference.child("images/"+"hello"+"."+GetFileExtension(filpath));
            storageReference2.putFile(filpath)
                    .addOnSuccessListener(new OnSuccessListener() {
                        @Override
                        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                            pd.dismiss();
                            Toast.makeText(UploadImg.this, "Uploaded Successfully", Toast.LENGTH_SHORT).show();
                        }
                    })
                    .addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            pd.dismiss();
                            Toast.makeText(UploadImg.this, "Error in Uploading, Please check Internet connection", Toast.LENGTH_SHORT).show();
                        }
                    })
                    .addOnProgressListener(new OnProgressListener() {
                        @Override
                        public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                            double progress=(100.0* taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount());
                            pd.setMessage("Progress is "+(int)progress+"%");
                        }
                    });
    
    
    
        }
    
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
    
            if(requestCode==Image_requestcode && resultCode==RESULT_OK && data != null && data.getData() != null){
                filpath=data.getData();
    
                try {
                    // Image content resolver
                    Bitmap bitmap= MediaStore.Images.Media.getBitmap(getContentResolver(),filpath);
                    img1.setImageBitmap(bitmap);
    
    
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
    
            }
        }
    
    
    
        // Method for file etention and path
        public String GetFileExtension(Uri uri){
            ContentResolver contentResolver=getContentResolver();
            MimeTypeMap mimeTypeMap=MimeTypeMap.getSingleton();
    
            // Return file Extension
            return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri));
    
        }
    
    }
    

提交回复
热议问题