Dar*_*wda 7 android firebase firebase-realtime-database
我已经在我的Android应用中实现了Firebase实时数据库,一切都很好。我正在尝试添加一个搜索功能,并且我只能通过起始单词匹配来搜索数据库。下面是我的数据库快照:
我正在查询movieName。现在,我可以搜索查询字符串是否为Pets / Pe / pet。但是,当我搜索动物时,结果为零。因此,基本上我正在寻找的是在字符串中任何位置使用查询文本搜索数据库。即,我应该能够搜索动物/和/宠物,并且应该获得包含搜索查询的结果。
下面是到目前为止的代码。
mDatabaseReference.child("recent").getRef().orderByChild("movieName").startAt(query)
.endAt(query + "\uf8ff")
Run Code Online (Sandbox Code Playgroud)
要在字符串中搜索字符串,请使用以下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference animalsRef = rootRef.child("Animals");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Boolean found;
String search = "Animals";
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String movieName = ds.child("movieName").getValue(String.class);
found = movieName.contains(search);
Log.d("TAG", movieName + " / " + found);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
animalsRef.addListenerForSingleValueEvent(eventListener);
Run Code Online (Sandbox Code Playgroud)
如您所见,我们在数据库中查询所有电影名称,然后在movieName
.
归档时间: |
|
查看次数: |
4718 次 |
最近记录: |