这将检查是否已采用Username,如果不是,则注册用户:
@H_404_4@query usernamequery = myRef.orderByChild("Username").equalTo(Username);usernamequery.addListenerForSingleValueEvent(new ValueEventListener() { @OverrIDe public voID onDataChange(DataSnapshot snapshot) { if (snapshot.exists()) { // Todo: handle the case where the data already exists editText.setError("Username taken!"); return; } else { // Todo: handle the case where the data does not yet exist myRef.child("Users").child(Username).child("UserID").setValue(user.getUID()); myRef.child("Users").child(Username).child("Username").setValue(Username); startActivity(maps); finish(); } } @OverrIDe public voID onCancelled(DatabaseError databaseError) { Toast.makeText(Username.this,"Error",Toast.LENGTH_LONG).show(); }});但我希望只有在激活时才会触发Intent to Main Activity(地图)
.myRef.child( “用户”)孩子(用户名).child( “用户ID”)的setValue(user.getUID()).
另一个完成任务并取得成功.
我能做什么?
解决方法 要知道写 *** 作何时完成,请添加完成侦听器: @H_404_4@myRef.child("Users").child(Username).child("UserID").setValue(user.getUID(),new DatabaseReference.CompletionListener() { voID onComplete(DatabaseError error,DatabaseReference ref) { System.out.println("Value was set. Error = "+error); }});如果要通过单个 *** 作写入多个位置,则需要查看update()方法:https://firebase.google.com/docs/database/android/read-and-write#updating_or_deleting_data
这里记录了setValue()的正确重载:https://firebase.google.com/docs/reference/android/com/google/firebase/database/DatabaseReference.html#setValue(java.lang.Object,%20com.google.firebase.database.DatabaseReference.CompletionListener)
总结以上是内存溢出为你收集整理的android – 如何在Firebase中检查写入任务是否成功全部内容,希望文章能够帮你解决android – 如何在Firebase中检查写入任务是否成功所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)