标签: firebaseui

如何实现SetOnItemClickListener FirebaseRecyclerViewAdapter

如何在Firebase RecyclerView适配器中实现SetOnItemClickListener事件?我使用文档示例,聊天应用程序:

 private FirebaseRecyclerViewAdapter mAdapter;

RecyclerView recycler = (RecyclerView) findViewById(R.id.messages_recycler);
    recycler.setHasFixedSize(true);
    recycler.setLayoutManager(new LinearLayoutManager(this));

    mAdapter = new FirebaseRecyclerViewAdapter<ChatMessage, ChatMessageViewHolder>(ChatMessage.class, android.R.layout.two_line_list_item, ChatMessageViewHolder.class, mRef) {
        @Override
        public void populateViewHolder(ChatMessageViewHolder chatMessageViewHolder, ChatMessage chatMessage) {
            chatMessageViewHolder.nameText.setText(chatMessage.getName());
            chatMessageViewHolder.messageText.setText(chatMessage.getMessage());
        }
    };
    recycler.setAdapter(mAdapter);
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database firebaseui

9
推荐指数
1
解决办法
2万
查看次数

使用Searchview过滤firebase上的数据

我正在使用FirebaseRecyclerAdapterFirebase-UI.列表工作正常,但我无法在SearchView中实现过滤器.

我的用户数据库: 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);        
 }

@Override
public boolean onQueryTextSubmit(String query) {
    return false;
}

@Override
public boolean onQueryTextChange(String newText) {
    // ???
    return true;
}
Run Code Online (Sandbox Code Playgroud)

编辑

我在onQueryTextSubmit上尝试了这个代码,过滤器工作但行为奇怪.

UserAdapter userAdapter …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database firebaseui

9
推荐指数
0
解决办法
3304
查看次数

使用带Glide的Firebase存储图像

我尝试了几乎所有这些答案都有大量的重复答案,但我仍然无法使用Glide的Firebase存储图像.

首先我使用的是文档

    FirebaseStorage storage  = FirebaseStorage.getInstance();
    StorageReference storageRef = storage.getReference();
    StorageReference pathReference = storageRef.child("sorular/1.jpg");

   // ImageView in your Activity
   ImageView imageView = rootView.findViewById(R.id.imageView);

   // Load the image using Glide
   Glide.with(this /* context */)
        .using(new FirebaseImageLoader()) // Cannot resolve method 'using
        .load(pathReference)
        .into(imageView);
Run Code Online (Sandbox Code Playgroud)

如果我清理Glide的.using部分,logcat就会出现这个错误:

E/GlideExecutor:请求抛出未捕获的throwable com.bumptech.glide.Registry $ NoModelLoaderAvailableException:无法在com.bumptech.glide中找到模型的任何ModelLoaders:gs:
//123...appspot.com/sorular/1.jpg. Registry.getModelLoaders(Registry.java:227)
位于com.bumptech.glide.load.engine.DecodeHelper.getLoadData(DecodeHelper.java:179)的com.bumptech.glide.load.engine.DecodeHelper.getCacheKeys(DecodeHelper.java: 197)com.bumptech.glide.load.engine.ResourceCacheGenerator.startNext(ResourceCacheGenerator.java:41)at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:282)at com.bumptech.glide .load.engine.DecodeJob.runWrapped(DecodeJob.java:249)at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:222)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java) :1133)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:607)at java.lang.Thread.run(Thread.java:761)
at com.bumptech.glide.load.engine.executor. GlideExe cutor $ DefaultThreadFactory $ 1.run(GlideExecutor.java:347)

那么如何以最好的方式在我的Android应用程序中使用firebase存储图像呢?

这也是我的构建gradle依赖项:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation …
Run Code Online (Sandbox Code Playgroud)

android firebase android-gradle-plugin android-glide firebaseui

9
推荐指数
2
解决办法
8526
查看次数

Firebase Auth UI的电子邮件验证

