大佬教程收集整理的这篇文章主要介绍了android – Firebase:登录前写入数据库,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户可以提交的表单,并将提交给数据库.在提交时,可能无法匿名登录.我是否可以在Firebase中调用数据库的写入指令并将其写入本地并在用户匿名登录时提交?
解决方法是在数据库中创建一个可由任何人写入的“未经身份验证的”树,但只有在经过身份验证后才可读.对用户进行身份验证后,您可以将数据复制到适当的位置,并删除未经身份验证的区域中写入的任何数据.您可以将要写入的数据排队,Firebase将在用户联机时自动写入.
诀窍是在未经身份验证的树中获取推送ID,您将用作临时用户ID.应使用SharedPreferences或您选择的其他方法在本地持久保存此值.
db = FirebaseDatabase.geTinstance(); db.setPersistenceEnabled(true); dbRef = db.getReference(); // This key should be saved on the user's device until authenticated String key = dbRef.child("unauthenticated").push().getKey(); // Write some data dbRef.child("unauthenticated").child(key) .child("somedata").SETVALue("tesTing");
只要网络连接可用,您对此子项的任何写入都将保留.将侦听器附加到此临时键可能如下所示……
dbRef.child("unauthenticated").child(key).addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Log.d("DB","Got value from database: " + dataSnapshot.child("somedata").getValue()); if(FirebaseAuth.geTinstance().getCurrentUser() != null) { /** If user is authenticated,move data to authenticated LOCATIOn **/ } } @Override public void onCancelled(DatabaseError databaseError) {} });
以上是大佬教程为你收集整理的android – Firebase:登录前写入数据库全部内容,希望文章能够帮你解决android – Firebase:登录前写入数据库所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。