- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作注册表单,并且想要保存用户输入的数据,但是当我运行应用程序并检查 Firebase 上的数据库时,什么也没有,我已经确保我的数据库已连接到此应用程序,但我仍然没有得到任何东西,这是我到目前为止所得到的:
package com.example.parkingapp;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class RegisterActivity extends AppCompatActivity {
private static final String TAG = "RegisterPage";
private EditText fName, lName, userEmail, userPassword, pNumber,schoolName;
private Button registerBtn;
private FirebaseAuth firebaseAuth;
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myReference = database.getReference("https://authenticate-user-443f2.firebaseio.com/");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.registration_activity);
fName = (EditText) findViewById(R.id.first_name);
lName = (EditText) findViewById(R.id.last_name);
userEmail = (EditText) findViewById(R.id.email_address);
userPassword = (EditText) findViewById(R.id.password);
pNumber = (EditText) findViewById(R.id.phone_number);
schoolName = (EditText) findViewById(R.id.school_name);
registerBtn = (Button) findViewById(R.id.register_user);
firebaseAuth = FirebaseAuth.getInstance();
//registerBtn.setOnClickListener(new View.OnClickListener() {
// @Override
//public void onClick(View v) {
// RegisterActivity.this.startActivity(new Intent(RegisterActivity.this, RegisterActivity.class));
//}
//});
registerBtn.setOnClickListener((View.OnClickListener) this);
}
// registerBtn.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// RegisterActivity.this.finish();
//}
//});
//registerBtn.setOnClickListener(new View.OnClickListener() {
// @Override
//public void onClick(View v) {
// RegisterActivity.this.registerUser();
//}
//});
//}
public void onClick(View view){
if(view == registerBtn) {
registerUser();
}
}
private void registerUser() {
final String firstName = fName.getText().toString();
final String lastName = lName.getText().toString();
final String email = userEmail.getText().toString();
final String password = userPassword.getText().toString();
final String phoneNumber = pNumber.getText().toString();
final String school = schoolName.getText().toString();
if (TextUtils.isEmpty(email)) {
showToast("Enter email address!");
return;
}
if(TextUtils.isEmpty(password)){
showToast("Enter Password!");
return;
}
if(userPassword.length() < 6){
showToast("Password too short, enter minimum 6 characters");
return;
}
//register user
firebaseAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(RegisterActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d(TAG, "New user registration: " + task.isSuccessful());
if (task.isSuccessful()) {
// RegisterActivity.this.showToast("Authentication failed. " + task.getException());
DatabaseReference ref = database.getReference("https://authenticate-user-443f2.firebaseio.com/");
DatabaseReference firstN = ref.child("first name");
firstN.setValue(firstName);
DatabaseReference lastN = ref.child("last name");
lastN.setValue(lastName);
DatabaseReference emailAddress = ref.child("email");
emailAddress.setValue(email);
DatabaseReference password = ref.child("password");
password.setValue(password);
DatabaseReference phone = ref.child("phone number");
phone.setValue(phoneNumber);
DatabaseReference schoolName = ref.child("school");
schoolName.setValue(school);
} else {
RegisterActivity.this.startActivity(new Intent(RegisterActivity.this, DestinationActivity.class));
RegisterActivity.this.finish();
}
}
});
}
@Override
protected void onResume() {
super.onResume();
}
public void showToast(String toastText) {
Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show();
}
}
感谢任何帮助!
最佳答案
您应该使用 getReferenceUrl :
Gets a DatabaseReference for the provided URL.
DatabaseReference ref = database.getReferenceUrl("https://authenticate-user-443f2.firebaseio.com/");
或
Gets a DatabaseReference for the database root node.
DatabaseReference ref = database.getReference();
<小时/>
那么你想给哪个用户设置值?(未知)你必须设置一个用户id(唯一id)。
ref.child("users").child("user_id").child("first name").setValue(firstName);
我认为你应该创建用户对象。这对你来说会更有用。
关于java - 注册表未写入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61403695/
我有这个代码 var myChart = new FusionCharts("../themes/clean/charts/hbullet.swf", "myChartId", "400", "75
既然写入是立即进行的(复制到内核缓冲区并返回),那么使用 io_submit 进行写入有什么好处? 事实上,它 (aio/io_submit) 看起来更糟,因为您必须在堆上分配写入缓冲区并且不能使用基
我正在使用 mootool 的 Request.JSON 从 Twitter 检索推文。收到它后,我将写入目标 div 的 .innerHTML 属性。当我在本地将其作为文件进行测试时,即 file:
最终,我想将 Vertica DB 中的数据抓取到 Spark 中,训练机器学习模型,进行预测,并将这些预测存储到另一个 Vertica DB 中。 当前的问题是确定流程最后部分的瓶颈:将 Spark
我使用 WEKA 库编写了一个 Java 程序, 训练分类算法 使用经过训练的算法对未标记的数据集运行预测 将结果写入 .csv 文件 问题在于它当前写出离散分类结果(即算法猜测一行属于哪个类别)。我
背景 - 我正在考虑使用 clickonce 通过 clickonce(通过网站)部署 WinForms 应用程序。相对简单的应用程序的要素是: - 它是一个可执行文件和一个数据库文件(sqlite)
是否有更好的解决方案来快速初始化 C 数组(在堆上创建)?就像我们使用大括号一样 double** matrix_multiply(const double **l_matrix, const dou
我正在读取 JSON 文件,取出值并进行一些更改。 基本上我向数组添加了一些值。之后我想将其写回到文件中。当我将 JSONArray 写回文件时,会被写入字符串而不是 JSONArray 对象。怎样才
我为两个应用程序使用嵌入式数据库,其中一个是服务器,另一个是客户端。客户端应用程序。可以向服务器端发送获取数据请求以检索数据并显示在表格(或其他)中。问题是这样的:如何将获取的数据保存(写入)到页面文
是否有更好的解决方案来快速初始化 C 数组(在堆上创建)?就像我们使用大括号一样 double** matrix_multiply(const double **l_matrix, const dou
从问题得出问题:找到所有 result = new ArrayList(); for (int i = 2; i >(i%8) & 0x1) == 0) { result.add(i
由于某种原因,它没有写入 CSV。谁能明白为什么它不写吗? def main(): list_of_emails = read_email_csv() #read input file, cr
关闭。 这个问题是 not reproducible or was caused by typos 。它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能在这里出现,
我目前正在开发一个保存和加载程序,但我无法获得正确的结果。 编写程序: #include #include #define FILENAME "Save" #define COUNT 6 type
import java.io.*; public class Main2 { public static void main(String[] args) throws Exception {
我需要使用预定义位置字符串“Office”从所有日历中检索所有 iOS 事件,然后将结果写入 NSLog 和 UITextView。 到目前为止,这是我的代码: #import "ViewCo
我正在尝试将 BOOL 值写入 PFInstallation 中的列,但会不停地崩溃: - (IBAction)pushSwitch:(id)sender { NSUserDefaults *push
我以前在学校学过一些简单的数据库编程,但现在我正在尝试学习最佳实践,因为我正在编写更复杂的应用程序。写入 MySQL 数据库并不难,但我想知道让分布式应用程序写入 Amazon EC2 上的远程数据库
是否可以写回到ResourceBundle?目前我正在使用 ResourceBundle 来存储信息,在运行时使用以下内容读取信息 while(ResourceBundle.getBundle("bu
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我是一名优秀的程序员,十分优秀!