Android Firestore document data show on listview

  1. Connect Your Project with Firebase Firestore . follow link https://olee.tech.blog/2019/05/22/android-connect-with-firebase/
  2. Add Internet Permission.
<uses-permission android:name="android.permission.INTERNET" />

3.update activityshowlist.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    android:layout_height="match_parent"
    tools:context=".Showlist">


    <Button
        android:id="@+id/alldata"
        android:text="Alldata"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></ListView>
</LinearLayout>

4.Update Showlist.java

package olee.tech.ngo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.EventListener;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.FirebaseFirestoreException;
import com.google.firebase.firestore.QuerySnapshot;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Nullable;

public class Showlist extends AppCompatActivity {
private ListView list;
private Button alldata;
private List<String> mylist =new ArrayList<String>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_showlist);

        list=findViewById(R.id.list);
        alldata=findViewById(R.id.alldata);
        final FirebaseFirestore db= FirebaseFirestore.getInstance();

        alldata.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            db.collection("users").addSnapshotListener(new EventListener<QuerySnapshot>() {
                @Override
                public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
                    mylist.clear();
                    for (DocumentSnapshot documentSnapshot:queryDocumentSnapshots){
                        mylist.add(documentSnapshot.getString("name"));
                    }

                    ArrayAdapter arrayAdapter = new ArrayAdapter(getApplicationContext(),android.R.layout.simple_list_item_1,mylist);
                    list.setAdapter(arrayAdapter);

                }
            });

            }
        });
    }
}

Android FireStore single Docuent Crud

  1. Connect Your Project with Firebase Firestore . follow link https://olee.tech.blog/2019/05/22/android-connect-with-firebase/
  2. Add Internet Permission.
    <uses-permission android:name="android.permission.INTERNET" />
  1. Update activity.main.xml file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

<EditText
    android:id="@+id/name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/singledatatextview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:text="add"
        android:id="@+id/add"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/showdata"
        android:text="Show Data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/update"
        android:text="Update Data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/delete"
        android:text="Delete"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/alldata"
        android:text="alladata"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
  1. Update Mainactivity.java.
package olee.tech.ngo;

import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.EventListener;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.FirebaseFirestoreException;
import com.google.firebase.firestore.QuerySnapshot;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Nullable;

public class MainActivity extends AppCompatActivity {
    private Map <String,Object> user = new HashMap<String, Object>();
    private EditText name,age;
    private TextView singledatatextview;
    private Button add,showdata,update,delete,alldata;

    // Define Database Class Variable;
    private FirebaseFirestore myDb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        singledatatextview=findViewById(R.id.singledatatextview);
        name=findViewById(R.id.name);
        add=findViewById(R.id.add);
        update=findViewById(R.id.update);
        delete=findViewById(R.id.delete);
        alldata=findViewById(R.id.alldata);
        alldata.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Showlist.class);
                startActivity(intent);
            }
        });


        showdata=findViewById(R.id.showdata);
        myDb=FirebaseFirestore.getInstance();

        update.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String username=name.getText().toString().trim();
                if (!TextUtils.isEmpty(username)){
                    myDb.collection("users").document("cMmiI2O580raRoX34OGc").update("name",username).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            name.setText("");
                            Toast.makeText(getApplicationContext(),"update successfull",Toast.LENGTH_SHORT).show();
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {

                        }
                    });

                }

            }
        });

        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username=name.getText().toString().trim();
                if (!TextUtils.isEmpty(username)){
                        user.put("name",username);

                    myDb.collection("users").document().set(user).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            name.setText("");
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {

                        }
                    });
                }
                else {
                    name.setError("please Filled The Input");

                }




            }
        });




        showdata.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DocumentReference documentReference = myDb.collection("users").document("cMmiI2O580raRoX34OGc");
                documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                        if (task.isSuccessful()){
                            DocumentSnapshot documentSnapshot=task.getResult();
                            if (documentSnapshot.exists()){
                                StringBuilder stringBuilder = new StringBuilder("");
                                stringBuilder.append("name").append(documentSnapshot.get("name"));
                                singledatatextview.setText(stringBuilder.toString());
                            }
                        }
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {

                    }
                });


            }
        });

        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DocumentReference documentReference= myDb.collection("users").document("cMmiI2O580raRoX34OGc");
                documentReference.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {
                        Toast.makeText(getApplicationContext(),"delete Successfull",Toast.LENGTH_SHORT).show();

                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {

                    }
                });
            }
        });

            }

        }

Android FireBase Firestore Add Data

  1. After Connect To Firebase Follow This Tutorial https://olee.tech.blog/2019/05/22/android-connect-with-firebase/
  2. Go to Database Section And Create Database then Android Coding Section

How To Add Data To Fire Store.

Before Work Add Internet Permission In Manifest File.

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
  • Define Edittext And Button In Main Activity.xml
   <EditText
       android:id="@+id/name"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />

   <EditText
       android:id="@+id/age"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />

<Button
    android:text="Add"
    android:id="@+id/add"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

Goto Mainactivity.java And Doone This Work

Define Variable Before OnCreate Methode

    private EditText name,age;
    private Button add;
    // Define Database Class Variable;
private FirebaseFirestore myDb;

Find Edittext And Button And Set Button Listerine And Add Data

        name = findViewById(R.id.name);
        age = findViewById(R.id.age);
        add = findViewById(R.id.add);
        // To Get Access The Database
        myDb= FirebaseFirestore.getInstance();
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Map data = new HashMap();
                data.put("name",name.getText().toString());
                data.put("age",age.getText().toString());
                // You Can Use Auto Generated Number For This Collection
                myDb.collection("User").document("userdefine").set(data);
                myDb.collection("User").add(data).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                    @Override
                    public void onSuccess(DocumentReference documentReference) {
                        Toast.makeText(getApplicationContext(),"Data Inserted Successfull",Toast.LENGTH_SHORT).show();
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(getApplicationContext(),"Data Inserted UnSuccessfull",Toast.LENGTH_SHORT).show();

                    }
                });
            }
        });