我打算切换到Firebase作为我的Android应用程序的本地和在线数据库。根据文档,Firebase首先将更改存储到本地数据库,然后在网络可用时将其推送到在线数据库。在我的应用程序中,我会将一些关于用户的非常敏感的数据放入数据库中。所以这是我的问题,本地Firebase数据库的安全性如何?使用正确工具的好心黑客破解它有多难?它只是一个简单的JSON文件,就像在线数据库一样,任何拥有root访问权限的人都可以打开它吗?谢谢。 最佳答案 Inageneralsense,FirebaseRealtimeDatabasecanbeuse
我的应用程序不断收到错误消息,提示I/Choreographer:跳过252帧!应用程序可能在其主线程上做了太多工作。我认为这会导致我的UI出现一些延迟,这是我不希望的。我认为这是因为当我执行Firebase查询时,当我执行onDataChange()时,它似乎总是在主UI线程中执行。我有大约5个类似于下面的Firebase查询。因此,我尝试将我的代码从onDataChange()方法移动到AsyncTask并在onPostExecute()方法上更新UI线程异步任务。但是,当我尝试这样做时,onPostExecute()方法永远不会完成。这是我的尝试:publicvoidgetPub
在FirebaseAnalytics可用之前,我们使用多风格、多构建类型的AndroidGradle项目设置,并为每个构建变体提供不同的GTM容器ID,如下所示:TagManager.getInstance(context).loadContainerPreferNonDefault(BuildConfig.GTM_CONTAINER_ID,-1);TagManager.getInstance(context).getDataLayer().pushEvent(eventName,eventData);Gradle将为每个构建变体注入(inject)不同的GTM_CONTAINER_I
我正在尝试制作一个聊天应用程序,我使用Firebase作为我的后端,我用发送的最后10条消息填充我的ListViewonCreate(),我只希望当用户向上滚动时^每次都会加载10个。我一切正常,问题是Firebase每次都加载所有数据,而不是将现有数据增加10。例如:它在启动时加载10条消息,当我向上滚动时它加载20条消息,然后加载30条消息,而不是一次只加载10条消息。这是代码://Listviewtofindwhenuserisscrollingandreachthetopi.efirstVisibleItem==0messagesList.setOnScrollListener
我想在我的Firebase群组消息传递应用程序中实现“Seen”功能。您能否建议最好和最有效的方法(工作代码将不胜感激)?例如,该应用会在群组消息中显示“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
我的用户节点中有一个名为subscribedTo的数组。现在我想在用户订阅时向该数组附加一些pushID's。但是pushID被替换而不是附加。如何将推送ID附加到数组?架构"tester@gmail,com":{"email":"tester@gmail,com","hasLoggedInWithPassword":true,"name":"tester","subscribedTo":["-KFPi5GjCcGrF-oaHnjr"],"timestampJoined":{"timestamp":1459583857967}}代码publicvoidonSubscribe(Viewv
FCM是否需要。用户必须在手机上安装Play服务才能接收通知?你看到GCM可以,但现在我打算转移到FCM希望它不会......我怎么能在测试前知道? 最佳答案 是的。参见:https://developers.google.com/cloud-messaging/android/android-migrate-fcm#switch_to_fcm_in_the_app-level_buildgradlehttps://firebase.google.com/docs/cloud-messaging/android/clientFCMc
我决定使用Volley并使用Firebase走RESTful路线,因为它们的监听器在没有互联网连接时似乎会挂起。至少对于Volley,它可以让我知道网络请求是否由于互联网连接而失败。我需要知道FirebaseUser授权token是否过期。在我的应用程序中,我只允许谷歌和Facebook身份验证,并且我使用以下代码假设Firebase用户身份验证token不会过期:privateStringauthToken;//CallbackspublicinterfaceApiCallbacks{publicvoidonSuccess(JSONObjectresponse);publicvoid
当我在我的Firebase数据库中的多个路径上使用同步时,有什么权衡取舍?databaseRef.keepSynced(true);我从不清除这些路径的同步。此外,我可能会调用databaseRef.keepSynced(true);在同一条路上多次。没问题吗?我也在用FirebaseDatabase.getInstance().setPersistenceEnabled(true);那么在电池生命周期和内存问题方面,我要为这个同步“付出”什么? 最佳答案 当您使用keepSynced()方法时,您是在告诉Firebase从data
我正在尝试将Firebase与Glide集成,出于某种原因,Glide.using()无法解析此方法。我确实添加了:compile'com.firebaseui:firebase-ui-storage:0.6.0'进入build.gradle以及:compile'com.github.bumptech.glide:glide:4.0.0-RC1'这是我尝试使用Glide的部分:mStorageRef=FirebaseStorage.getInstance().getReference();mStorageRef.child("images/Puffer-fish-are-pretty-