Skip to content

Instantly share code, notes, and snippets.

@crazy-diya
Last active August 7, 2020 06:49
Show Gist options
  • Save crazy-diya/e99f8b05cf5b855786cf45ef95ff2738 to your computer and use it in GitHub Desktop.
Save crazy-diya/e99f8b05cf5b855786cf45ef95ff2738 to your computer and use it in GitHub Desktop.
Easy way insert or upload only image in to fairbase database storge to in Android Studio Java
package com.example.learningfirebase;
import android.content.ContentResolver;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.webkit.MimeTypeMap;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.StorageTask;
import com.google.firebase.storage.UploadTask;
public class ImageStore extends AppCompatActivity {
Button load,save;
ImageView imageView;
ProgressBar progressBar;
StorageReference storageReference;
private StorageTask storageTask;;
public Uri imguri;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.store_image);
storageReference = FirebaseStorage.getInstance().getReference("Images");
load = (Button) findViewById(R.id.img_btn_load);
imageView = (ImageView) findViewById(R.id.imageView2);
save = (Button) findViewById(R.id.img_btn_save);
progressBar = (ProgressBar) findViewById(R.id.progressBar4);
progressBar.setVisibility(View.INVISIBLE);
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FileChooser();
}
});
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressBar.setVisibility(View.VISIBLE);
if (storageTask != null && storageTask.isInProgress()){
Toast.makeText(ImageStore.this, "Upload is Progress", Toast.LENGTH_SHORT).show();
}else{
FileUploader();
}
}
});
}
/**Start the image save to Firebase Storage in the database*/
private String getExtension(Uri uri){
ContentResolver contentResolver = getContentResolver(); //using for get the extention in image.
MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri));
}
private void FileUploader() {
storageTask = storageReference.child(System.currentTimeMillis()+"."+getExtension(imguri)).putFile(imguri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressBar.setVisibility(View.INVISIBLE);
Toast.makeText(ImageStore.this, "Image Uploaded Successfully!", Toast.LENGTH_SHORT).show();
}
});
}
/**End the image save to Firebase Storage in the database*/
/**Start Access the mobile file location for get the image and set the image into image view*/
private void FileChooser() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
//intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null && data.getData() != null)
{
imguri = data.getData();
imageView.setImageURI(imguri);
}
}
/**End Access the mobile file location for get the image and set the image into image view*/
}
@lasithadilshan
Copy link

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment