Android Firebase Storage Example
Hola amigos en esta ocasión les traemos un tutorial para subir imágenes en Firebase.Como crear un proyecto en Android (Aquí)
Vamos a crear nuestro proyecto en Android para desarrollar este ejemplo de como subir una imagen a Firebase.Registrar aplicación en Firebase
Vamos a registrar nuestra aplicación y la vamos a configurar.Crear diseño de la aplicación Storage Firebase
Vamos crear nuestra aplicación y agregaremos los siguientes controles en nuestro diseño del activity_main.xml.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Elegir Imagen"
android:id="@+id/elegirImg"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Subir Imagen"
android:id="@+id/subirImg"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/imgView"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
Nos quedaría así.Código de MainActivity de Storage Firebase
Vamos a agregar el código para nuestra aplicación y que podamos subir las imágenes a nuestro Firebase.
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
public class MainActivity extends AppCompatActivity {
Button elegirImg, subirImg;
ImageView imagenView;
int PICK_IMAGE_REQUEST = 111;
Uri filePath;
ProgressDialog pd;
//creating reference to firebase storage
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://recestascatrachasapp.appspot.com"); //change the url according to your firebase app
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
elegirImg = (Button)findViewById(R.id.elegirImg);
subirImg = (Button)findViewById(R.id.subirImg);
imagenView = (ImageView)findViewById(R.id.imgView);
pd = new ProgressDialog(this);
pd.setMessage("Subiendo....");
elegirImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
//intent.setAction(Intent.ACTION_PICK);
startActivityForResult(Intent.createChooser(intent, "Seleccionar Imagen"), PICK_IMAGE_REQUEST);
}
});
subirImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(filePath != null) {
pd.show();
StorageReference childRef = storageRef.child("image.jpg");
//uploading the image
UploadTask uploadTask = childRef.putFile(filePath);
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
pd.dismiss();
Toast.makeText(MainActivity.this, "Subida exitosamente", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
pd.dismiss();
Toast.makeText(MainActivity.this, "Problema al subir -> " + e, Toast.LENGTH_SHORT).show();
}
});
}
else {
Toast.makeText(MainActivity.this, "Seleccionar una imagen", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
filePath = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imagenView.setImageBitmap(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Y listo ahora verificaremos nuestra aplicación.
Como crear un emulador AVD en Android(Aquí)
Vamos a crear un emulador para ver nuestra aplicación en ejecución.Y con esto tendríamos lista nuestra aplicación. Gracias cualquier duda déjanos tu comentario.

gracias por este tutorial. Los botones no encuentran los metodos!!: estoy con la ultima version de Android studio.
ResponderEliminar