繁体   English   中英

Firebase-如何存储用户的登录会话?

Firebase - How to store login session of a User?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在使用Firebase进行登录。 我有一个使用电子邮件的用户-admin@admin.com,密码123456789。我想检查是否使用此帐户登录的用户已被授权删除数据。

String user = firebaseAuth.getCurrentUser().getUid();
intent.putExtra("name", user);

在MainActivity中,如果用户与他被授权的用户相同,则显示祝酒词。

if(user.equals(intent.getStringExtra("name"))) {
                                Toast.makeText(MainActivity.this, "Authorized", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(MainActivity.this, "Not authorized", Toast.LENGTH_SHORT).show();
                            }

它总是返回一个空引用。

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'boolean java.lang.String.equals(java.lang.Object)'

AdminActivity.java

firebaseAuth.signInWithEmailAndPassword(email,password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {

                    if(task.isSuccessful()) {
                        Log.d(TAG, "signInWithEmail:success");

                        String user = firebaseAuth.getCurrentUser().getUid();

                        Intent intent = new Intent(AdminActivity.this, MainActivity.class);
                        intent.putExtra("name", user);
                        startActivity(intent);
                        finish();

                    } else {
                        Log.w(TAG, "signInWithEmailFailure", task.getException());
                        Toast.makeText(AdminActivity.this, "Authentication Failed", Toast.LENGTH_LONG).show();
                    }

                }

            });

MainActivity.java

studentListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(final AdapterView<?> parent, View view, int position, long id) {

                    selectedItem = studentDetails.get(position).getName();

                    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);

                    alertDialogBuilder.setPositiveButton("View", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this, selectedItem, Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
                            intent.putExtra("name", selectedItem);
                            startActivity(intent);
                        }
                    });

                    alertDialogBuilder.setNegativeButton("Delete", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            String user = null;

                            if(user.equals(intent.getStringExtra("name"))) {
                                Toast.makeText(MainActivity.this, "Authorized", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(MainActivity.this, "Not authorized", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });

                    AlertDialog alertDialog = alertDialogBuilder.create();
                    alertDialog.show();
                }
            });
问题暂未有回复.您可以查看右边的相关问题.
1 Firebase - 将匿名用户转换为登录用户?

背景:在我的iOS游戏中,我想允许用户无需登录即可进行游戏(在Firebase中匿名进行身份验证以保存用户数据),还可以让他们选择使用Facebook登录以解锁其他游戏。 我正在尝试修改此帖子 ,用匿名登录替换Twitter登录: 我很困惑转换将如何与这些规则一起使用。 特别是说 ...

6 Firebase - 统计在线用户

我尝试使用presence来显示元素中的总连接用户。 我无法弄清楚在哪里看。 我做了类似的事情: 试着看看我是否能找到有用的东西,但是(我有点期待)我无法理解数据。 有没有办法帮助我做什么? 获取已连接用户的总数,例如。 在控制台或元素中回显它? 或者也许如何获取授权用户 ...

2013-04-12 23:04:26 2 16639   firebase
7 Firebase - 用户评论[关闭]

我正在构建一个Android应用程序,允许用户评论广告牌前100上的每首歌曲(我从JSON fie解析了这些信息)。 我将如何存储评论(最好使用Firebase)并在发表新评论后显示和刷新评论? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM