Articles of firebase database

Google firebase检查是否存在子级

在我的应用程序中,我需要检查firebase上我的数据库的给定元素是否具有给定名称的子项。 我希望可以通过以下方式使用以下内容来完成: DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); if (rootRef.childExists(“name”)) { //run some code } 我搜索过,但找不到任何有用的东西。

Firebase(FCM):打开活动并通过点击通知数据。 安卓

应该明确实施如何使用Firebase通知和数据。 我读了很多答案,但似乎无法使其发挥作用。 这是我的步骤: 1.)我在PHP中将通知和数据传递给android,它看起来很好: $msg = array ( “body” => $body, “title” => $title, “sound” => “mySound” ); $data = array ( “user_id” => $res_id, “date” => $date, “hal_id” => $hal_id, “M_view” => $M_view ); $fields = array ( ‘registration_ids’ => $registrationIds, ‘notification’ => $msg, ‘data’ => $data ); $headers = array ( ‘Authorization: key=’.API_ACCESS_KEY, […]

如何删除firebase android中的子节点?

我的firebase数据库中有许多子节点,我想只删除一个子节点。 Firebase firebase=new Firebase(“..address..”); firebase.push().setValue(classObj); //这里classObj是一个类对象,它有一个整数id的getter和setter 现在我已经推送了多个对象,我只想根据classObj中的id删除一个对象

如何从broadcastreceiver使用firebase数据库

我正在尝试使用来自BroadcastReceiver Firebase数据库来获取一些数据。 不幸的是,用户有时是null ,这意味着我不能使用UID获取数据。 @Override public void onReceive(final Context context, Intent intent) { FirebaseAuth.getInstance().addAuthStateListener(new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if(user != null){ //sometimes not null }else{ //sometimes null } } }); } FirebaseAuth.getInstance().getCurrentUser有时也为null 。 另外,我的broadcastreceiver接收机里面没有长时间的运行。 我正在谈论的是在它下面没有任何节点的情况下获取单个opjes。 如何从BroadcastReceiver使用Firebase数据库?

使用Firebase的聊天应用程序:收到新消息时收到通知 – Android

我正在开发一个使用Firebase实时数据库的聊天应用程序。 我已经能够正确地发送和接收消息。 现在,我希望在收到新消息时执行通知。 为此,我创build了一个使用ChildEventListener监听数据库更改的Service并创build通知。 问题是,我在onChildAdded方法中创build通知,并且此方法触发数据库中的现有节点和新的节点。 当用户从应用程序来回导航时,这会导致为相同的消息创build多次通知。 以下是我如何实施它: chatMsgsRef.orderByChild(FirebaseDBKeys.LOCATION_LAST_UPDATED).addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { ChatMessage message = dataSnapshot.getValue(ChatMessage.class); if (!message.getSenderId().equals(currentUserId)) { mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(NotificationsService.this) .setSmallIcon(R.drawable.message) .setContentTitle("New Message from " + message.getReceipientName()) .setContentText(message.getMessage()) .setOnlyAlertOnce(true) .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)); mBuilder.setAutoCancel(true); mBuilder.setLocalOnly(false); mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); } } @Override public void onChildChanged(DataSnapshot dataSnapshot, […]

Firebase回收站适配器分页

mFirebaseAdapter = new FirebaseRecyclerAdapter<Restaurant, FirebaseRestaurantViewHolder> (Restaurant.class, R.layout.restaurant_list_item, FirebaseRestaurantViewHolder.class, mRestaurantReference) 我有像mRestaurantReference 1000个元素/对象。 如果我使用上面的代码,我肯定会遇到性能问题,所以我必须分页。 那么如何使用FirebaseRecyclerAdapter分页数据呢?

在Firebase群组消息传递应用中实施已读回执function

我想在我的Firebase群组消息应用中实施“已看到”function。 你能不能build议采取最好和最有效的方法(工作代码将不胜感激)? 例如,该应用程序会在群组消息中显示“ 由6看 ”或“ 由15看 ”。 这是我的项目: https : //github.com/firebase/friendlychat/tree/master/android 以下是MainActivity: https : //github.com/firebase/friendlychat/blob/master/android/app/src/main/java/com/google/firebase/codelab/friendlychat/MainActivity.java

从Firebase中获取数据的限制,以执行刷新以及加载更多function

然而,现在我从FireBase获取所有数据。我想要做的是一次获取15条logging中的LIMITS数据。 就像第一次用户从Firebase获取15条logging一样,当用户在屏幕的底部/顶部加载更多的数据时,另有15条logging应该来自Firebase并添加到列表的底部/顶部。 我已经实现了从Firebase数据库顶部或底部获取15条logging的逻辑,如下所示: public class ChatActivity extends AppCompatActivity implements FirebaseAuth.AuthStateListener { private FirebaseAuth mAuth; private DatabaseReference mChatRef; private Query postQuery; private String newestPostId; private String oldestPostId; private int startAt = 0; private SwipeRefreshLayout swipeRefreshLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_chat); mAuth = FirebaseAuth.getInstance(); mAuth.addAuthStateListener(this); mChatRef = FirebaseDatabase.getInstance().getReference(); mChatRef = mChatRef.child("chats"); /////GETTING THE VIEW […]

Firebase的Android分页

我正在构build一个应用程序,将显示存储在firebase上的video。 video列表需要分页获取最近20个video。 这是我认为会工作的代码 private void getVideos() { Query videosQuery = FirebaseUtil.getVideosRef(); videosQuery.startAt(0); videosQuery.endAt(1); ChildEventListener videosChildEventListener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { String date = dataSnapshot.getKey(); String temp = date; } @Override public void onChildChanged(DataSnapshot dataSnapshot, String s) { } @Override public void onChildRemoved(DataSnapshot dataSnapshot) { } @Override public void […]

使用Searchview过滤Firebase上的数据

我正在使用Firebase-UI的FirebaseRecyclerAdapter。 列表工作正常,但我无法在SearchView中实现filter。 我的用户数据库: Firebase用户 private DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("users"); private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { recyclerView = (RecyclerView) findViewById(R.id.rv); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(true); UserAdapter userAdapter = new UserAdapter( User.class, R.layout.user, UserAdapter.UserViewHolder.class, reference ); recyclerView.setAdapter(userAdapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_activity, menu); MenuItem item = menu.findItem(R.id.search); searchView = (SearchView) MenuItemCompat.getActionView(item); searchView.setOnQueryTextListener(this); } […]