尝试使用FireStore和Google身份验证创建一个简单的应用程序。gradle有问题:
在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本(例如“ [15.0。1]”),但尚未解析为该版本。库所表现出的行为将是未知的。
依赖项失败:com.google.android.gms:play-services-flags:15.0.1-> com.google.android.gms:play-services-basement @ [15.0.1],但是play-services-basement版本是16.0.1。
以下依赖关系是直接或具有传递性依赖关系的项目依赖关系,会导致问题解决。-专案「app」取决于com.google.firebase:firebase-firestore@17.1.5-专案「app」取决于com.firebaseui:firebase-ui-auth@4.2.0
有关扩展的调试信息,请从命令行使用./gradlew --info:app:assembleDebug执行Gradle,以查看工件的dep endency路径。此错误消息来自google-services Gradle插件,在https://github.com/google/play-services-plugins上报告问题,并通过在您的build.gradle文件中添加“ googleServices {disableVersionCheck = false}”来禁用该错误消息。
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "myapp.com"
minSdkVersion 19
targetSdkVersion 27
versionCode 11
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin
Run Code Online (Sandbox Code Playgroud)
项目gradle: …
我在 Firebase Auth UI 库期间在 API 31 设备中收到以下错误(仅电话号码凭据),
Fatal Exception: java.lang.IllegalArgumentException: com.sstech.racemanager: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:458)
at android.app.PendingIntent.getActivity(PendingIntent.java:444)
at android.app.PendingIntent.getActivity(PendingIntent.java:408)
at com.google.android.gms.internal.auth-api.zzr.zzc(zzr.java:19)
at com.google.android.gms.auth.api.credentials.CredentialsClient.getHintPickerIntent(CredentialsClient.java:10)
at com.firebase.ui.auth.ui.phone.CheckPhoneHandler.fetchCredential(CheckPhoneHandler.java:28)
at com.firebase.ui.auth.ui.phone.CheckPhoneNumberFragment.setDefaultCountryForSpinner(CheckPhoneNumberFragment.java:238)
at com.firebase.ui.auth.ui.phone.CheckPhoneNumberFragment.onActivityCreated(CheckPhoneNumberFragment.java:127)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2996)
at …Run Code Online (Sandbox Code Playgroud) 我将FirebaseUI更新到最新版本,并更新了TwitterCore 3.0.0(2.8.0),因为我在Xcode中遇到此编译器错误:
Undefined symbols for architecture x86_64:
"_TWTRIdentifierForAdvertising", referenced from:
+[TWTRCardConfiguration deviceID] in TwitterKit(TWTRCardConfiguration.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我目前恢复到以前版本的TwitterCore,即使它没有在我的Podfile中明确写入.我写pod 'TwitterCore', '~>2.8.0'
mFirebaseAdapter = new FirebaseRecyclerAdapter<Restaurant, FirebaseRestaurantViewHolder>
(Restaurant.class, R.layout.restaurant_list_item, FirebaseRestaurantViewHolder.class,
mRestaurantReference)
Run Code Online (Sandbox Code Playgroud)
我喜欢1000个元素/对象mRestaurantReference.如果我使用上面的代码,我肯定会遇到性能问题所以我必须对它进行分页.那么如何使用分页数据FirebaseRecyclerAdapter呢?
我还没有找到任何样品.是否可以将FirebaseUI与AngularFire2 一起使用?UI不是AFAIK,也不是AngularFire2的一部分.
firebase firebase-authentication firebaseui angularfire2 angular
我有一个大问题,我不知道发生了什么,我已经上传了一个应用程序到Play商店,因为当我在模拟器上运行它甚至在我的真实设备上它没有崩溃,但现在当我下载来自Google Play的它说:
java.lang.NullPointerException:
at com..onBindViewHolder (ChooseCard.java)
or .onCreateViewHolder (ChooseCard.java)
at com..onBindViewHolder (ChooseCard.java)
or .onCreateViewHolder (ChooseCard.java)
at com.firebase.ui.database.FirebaseRecyclerAdapter.getItemCount (FirebaseRecyclerAdapter.java)
or .onBindViewHolder (FirebaseRecyclerAdapter.java)
or .onChildChanged (FirebaseRecyclerAdapter.java)
or .onError (FirebaseRecyclerAdapter.java)
at com.yarolegovich.discretescrollview.InfiniteScrollAdapter.access$100 (InfiniteScrollAdapter.java)
or .getItemCount (InfiniteScrollAdapter.java)
or .getItemViewType (InfiniteScrollAdapter.java)
or .onAttachedToRecyclerView (InfiniteScrollAdapter.java)
or .onBindViewHolder (InfiniteScrollAdapter.java)
or .onCreateViewHolder (InfiniteScrollAdapter.java)
or .wrap (InfiniteScrollAdapter.java)
Run Code Online (Sandbox Code Playgroud)
这个问题已经好几天了,我找不到它,你能帮我一把吗?
有我的build.gradle实现
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:design:27.1.1'
implementation 'com.intuit.sdp:sdp-android:1.0.4'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.firebase:firebase-auth:15.0.0'
implementation 'com.google.android.gms:play-services-auth:15.0.0'
implementation …Run Code Online (Sandbox Code Playgroud) 在FirebaseUI中继承FirebaseListAdapter时,如何获取单击项目的obj键?
FirebaseListAdapter具有以下获取itemId的方法,但返回long.但我需要使用默认字符串格式的对象键.
public long getItemId(int i) {
return (long)this.mSnapshots.getItem(i).getKey().hashCode();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试集成FirebaseUI Auth库.Google登录和电子邮件登录工作正常但我在设置Facebook登录时遇到问题.这是我的代码:
user = firebaseAuth.getCurrentUser();
if (user != null) {
startMainActivity();
finish();
} else {
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(!BuildConfig.DEBUG)
.setProviders(Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()))
.build(),
RC_SIGN_IN);
}
Run Code Online (Sandbox Code Playgroud)
当我点击Facebook按钮时,所有登录过程都顺利进行(在我的Facebook个人资料中,我在应用程序列表中看到了应用程序)但是firebase没有创建用户而且我被卡在登录页面上.在Android Monitor中,我有以下几行(应用程序不会崩溃):
E/CredentialSignInHandler: Unexpected exception when signing in with credential
com.google.firebase.FirebaseException: An internal error has occurred. [ Unsuccessful debug_token response from Facebook ]
at com.google.android.gms.internal.zzblv.zzce(Unknown Source)
at com.google.android.gms.internal.zzbls$zzj.zza(Unknown Source)
at com.google.android.gms.internal.zzbmd.zzcf(Unknown Source)
at com.google.android.gms.internal.zzbmd$zza.onFailure(Unknown Source)
at com.google.android.gms.internal.zzbly$zza.onTransact(Unknown Source)
at android.os.Binder.execTransact(Binder.java:453)
Run Code Online (Sandbox Code Playgroud)
Firebase出现的错误只是"来自Facebook的不成功的debug_token响应",没有任何代码或错误消息......我不知道该怎么做.
谢谢您的帮助!
android facebook firebase firebase-authentication firebaseui
我在Android上制作了一个聊天应用程序,它使用google firebase来存储用户互相写入的消息.要向用户显示这些消息,我从数据库中读取这些消息,并将它们组织到带有ListAdapter的自定义ListView中.这工作正常,直到我更新我的依赖项,特别是firebase ui到:
com.firebaseui:firebase-ui:3.1.0
Run Code Online (Sandbox Code Playgroud)
现在构建列表适配器的代码不起作用,是:
adapter = new FirebaseListAdapter<ChatMessage>(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class, R.layout.message, this) {
@Override
protected void populateView(View v, ChatMessage model, int position) {
// Get references to the views of message.xml
TextView messageText = (TextView)v.findViewById(R.id.message_text);
TextView messageUser = (TextView)v.findViewById(R.id.message_user);
TextView messageTime = (TextView)v.findViewById(R.id.message_time);
// Set their text
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
// Format the date before showing it
messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",
model.getMessageTime()));
}
};
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我更新了代码以符合新的firebase ui要求,使代码变为:
FirebaseListOptions<ChatMessage> options = new FirebaseListOptions.Builder<ChatMessage>()
.setQuery(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class).setLayout(R.layout.message).build();
adapter = new FirebaseListAdapter<ChatMessage>(options) {
@Override
protected void populateView(View v, …Run Code Online (Sandbox Code Playgroud) 每当我添加com.google.firebase:firebase-firestore:19.0.0到Gradle并运行应用程序时,都会发生以下错误。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: meter.meter, PID: 13588
java.lang.NoSuchMethodError: No virtual method setTokenProvider(Lcom/google/firebase/internal/InternalTokenProvider;)V in class Lcom/google/firebase/FirebaseApp; or its super classes (declaration of 'com.google.firebase.FirebaseApp' appears in /data/app/meter.meter-Qosf8nECYGfI4HI93CwJrw==/split_lib_dependencies_apk.apk!classes2.dex)
at com.google.firebase.auth.zzp.create(Unknown Source:4)
at com.google.firebase.components.ComponentRuntime.lambda$new$0(com.google.firebase:firebase-common@@17.0.0:66)
at com.google.firebase.components.ComponentRuntime$$Lambda$1.get(Unknown Source:4)
at com.google.firebase.components.Lazy.get(com.google.firebase:firebase-common@@17.0.0:53)
at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(com.google.firebase:firebase-common@@17.0.0:155)
at com.google.firebase.FirebaseApp.initializeAllApis(com.google.firebase:firebase-common@@17.0.0:642)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:358)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:321)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:305)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@17.0.0:53)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1917)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1892)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@17.0.0:47)
at android.app.ActivityThread.installProvider(ActivityThread.java:6391)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5853)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) …Run Code Online (Sandbox Code Playgroud) android firebase firebase-authentication firebaseui google-cloud-firestore
firebaseui ×10
firebase ×8
android ×7
java ×2
angular ×1
angularfire2 ×1
facebook ×1
ios ×1
xcode ×1