Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中使用firebase登录_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

在Android中使用firebase登录

在Android中使用firebase登录,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,在你的应用中创建两个用于登录和注册的活动,并继续尝试。确保你的应用已启用firebase连接。谢谢,这里是登录活动的代码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); register = (TextView)findViewById(R.

在你的应用中创建两个用于登录和注册的活动,并继续尝试。确保你的应用已启用firebase连接。谢谢,这里是登录活动的代码

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

    register = (TextView)findViewById(R.id.register);
    username = (EditText)findViewById(R.id.username);
    password = (EditText)findViewById(R.id.password);
    loginButton = (Button)findViewById(R.id.loginButton);

    register.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(Login.this, Register.class));
        }
    });

    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            user = username.getText().toString();
            pass = password.getText().toString();

            if(user.equals("")){
                username.setError("can't be blank");
            }
            else if(pass.equals("")){
                password.setError("can't be blank");
            }
            else{
                String url = "https://fireapp-ae761.firebaseio.com/users.json";
                final ProgressDialog pd = new ProgressDialog(Login.this);
                pd.setMessage("Loading...");
                pd.show();

                StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
                    @Override
                    public void onResponse(String s) {
                        if(s.equals("null")){
                            Toast.makeText(Login.this, "user not found", Toast.LENGTH_LONG).show();
                        }
                        else{
                            try {
                                JSONObject obj = new JSONObject(s);

                                if(!obj.has(user)){
                                    Toast.makeText(Login.this, "user not found", Toast.LENGTH_LONG).show();
                                }
                                else if(obj.getJSONObject(user).getString("password").equals(pass)){
                                    UserDetails.username = user;
                                    UserDetails.password = pass;
                                    startActivity(new Intent(Login.this,FirebaseNewActivity.class));
                                }
                                else {
                                    Toast.makeText(Login.this, "incorrect password", Toast.LENGTH_LONG).show();
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }

                        pd.dismiss();
                    }
                },new Response.ErrorListener(){
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        System.out.println("" + volleyError);
                        pd.dismiss();
                    }
                });

                RequestQueue rQueue = Volley.newRequestQueue(Login.this);
                rQueue.add(request);
            }

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

    username = (EditText)findViewById(R.id.username);
    password = (EditText)findViewById(R.id.password);
    registerButton = (Button)findViewById(R.id.registerButton);
    login = (TextView)findViewById(R.id.login);

    Firebase.setAndroidContext(this);

    login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(Register.this, Login.class));
        }
    });

    registerButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            user = username.getText().toString();
            pass = password.getText().toString();

            if(user.equals("")){
                username.setError("can't be blank");
            }
            else if(pass.equals("")){
                password.setError("can't be blank");
            }
            else if(!user.matches("[A-Za-z0-9]+")){
                username.setError("only alphabet or number allowed");
            }
            else if(user.length()<5){
                username.setError("at least 5 characters long");
            }
            else if(pass.length()<5){
                password.setError("at least 5 characters long");
            }
            else {
                final ProgressDialog pd = new ProgressDialog(Register.this);
                pd.setMessage("Loading...");
                pd.show();

                String url = "https://fireapp-ae761.firebaseio.com/users.json";

                StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
                    @Override
                    public void onResponse(String s) {
                        Firebase reference = new Firebase("https://fireapp-ae761.firebaseio.com/users");

                        if(s.equals("null")) {
                            reference.child(user).child("password").setValue(pass);
                            Toast.makeText(Register.this, "registration successful", Toast.LENGTH_LONG).show();
                        }
                        else {
                            try {
                                JSONObject obj = new JSONObject(s);

                                if (!obj.has(user)) {
                                    reference.child(user).child("password").setValue(pass);
                                    Toast.makeText(Register.this, "registration successful", Toast.LENGTH_LONG).show();
                                } else {
                                    Toast.makeText(Register.this, "username already exists", Toast.LENGTH_LONG).show();
                                }

                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }

                        pd.dismiss();
                    }

                },new Response.ErrorListener(){
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        System.out.println("" + volleyError );
                        pd.dismiss();
                    }
                });

                RequestQueue rQueue = Volley.newRequestQueue(Register.this);
                rQueue.add(request);
            }
        }
    });
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u登录);
寄存器=(TextView)findViewById(R.id.register);
用户名=(EditText)findViewById(R.id.username);
密码=(EditText)findViewById(R.id.password);
loginButton=(按钮)findViewById(R.id.loginButton);
register.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
startActivity(新意图(Login.this、Register.class));
}
});
loginButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
user=username.getText().toString();
pass=password.getText().toString();
if(user.equals(“”){
username.setError(“不能为空”);
}
else if(pass.equals(“”){
password.setError(“不能为空”);
}
否则{
字符串url=”https://fireapp-ae761.firebaseio.com/users.json";
final ProgressDialog pd=新建ProgressDialog(Login.this);
pd.setMessage(“加载…”);
pd.show();
StringRequest=newStringRequest(request.Method.GET,url,new Response.Listener()){
@凌驾
公共void onResponse(字符串s){
如果(s.equals(“null”)){
Toast.makeText(Login.this,“未找到用户”,Toast.LENGTH_LONG.show();
}
否则{
试一试{
JSONObject obj=新的JSONObject;
如果(!obj.has(用户)){
Toast.makeText(Login.this,“未找到用户”,Toast.LENGTH_LONG.show();
}
else if(obj.getJSONObject(user.getString(“密码”).equals(pass)){
UserDetails.username=用户;
UserDetails.password=pass;
startActivity(新意图(Login.this,FirebaseNewActivity.class));
}
否则{
Toast.makeText(Login.this,“密码不正确”,Toast.LENGTH_LONG.show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
pd.解散();
}
},new Response.ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
System.out.println(““+截击错误”);
pd.解散();
}
});
RequestQueue rQueue=Volley.newRequestQueue(Login.this);
rQueue.add(请求);
}
}
});
}
}

在这里注册活动,你们必须在你们的版面中为你们的每个活动添加编辑文本和按钮

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

    register = (TextView)findViewById(R.id.register);
    username = (EditText)findViewById(R.id.username);
    password = (EditText)findViewById(R.id.password);
    loginButton = (Button)findViewById(R.id.loginButton);

    register.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(Login.this, Register.class));
        }
    });

    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            user = username.getText().toString();
            pass = password.getText().toString();

            if(user.equals("")){
                username.setError("can't be blank");
            }
            else if(pass.equals("")){
                password.setError("can't be blank");
            }
            else{
                String url = "https://fireapp-ae761.firebaseio.com/users.json";
                final ProgressDialog pd = new ProgressDialog(Login.this);
                pd.setMessage("Loading...");
                pd.show();

                StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
                    @Override
                    public void onResponse(String s) {
                        if(s.equals("null")){
                            Toast.makeText(Login.this, "user not found", Toast.LENGTH_LONG).show();
                        }
                        else{
                            try {
                                JSONObject obj = new JSONObject(s);

                                if(!obj.has(user)){
                                    Toast.makeText(Login.this, "user not found", Toast.LENGTH_LONG).show();
                                }
                                else if(obj.getJSONObject(user).getString("password").equals(pass)){
                                    UserDetails.username = user;
                                    UserDetails.password = pass;
                                    startActivity(new Intent(Login.this,FirebaseNewActivity.class));
                                }
                                else {
                                    Toast.makeText(Login.this, "incorrect password", Toast.LENGTH_LONG).show();
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }

                        pd.dismiss();
                    }
                },new Response.ErrorListener(){
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        System.out.println("" + volleyError);
                        pd.dismiss();
                    }
                });

                RequestQueue rQueue = Volley.newRequestQueue(Login.this);
                rQueue.add(request);
            }

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

    username = (EditText)findViewById(R.id.username);
    password = (EditText)findViewById(R.id.password);
    registerButton = (Button)findViewById(R.id.registerButton);
    login = (TextView)findViewById(R.id.login);

    Firebase.setAndroidContext(this);

    login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(Register.this, Login.class));
        }
    });

    registerButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            user = username.getText().toString();
            pass = password.getText().toString();

            if(user.equals("")){
                username.setError("can't be blank");
            }
            else if(pass.equals("")){
                password.setError("can't be blank");
            }
            else if(!user.matches("[A-Za-z0-9]+")){
                username.setError("only alphabet or number allowed");
            }
            else if(user.length()<5){
                username.setError("at least 5 characters long");
            }
            else if(pass.length()<5){
                password.setError("at least 5 characters long");
            }
            else {
                final ProgressDialog pd = new ProgressDialog(Register.this);
                pd.setMessage("Loading...");
                pd.show();

                String url = "https://fireapp-ae761.firebaseio.com/users.json";

                StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
                    @Override
                    public void onResponse(String s) {
                        Firebase reference = new Firebase("https://fireapp-ae761.firebaseio.com/users");

                        if(s.equals("null")) {
                            reference.child(user).child("password").setValue(pass);
                            Toast.makeText(Register.this, "registration successful", Toast.LENGTH_LONG).show();
                        }
                        else {
                            try {
                                JSONObject obj = new JSONObject(s);

                                if (!obj.has(user)) {
                                    reference.child(user).child("password").setValue(pass);
                                    Toast.makeText(Register.this, "registration successful", Toast.LENGTH_LONG).show();
                                } else {
                                    Toast.makeText(Register.this, "username already exists", Toast.LENGTH_LONG).show();
                                }

                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }

                        pd.dismiss();
                    }

                },new Response.ErrorListener(){
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        System.out.println("" + volleyError );
                        pd.dismiss();
                    }
                });

                RequestQueue rQueue = Volley.newRequestQueue(Register.this);
                rQueue.add(request);
            }
        }
    });
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u寄存器);
用户名=(EditText)findViewById(R.id.username);
密码=(EditText)findViewById(R.id.password);
registerButton=(按钮)findViewById(R.id.registerButton);
login=(TextView)findViewById(R.id.login);
Firebase.setAndroidContext(this);
login.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
startActivity(新意图(Register.this、Login.class));
}
});
registerButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
user=username.getText().toString();
pass=password.getText().toString();
if(user.equals(“”){
username.setError(“不能为空”);
}
else if(pass.equals(“”){
password.setError(“不能为空”);
}
如果(!user.matches(“[A-Za-z0-9]+”),则为else{
username.setError(“仅允许字母或数字”);
}
else if(user.length()