Tag: firebase

如何从Firebase数据库中删除用户

所以我想添加一个用户删除他的帐户到我的应用程序的function..简单的权利? 我看文件,它很容易: FirebaseAuth.getInstance().getCurrentUser().delete() 但是,FirebaseDatabase和Storage中的所有数据仍然保留。 这是我的结构(给予或承担) 在firebase存储它更简单一点,所以我不包括在这个问题.. 现在的问题是,用户几乎与所有的节点有关联,并且有很多地方需要删除。 从android设备用户发送“DeleteUserRequest”到服务器,服务器负责删除用户。 但做完方法后,它的地狱! 我需要借用爸爸的显示器来编码,因为太深的嵌套调用! 这里是方法 public static void deleteUser(DeleteUserRequest request, ExecutorService executorService) { deleteUserReferences(request.getUserId(), executorService); deleteUserStorage(request.getUserId()); } /** * Delete Tree * – /grades/userId * – /subjects/userId * – /user_groups/userId -> save groupIdList * – /group_members/groupId/userId * – /groups/groupId/ [where createdBy=userId] save friendIdList * – /user-friends/friendId/userId * – /user_tokens/userId […]

Firestore本地过滤

Firestore每读取10万次读取配额和价格。 在基于关系的数据库中,我有非常简单的任务,但是对于Firestore而言,这看起来像是开销: 我有Firestore集合的“文章”,每篇文章都有字段“views_by_uids”作为Firebase用户UID的数组 我已经阅读了10万篇文章(简称) 我想为我的UID获取UNREaded文章 我是否真的需要用分页来查询这个100K的参考文章,例如每页50个项目,以便过滤LOCALLY(通过我的弱移动网络发送太多的数据),最后得到UNREaded文章来显示? 编辑:澄清这里是我如何用Kotlin在Android中创建“文章”: data class Article ( val title: String, val text: String, val ownerUid: String, @ServerTimestamp val creationDate: Date? = null) //写满文章到firestore val article = Article (title = “test title” text = “test text”, ownerUid = FirebaseAuth.getInstance().uid!!) val articleRef = FirebaseFirestore.getInstance() .collection(Article.COLLECTION_NAME) .document() .set(article) .addOnFailureListener { …just show error } […]

如何获取RxJava 2自定义运算符上的RetroFit请求的URL和方法?

所以我正在尝试为Http请求集成Firebase性能,并像这里显示的那样手动添加它们(步骤9)。 我正在使用Retrofit 2和RxJava 2,所以我有做一个自定义运算符的想法,检查下面的代码: 改造2客户端 @GET(“branch-{environment}/v2/branches”) fun getBranch(@Path(“environment”) environment: String, @Query(“location”) location: String, @Query(“fulfilment_type”) fulfilmentType: String): Single<Response> RxJava呼叫改造客户端 private val client: BranchClient = clientFactory.create(urlProvider.apiUrl) override fun getBranch(postCode: String, fulfilmentType: FulfilmentType): Single { return client .getBranch(environment, postCode.toUpperCase(), fulfilmentType.toString()) .lift(RxHttpPerformanceSingleOperator(URL?, METHOD?)) .map { it.body() } .subscribeIO() //custom Kotlin extension .observeMain() //custom Kotlin extension … } RxJava 2自定义操作员通过电梯: […]

Firestore与Firebase的离线问题

我将其中一个应用程序转换为新的Firestore。 我正在做一些事情,像点击一个按钮保存文档,然后在onSuccess监听器,去一个不同的活动。 我还使用Firestore保存操作返回任务的事实,使用Tasks.whenAll将任务组合在一起: val allTasks = Tasks.whenAll( createSupporter(supporter),, setStreetLookup(makeStreetKey(supporter.street_name)), updateCircleChartForUser(statusChange, createMode = true), updateStatusCountForUser(statusChange)) allTasks.addOnSuccessListener(this@SignUpActivity, successListener) allTasks.addOnFailureListener(this@SignUpActivity, onFailureListener) 最后,我从成功的保存中获取文档ID,并将其存储在首选项或本地数据库中供以后使用(在onSuccessListener ) 这一切都很好。 直到网络连接中断 。 然后,一切都崩溃了,因为任务永远不会完成,onSuccess / onFailure / onComplete监听器永远不会被调用。 所以应用程序只是挂起。 我正在通过在每次保存之前检查网络可用性来解决此问题,然后通过创建没有任何侦听器的任务来解决此问题。 我也使用UUID生成器在本地生成文档ID。 顺便说一句,这不是应用程序与旧的firebase的工作方式。 在这种情况下,离线时,一切都运行良好,每当应用程序上线时,我都会看到文件同步。 我的Firestore的解决方法似乎是一个可怕的黑客攻击。 有没有人想出更好的解决方案? 有关插入/删除文档回调的相关Firestore数据库在没有连接时不会被调用 addOnCompleteListener不会与云端firestore脱机调用

移除Firebase侦听器不适用于Android

我将一个事件值侦听器添加到引用,当我想删除它,但它不起作用。 override fun onStart() { super.onStart() stateListener =dbReference.stateRef.addValueEventListener(object : ValueEventListener { override fun onCancelled(p0: DatabaseError?) { TODO(“not implemented”) //To change body of created functions use File | Settings | File Templates. } override fun onDataChange(snapshot: DataSnapshot?) { //there is my functions }) } override fun onStop() { super.onStop() dbReference.stateRef.removeEventListener(stateListener) Log.d(“My_TAG”, “$stateListener “) } 这是我添加活动的唯一地方。 编辑后(仍然不工作) […]

如何使用Kotlin从Firebase数据库检索数据?

这是我在Firebase上上传的模型: public class OnlineMatch{ private User user1; private User user2; public OnlineMatch(User firstPlayer, User secondPlayer) { this.user1 = firstPlayer; this.user2 = secondPlayer; } } 然后我以这种方式将数据发送到Firebase(kotlin): fun createMatch(match: OnlineMatch) { val matchList = database.child(“multiplayer”).push() matchList.setValue(match) } 因此,我的数据库结构如下: 如果我展开一个节点,我可以看到完美的对象:OnlineMatch(User1,User2) 现在我想查询数据库并获得一个ArrayList”。 我已经find了Firebase文档,但是我没有发现任何用处。 我能怎么做? 提前致谢。

使用Firebase查询实施Firebase原生快递广告

a)我想显示从firebase查询生成的动态列表内的admob原生快速广告 b)我使用PostListFragment.java来显示post,post适配器是RVAdapter.java 三)我加载和以编程方式显示广告,并与静态列表工作正常 d)这是动态列表: mPosts = getPosts(postsQuery); f)这是静态列表: mPosts = new ArrayList(); mPosts.add(new Post(“key” , “uid” , “author” , “title” , “body”)); mPosts.add(new Post(“key” , “uid” , “author” , “title” , “body”)); mPosts.add(new Post(“key” , “uid” , “author” , “title” , “body”)); mPosts.add(new Post(“key” , “uid” , “author” , “title” , “body”)); mPosts.add(new Post(“key” , […]

Firebase存储用户界面和滑动不显示图像

所以我有一个从Firebase存储加载图片的回收站。 我使用与FirebaseImageLoader结合的Glide库来实现这一点。 直到上个星期一,所有的工作都很好。 图像不再显示,没有任何错误,exception或者帮助我弄清楚为什么图像不会加载了:下面是一些代码片段: 摇篮: compile ‘com.github.bumptech.glide:glide:3.7.0’ compile ‘com.firebaseui:firebase-ui-storage:1.2.0’ ImageView我用来显示图像: 构建Firebase存储链接的Java代码: public StorageReference getThumbUri(String municipality){ return Constants.STORAGE_REFERENCE.child(Constants.PROMOTIONS).child(municipality).child(promo_thumb); //returns eg gs://myfirebaseapp.com/promotions/Mahikeng/spar_thumb.png } 加载图片的代码: Glide.with(context).using(new FirebaseImageLoader()).load(promotions.get(position). getThumbUri(municipality)).into(holder.imageView_promotions); PS此代码一直工作正常,从来没有改变任何我向上帝发誓。 我所做的只是将我的Android Studio更新到2.3.1,并将Google支持库更新为25.3.1

在Android版Firebase中忘记密码

我相信他们是在Firebase中更改密码的一种方式,但这是用户忘记密码并可以分配新密码或使用电子邮件或SMS OTP重新进行身份validation的方式。 我检查了网络,但似乎无法find一个。 如果有什么办法可以实现,那么所有的函数调用都需要进行。 你能指导我一个例子吗?

Firebase – 使用userProperty的RemoteConfig返回默认值

首先,我对我的英文表示歉意:-)我正在开发一个大项目,并且在我的Android应用程序中遇到了使用Firebase的问题。 我有使用Analytics(分析)用户属性的条件的RemoteConfig。 当我在应用程序中设置用户属性,获取数据,并成功完成后,我激活提取的数据,即使RemoteConfig条件为true,我仍然从RemoteConfig获取参数的默认值。 代码是用Kotlin编写的。 这是我的代码的一个例子(这段代码是在类的onCreate()方法,它扩展了Appliaction类: FirebaseAnalytics.getInstance(this).setUserProperty(“testprop”, “a”); FirebaseRemoteConfig.getInstance().fetch(0).addOnCompleteListener { if (it.isSuccessful) { FirebaseRemoteConfig.getInstance().activateFetched(); val a = FirebaseRemoteConfig.getInstance().getString(“test_param”); Log.i(“TOAPP”, “Test param is $a”); } else { Log.i(“TOAPP”, “Error: ${it.exception?.localizedMessage}”); it.exception?.printStackTrace(); } } } Firebase中的RemoteConfig: 参数= test_param – MyUser =开发 – 默认值:=生产 条件: MyUser – 如果用户属性testprop完全匹配一个 当我运行这个,我在控制台中得到这个: I / TOAPP:测试参数是生产 我有这些库在gradle.build文件中: // Play services implementation “com.google.android.gms:play-services-location:11.4.2” implementation […]