Tag: firebase

FirebaseRecyclerAdapter无法填充结果

我想在RecyclerView中使用FirebaseRecyclerAdapter并不使用FirebaseListAdapter来显示EmployeeDetails。 但活动没有显示任何内容 火力地堡: “EmployeeDetails” : { “3dTxdRlBVUZ0jzH4U5MR4TOKZnD2” : { “address” : “na”, “name” : “na”, “phoneNum” : “na”, “type” : “Employee” }, “wEz6XRMQcAU9cQJLR82uVwVMrC83” : { “address” : “na”, “name” : “na”, “phoneNum” : “na”, “type” : “Admin” } } ViewEmployeeDetails.java public class ViewEmployeeDetails extends AppCompatActivity { RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; DatabaseReference employee; FirebaseRecyclerAdapter adapter; @Override […]

如何知道firebase的ChildEventListener是否找到了孩子?

所以我试图通过他们的电子邮件获得用户密钥,问题是我在我的代码中不知道如果查询实际上发现了什么或者没有…所以我假设如果我在onchilddded中查询是成功的一个孩子被发现所以我会把钥匙传递到另一个活动并停止当前的活动,但是当我运行应用程序时,整个代码被执行..我觉得我的方式有点错,但我没有找到任何方法来知道是否查询是成功的还是找到了孩子….如果你有任何想法请求帮助…… public void searchemail(String email){ Firebase ref = new Firebase(“https://.firebaseio.com/users”); Query queryRef = ref.orderByChild(“Email”).equalTo(email); ChildEventListener listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { userkey = dataSnapshot.getKey(); homeintent.putExtra(“key”, userkey); startActivity(homeintent); finish(); return; // I want code to stop here }} queryRef.addChildEventListener(listener); Toast toast = Toast.makeText(this, “email not found”, Toast.LENGTH_SHORT); // Im […]

Android Firestore将文档引用数组转换为List

在我的Firestore中,我有一个users集合,其中文档可以有一个bookmarks字段,这是一个引用数组: 这些参考中的每一个都指向teachers集合中的文档: 在我的Android应用程序中,我想创建一个方法getBookmarks ,它返回一个POJO List ,每个POJO代表一个教师。 这是我编码的,但我认为有两个问题: 我无法将List返回给我的callback ,因为我正在单独获取每个文档引用 我认为为集合中的每个项目附加一个回调(用户控制的大小,用户可以拥有他/她想要的多个书签)可能会对性能产生很大影响。 public void getBookmarks(@NonNull OnSuccessListener<List> callback) { checkNotNull(callback); // document reference points to the user document which is calling this method documentReference.get() .addOnSuccessListener((documentSnapshot) -> { ArrayList teacherReferences = (ArrayList) documentSnapshot.get(“bookmarks”); Iterables.forEach(teacherReferences, (documentReference) -> { documentReference.get() .addOnSuccessListener((teacherSnapshot) -> { TeacherPojo teacherPojo = teacherSnapshot.toObject(TeacherPojo.class); // now? }); }); […]

重复条目:com / google / android / gms / auth / api / signin / internal / zzf.class

在更新了我的google play服务和google存储库之后,我还更新了我的firebase sdk,当我开始运行应用程序时出现此错误,但是当我对它进行gradle时没有编译错误。 这是我得到的错误: Error:Execution failed for task ‘:app:transformClassesWithJarMergingForDebug’. com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / google / android / gms / auth / api / signin / internal / zzf.class 这是我的gradle应用程序: apply plugin: ‘com.android.application’ android { compileSdkVersion 24 buildToolsVersion “24.0.2” defaultConfig { applicationId “com.myapp.maecea.ipon4” minSdkVersion 16 targetSdkVersion 24 versionCode 5 versionName “5.0” multiDexEnabled true } buildTypes { release { […]

等到检索到Firestore数据以启动活动

我已经制作了一个POJO对象列表,它从我的Cloud Firestore数据库中获取值。 此List本身就是一个类,每次创建新List时都会检查属性。 问题是列表没有填写在创建活动上,而是在之后的时间。 我已经尝试添加循环,任务,等待,但没有得到所需的结果。 以下是我如何令人满意地检索我的数据: private void retrieveData(){ reference = firestore.collection(“attractions”); reference.addSnapshotListener(new EventListener() { @Override public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) { attractionList.clear(); for (DocumentSnapshot snapshot : queryDocumentSnapshots) { Attraction attraction = snapshot.toObject(Attraction.class); addAttractions(attraction); } } }); } 每次创建新对象时都会检索数据: public AttractionList() { firestore.setFirestoreSettings(settings); reference = firestore.collection(“attractions”); attractionList = new ArrayList(); retrieveData(); } […]

注销和登录后,用户信息将重新初始化

每当用户注销并尝试再次登录时, JSON树中的所有属性都将重新初始化。 这是我的代码: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RC_SIGN_IN) { IdpResponse response = IdpResponse.fromResultIntent(data); if (resultCode == RESULT_OK) { // Sign-in succeeded, set up the UI FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser(); FirebaseUserMetadata metadata =mFirebaseAuth.getCurrentUser().getMetadata(); if (metadata.getCreationTimestamp() == metadata.getLastSignInTimestamp()) { // The user is new, show […]

从firebase android中检索数据

我在法国学习,我很难找到法语教程来解决我的问题。 因此,我不得不提出我的问题,希望得到满意的解决方案。 我的问题是我在firebase上阅读我的数据时遇到了麻烦,我花了三天时间。 我有这样的结构: 我已经开始编写代码,我能够恢复密钥,但我无法恢复这些值“nom”“argent”等。 private Firebase mRef ; mRef = new Firebase(“https://authent-50e6b.firebaseio.com/users”); mRef.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { String cle = dataSnapshot.getKey(); Toast.makeText(ListeActivity.this,”la cle est : “+cle ,Toast.LENGTH_SHORT).show();

recyclerview没有显示来自firebase的数据

我在firebase数据库中有数据,我希望获取它们并在recyclerview中显示它们。 对于不同类型的数据,我有不同的颜色背景。 它正在获取数据但未在recyclerview中显示。 提取没有错误,只是显示中的问题。 public class MessageAdapter extends RecyclerView.Adapter{ private List userMessageList; private FirebaseAuth mAuth; public MessageAdapter (ListuserMessageList) { this.userMessageList = userMessageList; } public class MessageViewHolder extends RecyclerView.ViewHolder{ public TextView messageText; public MessageViewHolder(View view) { super(view); messageText = (TextView)view.findViewById(R.id.message_text); } } @Override public int getItemCount() { return userMessageList.size(); } @Override public MessageViewHolder onCreateViewHolder(ViewGroup parent, int […]

如何在Android中保存FCM令牌?

我跟着这个在Firebase注册我的deivce 在这里,我试图显示并保存通知令牌 public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService { private static final String TAG = “MyFirebaseIIDService”; @Override public void onTokenRefresh() { String refreshedToken = FirebaseInstanceId.getInstance().getToken(); Log.d(TAG, “Refreshed token: ” + refreshedToken); storeToken(refreshedToken); } private void storeToken(String token) { //saving the token on shared preferences SharedPrefManager.getInstance(getApplicationContext()).saveDeviceToken(token); } } 当我尝试注册时,总是说Token Token not generated从MainActivity Token not generated 所以我的应用程序已连接到Firebase ..我知道FirebaseInstanceIdService已弃用我也试过这个 […]

如何从dataSnapshot获取价值?

当我调试此代码时,在databaseUser中dataSnapshot具有来自User in database的值,但是在对象user1中没有添加,它全部为null。 我不明白,因为在对象事件中正常接收值。 databaseEvent.child(getKeyEvent()).addListenerForSingleValueEvent( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { final Event event = dataSnapshot.getValue(Event.class); user = FirebaseAuth.getInstance().getCurrentUser(); if(user != null) { databaseUser.orderByChild(“userEmail”).equalTo(user.getEmail()).addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { //User already exists User user1 = dataSnapshot.getValue(User.class); } } }); 我的数据库用户,仅供测试: public class User { String userId; […]