Java 除了firebase什么都没有
我对使用android studio制作应用程序还很陌生,我得到了一个建议,建议我遵循我所做的教程。一切都很好,直到我运行程序,出于某种原因,没有任何东西可以保存到firebase。如果这是一个简单的问题,我很抱歉,但正如我所说,我对java和应用程序编程都是全新的 我试着逐行查看代码,并将其与教程代码进行比较Java 除了firebase什么都没有,java,android,firebase,Java,Android,Firebase,我对使用android studio制作应用程序还很陌生,我得到了一个建议,建议我遵循我所做的教程。一切都很好,直到我运行程序,出于某种原因,没有任何东西可以保存到firebase。如果这是一个简单的问题,我很抱歉,但正如我所说,我对java和应用程序编程都是全新的 我试着逐行查看代码,并将其与教程代码进行比较 package com.hossain.mylearningproject; import androidx.annotation.NonNull; impor
package com.hossain.mylearningproject;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
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.HashMap;
public class RegisterActivity extends AppCompatActivity {
private Button CreateAccountBtn;
private EditText Inputname, InputPhoneNumber, InputPassword;
private ProgressDialog LoadingBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
CreateAccountBtn = (Button) findViewById(R. id. register_btn);
Inputname = (EditText) findViewById(R. id. register_username_input);
InputPhoneNumber = (EditText) findViewById(R. id. register_phone_number_input);
InputPassword = (EditText) findViewById(R. id. register_password_input);
LoadingBar = (ProgressDialog) new ProgressDialog(this);
CreateAccountBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CreateAccount();
}
});
}
private void CreateAccount(){
String name = Inputname.getText().toString();
String phonenumber = InputPhoneNumber.getText().toString();
String password = InputPassword.getText().toString();
if (TextUtils.isEmpty(name)){
Toast.makeText(this, "Please Write you're name...", Toast.LENGTH_SHORT).show();
}
else if (TextUtils.isEmpty(phonenumber)){
Toast.makeText(this, "Please Write you're phone number...", Toast.LENGTH_SHORT).show();
}
else if (TextUtils.isEmpty(password)){
Toast.makeText(this, "Please Write you're Password...", Toast.LENGTH_SHORT).show();
}
else{
LoadingBar.setTitle("Create account");
LoadingBar.setMessage("Please wait while we check the credentialls.");
LoadingBar.setCanceledOnTouchOutside(false);
LoadingBar.show();
ValidateCredentialls(name, phonenumber);
}
}
private void ValidateCredentialls(final String name, final String phonenumber){
final DatabaseReference Rootref;
Rootref = FirebaseDatabase.getInstance().getReference();
Rootref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (!(dataSnapshot.child("Users").child(phonenumber).exists())){
HashMap<String, Object> Userdatamap = new HashMap<>();
Userdatamap.put("phone number", phonenumber);
Userdatamap.put("Username", name);
Userdatamap.put("password", InputPassword);
Rootref.child("Users").child(phonenumber).updateChildren(Userdatamap)
.addOnCompleteListener(new OnCompleteListener<Void>()
{
@Override
public void onComplete(@NonNull Task<Void> task)
{
if(task.isSuccessful())
{
Toast.makeText(RegisterActivity.this, "Congratulations, you're account has now been created", Toast.LENGTH_SHORT).show();
LoadingBar.dismiss();
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
startActivity(intent);
}
else
{
LoadingBar.dismiss();
Toast.makeText(RegisterActivity.this, "Connection problem, Please check you're internet connection.", Toast.LENGTH_SHORT).show();
}
}
});
}
else
{
Toast.makeText(RegisterActivity.this, "An account with " + phonenumber + " already exists", Toast.LENGTH_SHORT).show();
LoadingBar.dismiss();
Toast.makeText(RegisterActivity.this, "Please try again using a diffrent phone number", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
startActivity(intent);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
package com.hossain.mylearningproject;
导入androidx.annotation.NonNull;
导入androidx.appcompat.app.appcompat活动;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.os.Bundle;
导入android.text.TextUtils;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
导入com.google.android.gms.tasks.OnCompleteListener;
导入com.google.android.gms.tasks.Task;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.HashMap;
公共类注册活动扩展了AppCompatActivity{
私有按钮CreateAccountBtn;
私有EditText Inputname、InputPhoneNumber、InputPassword;
私有进程对话框加载栏;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u寄存器);
CreateAccountBtn=(按钮)findViewById(R.id.寄存器\u btn);
Inputname=(EditText)findViewById(R.id.寄存器\用户名\输入);
InputPhoneNumber=(EditText)findViewById(R.id.寄存器\电话\号码\输入);
InputPassword=(EditText)findViewById(R.id.寄存器\密码\输入);
LoadingBar=(ProgressDialog)新建ProgressDialog(此);
CreateAccountBtn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
CreateAccount();
}
});
}
私有帐户(){
字符串名称=Inputname.getText().toString();
字符串phonenumber=InputPhoneNumber.getText().toString();
字符串密码=InputPassword.getText().toString();
if(TextUtils.isEmpty(name)){
Toast.makeText(这是“请写下你的名字…”),Toast.LENGTH_SHORT.show();
}
else if(TextUtils.isEmpty(phonenumber)){
Toast.makeText(这是“请写下您的电话号码…”),Toast.LENGTH_SHORT.show();
}
else if(TextUtils.isEmpty(密码)){
Toast.makeText(这是“请写下您的密码…”),Toast.LENGTH_SHORT.show();
}
否则{
LoadingBar.setTitle(“创建帐户”);
setMessage(“请稍候,我们正在检查凭证。”);
加载条。设置为取消到外部(false);
LoadingBar.show();
ValidateCredentials(姓名、电话号码);
}
}
私有void validateCredentials(最终字符串名称、最终字符串电话号码){
最终数据库参考Rootref;
Rootref=FirebaseDatabase.getInstance().getReference();
Rootref.addListenerForSingleValueEvent(新的ValueEventListener()){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
if(!(dataSnapshot.child(“用户”).child(phonenumber.exists()){
HashMap Userdatamap=新HashMap();
Userdatamap.put(“电话号码”,phonenumber);
Userdatamap.put(“用户名”,名称);
Userdatamap.put(“密码”,InputPassword);
Rootref.child(“用户”).child(电话号码).updateChildren(Userdatamap)
.addOnCompleteListener(新的OnCompleteListener()
{
@凌驾
未完成的公共void(@NonNull任务)
{
if(task.issusccessful())
{
Toast.makeText(RegisterActivity.this,“恭喜,您的帐户现在已经创建”,Toast.LENGTH_SHORT.show();
LoadingBar.disclose();
意向意向=新意向(RegisterActivity.this、LoginActivity.class);
星触觉(意向);
}
其他的
{
LoadingBar.disclose();
Toast.makeText(RegisterActivity.this,“连接问题,请检查您的internet连接。”,Toast.LENGTH_SHORT.show();
}
}
});
}
其他的
{
Toast.makeText(RegisterActivity.this,“已存在一个带有“+phonenumber+”的帐户”,Toast.LENGTH_SHORT.show();
LoadingBar.disclose();
Toast.makeText(RegisterActivity.this,“请使用不同的电话号码重试”,Toast.LENGTH_SHORT.show();
意向意向=新意向(RegisterActivity.this,MainActivity.class);
星触觉(意向);
}
}
@凌驾
取消公共无效(@NonN)
data class User(
var email: String? = "",
var name: String? = "",
var phoneNumber:String? =""
)
database = FirebaseDatabase.getInstance().getReference("users")
val user = User("abc.gmail.com, "abc",
"858689849")
database.child(userId).setValue(user)
private void ValidateCredentialls(final String name, final String phonenumber){
final DatabaseReference Rootref;
Rootref = FirebaseDatabase.getInstance().getReference("users")
;
User user =new User("abc.gmail.com, "abc",
"858689849");
database.child(userId).setValue(user)
}