我使用firebase auth UI(FirebaseUI-Android的 Android应用中,用户可以通过个人注册)email,Facebook,numberGmail帐户.我的问题是,当用户使用他的个人电子邮件ID登录时,我需要获得电子邮件验证.

    List<AuthUI.IdpConfig> providers = Arrays.asList(
        new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
        new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build(),
        new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build(),
        new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build());

    startActivityForResult(
        AuthUI.getInstance()
                .createSignInIntentBuilder()
                .setIsSmartLockEnabled(true)
                .setTheme(R.style.GreenTheme)
                .setTosUrl("https://termsfeed.com/blog/terms-conditions-mobile-apps/")
                .setPrivacyPolicyUrl("https://superapp.example.com/privacy-policy.html")
                .setAvailableProviders(providers)
                .build(),
        RC_SIGN_IN);
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // RC_SIGN_IN is the request code you passed into startActivityForResult(...) when starting the sign in flow.
    if (requestCode == RC_SIGN_IN) {
        IdpResponse response = IdpResponse.fromResultIntent(data);
        // Successfully signed in
        if …
Run Code Online (Sandbox Code Playgroud)

java android firebaseui

9
推荐指数
1
解决办法
1227
查看次数

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'
Run Code Online (Sandbox Code Playgroud)

但在构建我的项目时,我有以下错误:

D:\ Android\Projects\quoter\app\src\main\AndroidManifest.xml:68:13-58错误:属性活动#com.facebook.FacebookActivity@theme value =(@ style/FirebaseUI.Translucent)来自[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 value =(@ android:style/Theme.Translucent.NoTitleBar).建议:在AndroidManifest.xml:64:9-68:61中添加'tools:replace ="android:theme"'来覆盖.

我发现扩展的jar包含Facebook sdk和Firebase UI库的清单文件,但我不确定是否更改它们是解决此错误的正确方法,因为每次我清理并重新构建我的项目时,新的清单也是产生...

我该如何解决这个错误?在我看来,两个图书馆之间的不兼容......

注意:在我的应用程序中添加以下内容

<application
    tools:node="replace"
Run Code Online (Sandbox Code Playgroud)

解决这个问题,但启动应用程序是不可能的,因为Firebase未正确初始化(请参阅/sf/answers/2664219071/)

android manifest facebook-sdk-4.0 firebase-authentication firebaseui

8
推荐指数
1
解决办法
3340
查看次数

如何从FirebaseRecyclerAdapter中排除项目

我的代码在我的populateViewHolder:

public void populateViewHolder(final CampaignHolder viewHolder, final Campaign campaign, final int position) {
            String k = getRef(position).getKey();
            ref.child(k).child("users").addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (!dataSnapshot.hasChild(getUid())) {
                       //Something...
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
            //...Populating the viewholder...
Run Code Online (Sandbox Code Playgroud)

我想删除该项,如果!dataSnapshot.hasChild(getUid())true,否则只是继续正常填充ViewHolder.请注意,我不想从数据库中删除该项目,我只想让它从中删除FirebaseRecyclerAdapter.有什么方法可以做到这一点?


编辑:我仍然在寻找这个问题的解决方案,因为它还没有修复.我的解决方案非常气馁,非常糟糕的做法,我已经重新考虑过自己使用它.

android firebase firebase-realtime-database firebaseui

8
推荐指数
1
解决办法
1412
查看次数

Firebase用户界面 - 验证 - 使用自己的布局

是否可以在Android上使用我自己的Firebase UI Auth 布局和按钮

我基本上想要实现自己选择身份提供者(google,facebook等)的屏幕并从我的点击监听器开始相应的流程(例如使用Butterknife):

@OnClick(R.id.login_btn_signInGoogle)  
public void signInGoogle(View view) {  
  // Start google sign in flow <--- This is what I do not know how to do it  
}

@OnClick(R.id.login_btn_signInFacebook)  
public void signInFacebook(View view) {  
  // Start facebook sign in flow <--- This is what I do not know how to do it 
}
Run Code Online (Sandbox Code Playgroud)

我知道firebase提供了自定义屏幕/主题的可能性,但对我的情况来说还不够.

在最坏的情况下,我将不得不使用标准的firebase sdk方法来实现它.

android firebase firebase-authentication firebaseui

7
推荐指数
2
解决办法
6602
查看次数

Android Studio Desugar:使用Desugar进行调试的转换失败

我的Android Studio项目最近停止了正确构建.我不知道是什么导致了这个问题.

这是我试过的

  • 我尝试用不同的Android Studio版本构建我的项目,即稳定和不同的Canary频道版本,没有变化
  • 更改了SDK版本.我的项目使用SDK 26正确构建,但现在它没有,也没有使用SDK 27
  • 交换了构建工具和Gradle版本,我的项目使用Gradle插件3.1.0-alpha2和构建工具版本正确构建26.0.2.我尝试了很多
  • 我在Android Studio中使用了"Clean Project","Invalidate Caches" ...功能无数次
  • 我删除了我的构建文件夹
  • 我打开和关闭了Proguard
  • 我尝试修复可能的库问题,但所有这些都无济于事

我想我实际上已将所有内容更改回我之前成功使用设置,而我的其他具有类似设置的项目构建正常.

完整的错误代码:

Error:java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}

Error:com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with …
Run Code Online (Sandbox Code Playgroud)

android firebase android-studio firebaseui

7
推荐指数
2
解决办法
9568
查看次数

如何在 Firebase 中将 emailAndPasswordAuth 与 PhoneAuth 合并?

我正在尝试首先使用 登录用户Email and Password,然后在它之后,我也想要user's Phone Number。所以我所做的我首先使用他EmailAndPasswordAuth的一个活动(自定义登录)对用户进行了签名,然后,我在下一个活动中通过他的电话号码登录了用户。但由于它成为同一部手机上的两个帐户,我想将这些谷歌和手机凭据合并为一个帐户。

然后我尝试关注https://firebase.google.com/docs/auth/android/account-linking,但它给了我例外。

com.google.firebase.FirebaseException:用户已经链接到给定的提供者。

PhoneAuthActivity.java

String email = intent.getStringExtra("email");
    String password = intent.getStringExtra("pass");

    Toast.makeText(this, "Email" + email + "Password" + password, Toast.LENGTH_SHORT).show();// this is working

    emailCredential = EmailAuthProvider.getCredential(email, password);

    mPhoneNumberField = findViewById(R.id.field_phone_number);
    mVerificationField = findViewById(R.id.field_verification_code);

    mStartButton = findViewById(R.id.button_start_verification);
    mVerifyButton = findViewById(R.id.button_verify_phone);
    mResendButton = findViewById(R.id.button_resend);

    mStartButton.setOnClickListener(this);
    mVerifyButton.setOnClickListener(this);
    mResendButton.setOnClickListener(this);

    mAuth = FirebaseAuth.getInstance();
    mCallbacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
        @Override
        public void onVerificationCompleted(PhoneAuthCredential credential) {
            Log.d(TAG, "onVerificationCompleted:" + credential);
            signInWithPhoneAuthCredential(credential);
        }

        @Override …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication firebaseui

7
推荐指数
1
解决办法
4230
查看次数

通过 Swift 包管理器安装 FirebaseUI-ios

我正在尝试使用 Swift 包管理器安装 FirebaseUI-iOS。我尝试过 Xcode 14.0 和 Xcode 13.4.1。我收到以下错误:Xcode `13.4.1 出现错误

[![Xcode 14.0 的错误][2]][2] [2]:https://i.stack.imgur.com/FklqL.png

我尝试过使用“直到主要版本”(特定版本),但没有任何效果。有人有建议吗?如果我查看存储库,Package.swift 文件确实存在。我也就此提出了一个问题。https://github.com/firebase/FirebaseUI-iOS/issues/1094

TIA

xcode firebaseui swift-package-manager

7
推荐指数
1
解决办法
763
查看次数