Tag: firebase realtime database

如何解决Android Firebase错误“默认FirebaseApp未在此过程中初始化”?

我使用FirebaseAuth进行用户注册电子邮件和密码,我已经在我的项目中添加了插件和依赖项。 MainActivity.java public class MainActivity extends AppCompatActivity implements View.OnClickListener { EditText ed_email, ed_pass; Button but_login; ProgressDialog progressDialog; FirebaseAuth firebaseAuth; Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context=getApplicationContext(); FirebaseApp.initializeApp(context); firebaseAuth=FirebaseAuth.getInstance(); ed_email= (EditText) findViewById(R.id.ed_email); ed_pass= (EditText) findViewById(R.id.ed_pass); but_login= (Button) findViewById(R.id.but_login); but_login.setOnClickListener(this); progressDialog=new ProgressDialog(this); } public void registerUser(){ String email=ed_email.getText().toString().trim(); String pass=ed_pass.getText().toString().trim(); if(TextUtils.isEmpty(email)){ Toast.makeText(getApplicationContext(),”Invalid Input”,Toast.LENGTH_SHORT).show(); […]

Android – Firebase – 不同类型的用户登录

目标 允许不同类型的用户登录其各自的界面 描述 用户类型(3): 学生 亲 老师 每个用户都通过Firebase身份validation电子邮件注册 如果每个接口与另一个接口不同,则每个用户应该能够访问其各自的接口 每个用户都已与Firebase数据库中的各自子节点一起保存。 例如,在“用户”下面有一个“学校”,其下是用户类型,如“学生”,“家长”和“老师”。 用于可视化目的的数据库 用户 – >学校 ——>学生 ——>父母 ——>老师 问题 由于我目前正在使用Firebase身份validation电子邮件,因此我无法区分哪个用户是哪个。 建议的解决方案是创建具有3种类型用户的单选按钮,供用户在登录应用程序时进行选择。 这意味着用户必须通过输入他们的电子邮件,密码和选择他们的用户类型来登录。 问题是,如果“学生”用户在单选按钮上选择“父母”或“老师”并使用学生电子邮件登录,该应用程序仍会将“学生”电子邮件识别为“父母”或“老师” LoginActivity类 import android.content.Intent; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; 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 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 […]

数据未正确加载到firebase应用程序中

我在android studio上使用firebase创建了一个应用程序。使用mobile otp进行身份validation后会出现一个searchview。 当用户在搜索视图上搜索时,它将过滤结果并转到回收站视图,依此类推。 在第一次启动活动(即,auth之后的家庭活动)应用程序完美运行。 但我的问题是我的应用程序在一段时间后没有加载数据。包括searchview在内的其他字段也没有用。 此外,应用程序在注销后工作,并在发生此问题后再次登录到应用程序。 有谁知道如何解决它? public class FragmentHome extends Fragment { private SearchView search; View view; DatabaseReference dataRef; private FirebaseListAdapter firebaseListAdapter; ListView mListView; private TextView text; ArrayList city=new ArrayList(); private int i=0; private String data,val,var; ArrayAdapter adapter; ProgressBar progressBar; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable final Bundle savedInstanceState) […]

如何从android中的firebase数据库中获取随机对象?

我正在开发一个Android应用程序,我需要从一个孩子的firebase中获取一个随机对象? 如何在java中做到这一点?

Firebase查询方法不起作用

这是我的数据树: “look-twopointo”: { “0” { “comment”: “Hi” “Text1”: “Hello” “Text2”: “Bonsoir” “type”: “Bonjour” “version”: “4.0.6” } } 由于某种原因,查询不起作用。 button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mDatabase = FirebaseDatabase.getInstance().getReference().child(“0”);// pay attention to the this path reference // Read from the database Query query = mDatabase.child(“version”)/*.orderByChild(“Text1”)*/.equalTo(“4.0.6”)/*.startAt(“d”)/*.endAt(“Dude”)*/; query.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // […]

添加应用时删除了Firebase数据库

好的,所以我正在构建一个将在Play商店中运行的应用程序,它可以将数据添加到Firebase(它无法读取它)。 第二个应用程序将保留在我身边(它不会进入游戏商店)并且它用于读取数据。 现在我做的是,让我们说第一个应用程序有包名: com.example.write ,第二个有com.example.read 。 所以我去了Firebase,创建了一个项目,使用包名com.example.write添加了一个应用程序并设置了我的第一个应用程序。 工作完美,我可以添加数据到Firebase数据库,现在创建第二个应用程序,我创建了android工作室项目,使用包名com.example.read ,并且两个应用程序使用相同的Firebase数据库,我添加了新的应用程序位于firebase中的同一个项目中,包名为com.example.read但后来我注意到之前的数据库已被删除,当我点击导航栏上的数据库按钮时,它为我提供了创建数据库的选项,我这样做,第一个应用程序崩溃(可能是因为删除旧数据库无法正确添加数据)。 那么我该如何在两个应用程序上使用相同的数据库呢? 使用firebase的火花(免费)计划!

如何使用Java程序将数据写入firebase

我正在尝试将数据写入现有的Firebase数据库,但没有写入数据。 是否有一个示例Java程序将数据写入某个Firebase数据库,我可以使用它? 我所做的就是以下内容: package org.nilostep.bota.dcp.export; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; import com.google.firebase.auth.FirebaseCredentials; import com.google.firebase.database.*; import java.io.FileInputStream; import java.util.HashMap; import java.util.Map; public class ReadWriteFirebase { private static final String DATABASE_URL = ” (the url of my database) “; public static void main(String[] args) throws Exception { FileInputStream serviceAccount = new FileInputStream(“bota-6e0b33e3f1fe.json”); FirebaseOptions options = new FirebaseOptions.Builder().setCredential(FirebaseCredentials.fromCertificate(serviceAccount)).setDatabaseUrl(“https://bota-313fb.firebaseio.com”).build(); FirebaseApp.initializeApp(options); […]

当子节点的父节点未知时从Firebase检索数据

我正在构建一个应用程序,您可以发送和获取朋友请求。 数据库的结构如下: 现在,当有人向您发送带有addValueEventListener的朋友请求时,我想构建一个“警报function”,以便我可以看到当前用户是否在数据库中有“已收到”。 就像是: mFriendRequestDatabase = FirebaseDatabase.getInstance().getReference().child(“Friend_req”); mCurrent_user = FirebaseAuth.getInstance().getCurrentUser(); String current_user_id = mCurrent_user.getUid(); mFriendRequestDatabase.child(current_user_id).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { } @Override public void onCancelled(DatabaseError databaseError) { } }); 问题是我无法看到当前用户是否有“已发送”或“收到”,因为我不知道发送请求的人的ID。 dataSnapshot.child(???)。child(“sent”或“recieved”) 我该如何解决这个问题?

Firebase实时数据库跟踪更改

我试图在活动的onStart方法中跟踪数据库中的所有更改,但以下代码仅在firebase树的第一个“行”更改时起作用: mDatabase = FirebaseDatabase.getInstance().getReference(); mDatabase.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { for (DataSnapshot child : snapshot.getChildren()) { System.out.println(child.getKey() + ” : ” + child.getValue()); } } @Override public void onCancelled(DatabaseError databaseError) { } }); 我试图通过为每个孩子创建一个监听器来分别跟踪每个孩子,但它也只适用于第一个孩子。 如何跟踪所有这些更新? 谢谢。 更新。 树上有三个孩子: 我需要能够看到何时更新它们。

Firebase身份validation和数据库

我对Firebase有疑问,我是新手。 我想在登录时返回用户名,但该名称在数据库中,我只想返回名称,当然,与在身份validation中找到的电子邮件一致,也在数据库中。 我的想法是将数据库中的电子邮件与Auth进行比较,如果是真的,请给我起名字。 但我不知道如何开发它。 解决方案? 谢谢