Как получить информацию из firebase

Как получить информацию из таблицы Организатора?

package com.example.edward.eventmanagementsystem.StartUpPage;

import android.app.ProgressDialog;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.example.edward.eventmanagementsystem.R;
import com.example.edward.eventmanagementsystem.StartUpPage.Organizer;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

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

public class MainActivity extends AppCompatActivity {

    //private Button button;
    Button loginButton;
    EditText editLogin, editPass;
    TextView registerLink;
    FirebaseUser user;
    String uid;
    List<String> itemList;
    DatabaseReference databaseReference;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();

        editLogin = findViewById(R.id.editLogin);
        editPass = findViewById(R.id.editPass);
        loginButton = (Button)findViewById(R.id.loginButton);
        registerLink = (TextView)findViewById(R.id.registerLink);

        user = FirebaseAuth.getInstance().getCurrentUser();
        uid = user.getUid();
        itemList = new ArrayList<>();


        loginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent MainMenu =  new Intent(MainActivity.this, com.example.edward.eventmanagementsystem.MainMenuPage.MainMenu.class);
                startActivity(MainMenu);
            }
        });

        registerLink.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent Register = new Intent(MainActivity.this,com.example.edward.eventmanagementsystem.StartUpPage.Register.class );
                startActivity(Register);
            }
        });




        // Init Database
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        final DatabaseReference table_user = database.getReference().child("Organizer").push(); //("Organizer");

        loginButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick (View view){

                final ProgressDialog mDialog = new ProgressDialog(MainActivity.this);
                mDialog.setMessage("Please waiting...");
                mDialog.show();

                table_user.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {

                        //check if user does't exists in database
                        if (dataSnapshot.child(editLogin.getText().toString()).exists()) {
                            //get organizer sign in information
                            mDialog.dismiss();
                            Organizer organizer = dataSnapshot.child(editLogin.getText().toString()).getValue(Organizer.class);

                            if (organizer.getPassword().equals(editPass.getText().toString())){
                                Toast.makeText(MainActivity.this, "Sign in successfully!", Toast.LENGTH_SHORT).show();
                                Intent MainMenu =  new Intent(MainActivity.this, com.example.edward.eventmanagementsystem.MainMenuPage.MainMenu.class);
                                startActivity(MainMenu);
                            }
                            else{
                                Toast.makeText(MainActivity.this, "Sign in failed!", Toast.LENGTH_SHORT).show();
                            }
                        }
                        else
                        {
                            Toast.makeText(MainActivity.this, "User not exists in database.", Toast.LENGTH_SHORT).show();
                        }


                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });
            }
        });

    }
}

У меня возникла проблема с получением данных из firebase. Как получить информацию для входа в систему из firebase.

Я видел сообщение от других, но все еще не смог успешно его принять.

с какой ошибкой вы столкнулись?

Ali Ahmed 11.10.2018 12:41

нет ошибки .... ха-ха

廖文俊Edward Liew 11.10.2018 12:50

теперь я изучаю, как получить информацию о пользователе

廖文俊Edward Liew 11.10.2018 12:51

попробуйте это, stackoverflow.com/questions/22626825/… Надеюсь на помощь.

chetan mahajan 11.10.2018 14:40

попробуйте это, stackoverflow.com/questions/22626825/… надеюсь на полную помощь.

chetan mahajan 11.10.2018 14:41
1
5
52
1

Ответы 1

Кажется, вы уже инициализировали FirebaseUser, используя

user = FirebaseAuth.getInstance().getCurrentUser();

При правильной аутентификации вы можете получить данные user с помощью различных методов, которые можно вызвать с помощью

user.getEmail();
user.getDisplayName();

Другие вопросы по теме