[英]How can I check user had registered and match data between data on firebase authentication and firebase Realtime Database?
[英]How can I check wishlist data is empty or not in firebase database
我想檢查用戶 UID 下的“願望清單”是否為空,因為如果“願望清單”為空,我將在其中創建“願望清單 2”。 如何在我的 firebase 數據庫中檢查此“願望清單是否為空。
這個概念是這樣的 - 檢查願望清單是否為空,如果願望清單為空,那么我將在數據庫中創建另一個願望清單 2。 願望清單不是默認的,它只會在用戶在願望清單中添加例如項目 1 並且如果用戶已經在願望清單中添加項目 1 時創建。 我將為他的項目 2 創建願望清單 2
這是我的代碼
public class web_view extends AppCompatActivity {
//for fav
FloatingActionButton fab;
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_v);
//fab start here
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String passURL = getIntent().getStringExtra("key");
if (passURL.matches("[0-9]+") && passURL.length()>= 10){ ////if fav book input is ISBN number
FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("Wishlist")// which child goes to under the current user UID
.setValue("http://www.librarything.com/isbn/" + passURL).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(web_view.this, "Saved to Wishlist", Toast.LENGTH_LONG).show();
}
}
});
}else {//if wish list book is no ISBN
Toast.makeText(web_view.this, "Can't Save", Toast.LENGTH_LONG).show();
}
}
});
}
}
好的,您可以使用.push()
來執行此操作,它將為您的願望清單中的每個元素自動生成 ID。 所以你可以這樣做:
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("Users").child(FirebaseAuth.getInstace().getCurrentUser().getUid()).child("Wishlist");
myRef.push().setValue(newWishlistString);
這將在 Firebase 中生成類似這樣的內容:
然后你可以像這樣檢索它:
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("Users").child(FirebaseAuth.getInstace().getCurrentUser().getUid()).child("Wishlist");
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
//do something here with data
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.