Skip to content

Instantly share code, notes, and snippets.

@dynoChris
Created October 1, 2020 01:56
Show Gist options
  • Save dynoChris/75ef4c6b342496cdf89fd91f59d08e42 to your computer and use it in GitHub Desktop.
Save dynoChris/75ef4c6b342496cdf89fd91f59d08e42 to your computer and use it in GitHub Desktop.
How to add multiple data to Firestore | Batched Writes (Android)
package com.oliverstudio.firestoreadmintest1;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.WriteBatch;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
private Button mWriteButton;
private ProgressBar mProgressBar;
private FirebaseFirestore mDB;
private CollectionReference mCollectionRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
mDB = FirebaseFirestore.getInstance();
mCollectionRef = mDB.collection("users");
mWriteButton.setOnClickListener(view -> {
showProgressBar(true);
WriteBatch batch = mDB.batch();
for (int i = 0; i < 100; i++) {
batch.set(mCollectionRef.document(), new Character("Name" + i, new Random().nextInt(100)));
}
batch.commit().addOnSuccessListener(aVoid -> {
showProgressBar(false);
}).addOnFailureListener(e -> {
showProgressBar(false);
});
});
}
private void showProgressBar(boolean show) {
if (show) {
mWriteButton.setVisibility(View.GONE);
mProgressBar.setVisibility(View.VISIBLE);
} else {
mProgressBar.setVisibility(View.GONE);
mWriteButton.setVisibility(View.VISIBLE);
}
}
private void initViews() {
mWriteButton = findViewById(R.id.write_btn);
mProgressBar = findViewById(R.id.progress_bar);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment