当前位置: 首页 > 知识库问答 >
问题:

空对象错误Firebase数据库上的ANDROID_ID调用

暴绪
2023-03-14

我是Android应用程序开发的新手。我一直试图用Firebase电子邮件和密码auth构建一个应用程序,并试图在注册过程中将手机的android_id保存在Firebase数据库中。

public class SignUpActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText editTextName;
    private FirebaseAuth mAuth;
    public String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signup);
        editTextName = findViewById(R.id.edit_text_name);
        mAuth = FirebaseAuth.getInstance();
    }

    private void registerUser() {
        final String name = editTextName.getText().toString().trim();
        mAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(new OnCompleteListener < AuthResult > () {
                @Override
                public void onComplete(@NonNull Task < AuthResult > task) {
                    if (task.isSuccessful()) {

                        User user = new User(
                            name,
                            androidId
                        );

                        FirebaseDatabase.getInstance().getReference("Users")
                            .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                            .setValue(user).addOnCompleteListener(new OnCompleteListener < Void > () {
                                @Override
                                public void onComplete(@NonNull Task < Void > task) {
                                    //
                                }
                            });

                    } else {
                        //
                    }
                }
            });
    }
}
public class User {
    public String name;


    public User() {

    }

    public User(String name) {
        this.name = name;
    }
}

共有1个答案

子车煌
2023-03-14

oncreate()方法中获取androidid

试试这个

public class SignUpActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText editTextName;
    private FirebaseAuth mAuth;
    public String androidId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signup);
        editTextName = findViewById(R.id.edit_text_name);
        mAuth = FirebaseAuth.getInstance();
        androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
    }

    private void registerUser() {
        final String name = editTextName.getText().toString().trim();
        mAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(new OnCompleteListener < AuthResult > () {
                @Override
                public void onComplete(@NonNull Task < AuthResult > task) {
                    if (task.isSuccessful()) {

                        User user = new User(
                            name,
                            androidId
                        );

                        FirebaseDatabase.getInstance().getReference("Users")
                            .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                            .setValue(user).addOnCompleteListener(new OnCompleteListener < Void > () {
                                @Override
                                public void onComplete(@NonNull Task < Void > task) {
                                    //
                                }
                            });

                    } else {
                        //
                    }
                }
            });
    }
}
 类似资料:
  • 我已经到处搜索并尝试了他们关于如何调用虚拟方法的方法,但结果仍然是一样的。请帮助我,我不知道我的错误在哪里。 当我在手机上运行我的应用程序时,它会引发以下异常: 尝试对空对象引用调用虚拟方法“Java . lang . string my package . studentin information . get userid()” 方法showData() 班级学生信息() Firebase数据

  • 问题内容: 我不知道我的代码有什么问题 这是我的片段课 这是我的SessionManager.java 运行项目时出现的错误: java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ void com.example.gandi.symanlub.SessionManager.logoutUser()” 问题答案: 您收到错误消息是因为在此行您正在调用: 会

  • 我想在数据库中存储用户配置数据,我正在关注这个论坛的帖子http://forumsarchive.laravel.io/viewtopic.php?id=10406但当我实现它时,laravel抛出了一个错误。我运行了composer dump autoload,但似乎没有任何功能。这里有什么问题? //文件名:app/config/settings。php 用法: echo Config::ge

  • 我正试图使用cardview显示RecycerView的联系人,但我得到了这个错误:

  • 我在Django中创建了一个数据模型,它具有多对一关系(N个主题对1个用户),如下所示: 来自django。db从django导入模型。contrib。auth。模型导入用户 当我尝试在“管理”页面中加载数据模型时,出现以下错误: 我错过了数据模型中的什么吗? 谢谢。

  • 我尝试了一些代码来使用PHP和slim框架构建RESTful API Web服务。(我正在使用高级Rest客户端测试此代码) 这是我的密码。