Articles of firebaseui

具有空视图的FirebaseRecyclerAdapter

我知道有很多方法可以为RecyclerView提供空视图。 但我的问题是FirebaseRecyclerView。 我的布局是: 所以我在RecyclerView填充其项目之前显示正在加载ProgressBar。 现在如果服务器没有任何项目怎么办? 在这种情况下,我的RecyclerView始终为空,我的Loading ProgressBar始终对用户可见。 因此,我想要显示一些空的布局,而不是无限期地显示ProgressBar。 例如“找不到数据”或类似的消息。 最终结果应该是:ProgressBar应该显示,直到数据加载到RecyclerView,一旦数据加载,ProgressBar应该是不可见的。 但是如果服务器中没有数据,则应显示一些空布局而不是ProgressBar。 在普通的RecyclerView中,我们有一个数据集(某些ArrayList等),如果它是空的,那么我们可以显示那个空布局。 但是对于FirebaseRecyclerAdapter,我在我的Activity或Context中没有Snapshot的引用。 我也没有任何回调告诉我服务器中没有数据。 任何解决方法都会有很大帮助。

使用Facebook的FirebaseUI身份validation无效

我正在使用FirebaseUI-Authentication 。 使用电子邮件或Google帐户登录是成功的,但使用Facebook登录无效。 在AuthUI活动启动并尝试使用Facebook登录后,不会调用onActivityResult() 。 登录后尝试将应用程序停留在加载窗口。 logcat输出FirebaseApp日志: 通知背景状态更改侦听器。 在Facebook应用程序仪表板上,我设置了有效的OAuth重定向URI ,正如firebase指南所述,我将应用程序公开(如果它是公共的还是处于开发状态,这是否重要?)。 在Firebase控制台中,我启用了Facebook登录并设置了应用程序ID和应用程序密钥 。 这是一个video录制,显示点击登录活动后登录Facebook后发生的情况。 为什么不调用onActivityResult() ? 主要活动: /** * Use this method to start the FirebaseUI sign in activity. */ public void switchToSignIn() { this.activity.startActivityForResult( AuthUI.getInstance() .createSignInIntentBuilder() .setProviders( AuthUI.EMAIL_PROVIDER, AuthUI.GOOGLE_PROVIDER, AuthUI.FACEBOOK_PROVIDER) .build(), RC_SIGN_IN); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode […]

Google使用Firebase登录Android – statusCode DEVELOPER_ERROR

我尝试在我的Firebase连接Android应用中实施Google登录。 当我运行应用程序并按下Google登录按钮时 – 没有任何反应。 我在onActivityResult中收到此错误: Status {statusCode = DEVELOPER_ERROR,resolution = null} 。 我的代码如下所示: protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_GOOGLE_LOGIN) { GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); if (result.isSuccess()){ GoogleSignInAccount account = result.getSignInAccount(); String emailAddres = account.getEmail(); getGoogleQAuthToken(emailAddres); } } } private void getGoogleQAuthToken(final String emailAddres){ AsyncTask task = new AsyncTask() […]

android manifest merger失败了,gms play services / firebase

我正在尝试使用firebaseUI将firebase添加到我的应用程序。 正如文档所说,我使用了相应的gms:play-services(11.0.4)和firebaseUI版本(2.2.0)当我同步gradle文件时,我收到以下错误: Error:Execution failed for task ‘:app:processDebugManifest’. > Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0) from [com.android.support:support-v13:26.0.0] AndroidManifest.xml:28:13-35 is also present at [com.android.support:customtabs:25.4.0] AndroidManifest.xml:25:13-35 value=(25.4.0). Suggestion: add ‘tools:replace=”android:value”‘ to element at AndroidManifest.xml:26:9-28:38 to override. 这是我的gradle文件: android { compileSdkVersion 26 buildToolsVersion “26.0.1” defaultConfig { applicationId “com.test.test” minSdkVersion 21 targetSdkVersion 25 versionCode 1 versionName “1.0” } dependencies […]

在FirebaseRecyclerAdapter上应用filter

我正在使用FirebaseRecyclerAdapter来显示聊天消息。 private void attachRecyclerViewAdapter() { lastFifty = mChatRef.limitToLast(50).; mRecyclerViewAdapter = new FirebaseRecyclerAdapter( Chat.class, R.layout.message, ChatHolder.class, lastFifty) { @Override public void populateViewHolder(ChatHolder chatView, Chat chat, int position) { chatView.setName(chat.getName()); chatView.setText(chat.getText()); chatView.setTimeLocation(chat.getTime()); FirebaseUser currentUser = mAuth.getCurrentUser(); if (currentUser != null && chat.getUid().equals(currentUser.getUid())) { chatView.setIsSender(true); } else { chatView.setIsSender(false); } } }; 我有一个包含特定用户列表的列表。 我想应用filter只查看来自这些特定用户的邮件。 我该怎么办 ?

错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 – Android Studio

我在我的日志猫中收到此错误 Error:Failed to resolve: com.twitter.sdk.android:twitter:2.3.0 当我尝试添加此依赖项时: compile ‘com.firebaseui:firebase-ui:1.1.1’ 有人可以帮帮我,我不知道我做错了什么。 这是我从中获取依赖关系的链接: https : //github.com/firebase/FirebaseUI-Android 。 在旁注中,我没有在我的应用程序中使用Twitter登录或与twitter进行任何types的交互,因此我不确定为什么在放置该依赖项后同步我的gradle时出现该错误。

升级Firebase后出现OAuth2问题

我有一个工作的Android应用程序(也许更好地说HAD)。 该应用程序正在使用一些第三方库,包括:谷歌地图,Firebase,firebaseui。 转换应用程序使用新的Firebase后,我偶然发现了两个主要问题: firebaseuilogin屏幕改变了,现在看起来像这样(从login对话框变成活动): 这当然是完全不同于旧版本的,也有一些与debugging版本不同的奇怪原因。 我无法使用谷歌login与logcat中显示以下错误: com.google.firebase.FirebaseException:发生内部错误。 [找不到服务器configuration中的OAuth2客户端ID。 ] 在debugging版本中,这个问题不再发生。 只是为了清楚debugging构build变体使用相同的代码库,但不同的firebase数据库。

Firebase回收站适配器分页

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

Android清单与facebook和firebase库合并

我导入了我的项目2库(在gradle文件中): … /* Firebase UI */ compile 'com.firebaseui:firebase-ui:0.4.0' /* Facebook login */ compile 'com.facebook.android:facebook-android-sdk:4.13.0' 但build立我的项目时,我有以下错误: D:\ Android \ Projects \ quoter \ app \ src \ main \ AndroidManifest.xml:68:13-58错误:属性activity#com.facebook.FacebookActivity@theme value =(@ style / FirebaseUI.Translucent)from [com。 firebaseui:firebase-ui-auth:0.4.0] AndroidManifest.xml:68:13-58也出现在[com.facebook.android:facebook-android-sdk:4.13.0] AndroidManifest.xml:32:13- 72值=(@ android:style / Theme.Translucent.NoTitleBar)。 build议:在AndroidManifest.xml:64:9-68:61的元素中添加'tools:replace =“android:theme”'来覆盖。 我发现扩展的jar子与Facebook sdk和Firebase UI库的清单文件,但我不知道改变它们是正确的方法来解决这个错误,因为每次我清理和重新构build我的项目新清单也产生… 我怎样才能解决这个错误? 在我看来,这两个库之间的不可兼容性… 注意:在我的应用程序清单中添加以下内容 <application tools:node="replace" 解决这个问题,但是启动应用程序是不可能的,因为Firebase没有正确初始化(请参阅https://stackoverflow.com/a/38060272/6503817 )

使用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); } […]