Tag: firebase

Firebase @PropertyName不起作用

故事 我在我的应用程序中使用Firebase实时数据库。 我有一个这样的模型。 class Item { int mItemName; // Simplified for brevity } 现在,这将该字段作为itemName存储在我的实时数据库中。 但是我不想使用这个命名约定。 我想命名模式是这个, item_name 。 我做了什么 我在这个字段上面使用@PropertyName(“item_name”), class Item { @PropertyName(“item_name”) int mItemName; // Simplified for brevity } 问题 Firebase似乎完全忽略了注释。 我无法改变序列化和反序列化的属性名称。 任何帮助将不胜感激。 编辑 这里是关注的完整模型类, public class FileModel { @PropertyName(“file_id”) String mFileId; @PropertyName(“file_name”) String mOriginalFileName; @PropertyName(“file_path”) String mFilePath; @PropertyName(“file_type”) String mFileType; @PropertyName(“last_modified”) Long […]

FirebaseListAdapter忽略orderByChild()和equalTo()

所以,我想让FirebaseListAdapter显示自动填充建议,因为在用户输入至少X(在我的情况下,1)字符。 val mSearchSuggestionsListView = findViewById(R.id.main_list_view) as ListView var suggestionAdapter: FirebaseSuggestionAdapter? = null mSearchEditText.editText.addTextChangedListener(object : TextWatcher { override fun afterTextChanged(editable: Editable) { if (editable.length > 1) { … createNewSuggestionAutoComplete(editable.toString().toLowerCase()) … } else { mSearchSuggestionsListView.adapter = null } } … //Other overrides trimmed }) fun createNewSuggestionAutoComplete(query: String) { val ref = FirebaseDatabase.getInstance().getReference(“myModels”) .orderByChild(“name”).equalTo(query).ref suggestionAdapter = FirebaseSuggestionAdapter(ref) … […]

Firebase请求从未在Android上完成

我目前正在用Android Studio 3(Canary)在Kotlin上构建一个原生的Android应用程序。 我也在使用Firebase实时数据库和Firebase身份validation。 这是我的gradle依赖: dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2’, { exclude group: ‘com.android.support’, module: ‘support-annotations’ }) compile ‘com.android.support:appcompat-v7:25.3.1’ compile ‘com.android.support:design:25.3.1’ compile ‘com.android.support.constraint:constraint-layout:1.0.2’ compile ‘com.squareup.picasso:picasso:2.5.2’ compile ‘com.google.firebase:firebase-database:11.0.4’ compile ‘com.google.firebase:firebase-auth:11.0.4’ compile ‘com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.2’ compile ‘com.android.support:support-v4:25.3.1’ compile ‘com.android.support:recyclerview-v7:25.3.1’ compile ‘com.firebaseui:firebase-ui-database:2.0.1’ testCompile ‘junit:junit:4.12’ compile “org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version” } 一切正常,直到与我的Firebase数据库通信停止完成。 我没有得到任何错误,但是我注册的所有听众都没有被触发。 例如: val ref = FirebaseDatabase.getInstance().reference.child(“message”) ref.setValue(“Test”, object: DatabaseReference.CompletionListener […]

如何在Kotlin上使用Firebase UI数据库?

val adapter = FirebaseRecyclerAdapter( Discount::class.java, R.layout.fragment_main_day_item, Holder::class.java, FirebaseDatabase.getInstance().getReference() ) { override fun populateViewHolder(holder: Holder, dis: Discount, pos: Int){ } } 文档在这里 我如何使用Kotlin来处理这个问题 编辑 val mAdapter = object : FirebaseRecyclerAdapter( Chat::class.java, R.layout.fragment_main_day_item, ChatHolder::class.java, ref) { public override fun populateViewHolder(holder: ChatHolder, chat: Chat, position: Int) { } } 我把java转换成了kotlin,它可以工作。

如何获取在Firestore数据库中的Android文档ID或名称传递到另一个活动?

我正在使用FirestoreRecyclerAdapter 。 我能够得到每个文件的模型和属性。 但是我想获取文档ID。 我尝试使用model. 自动建议,但没有文件编号或名称 我有以下DealsHolder类。 这是在Kotlin。 然而其余的所有类都在java中。 package com.guidoapps.firestorerecycleradaptersample import com.google.firebase.firestore.IgnoreExtraProperties @IgnoreExtraProperties data class DealsResponse(var title:String? = null, var price:String? = null, var dealPrice:String? = null, var image:String? = null, var description: String? = null) 下面我在onCreate()中初始化的函数 private void getDealsList(){ Query query = db.collection(“deals”).orderBy(“dateTime”, Query.Direction.DESCENDING); FirestoreRecyclerOptions response = new FirestoreRecyclerOptions.Builder() .setQuery(query, DealsResponse.class) .build(); adapter […]

Firebase对象没有setter / getter

这是我的Java类: public class OnlineMatch{ private FacebookUser firstplayer; private FacebookUser secondplayer; public OnlineMatch(){ } public OnlineMatch(FacebookUser firstplayer, FacebookUser secondplayer) { this.firstplayer = firstplayer; this.secondplayer = secondplayer; } public FacebookUser getFirstplayer() { return firstplayer; } public void setFirstplayer(FacebookUser firstplayer) { this.firstplayer = firstplayer; } public FacebookUser getSecondplayer() { return secondplayer; } public void setSecondplayer(FacebookUser secondplayer) { this.secondplayer […]

FirebaseRecyclerAdapter – populateViewHolder不访问数据

我试图从我的实时数据库显示一些数据到一个回收适配器没有运气。 我已经使FirebaseRecyclerAdapter在另一个活动(java)上工作,但在这一个上它不起作用(kotlin)。 奇怪的是,如果我使用ValueEventListener,数据返回就好了,但是FirebaseRecyclerAdapter不起作用。 类: class FriendsActivity : AppCompatActivity() { private lateinit var friendsDb: DatabaseReference private var currentUser: FirebaseUser? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_friends) supportActionBar?.title = “Friends” friends_main_rec.layoutManager = LinearLayoutManager(this) friends_main_rec.setHasFixedSize(true) currentUser = FirebaseAuth.getInstance().currentUser friendsDb = FirebaseDatabase.getInstance().reference.child(“FRIENDS”) .child(currentUser!!.uid) val friendsRecyclerViewAdapter = object : FirebaseRecyclerAdapter( Friends::class.java, R.layout.friend_single, FriendsViewHolder::class.java, friendsDb) { override fun populateViewHolder(viewHolder: […]

来自firebase的recyclerview onClick getkey

如何在RecyclerView获取kotlin中的密钥以将其发送到其他活动? 我尝试使用getKey()和position但它不起作用。 这是我的代码: class RecyclerAdapter (val userlist:ArrayList,ccc: Context): RecyclerView.Adapter() { var mcontext =ccc val Postdata = java.util.ArrayList() lateinit var ref:DatabaseReference override fun getItemCount(): Int { return userlist.size } override fun onBindViewHolder( holder: ViewHolder?, position: Int) { val user: RecyClass = userlist[position] ref = FirebaseDatabase.getInstance().getReference(user.toString()) holder?.txtviewdesc?.text = user.desc Picasso.with(mcontext).load(user.image).into(holder?.imageviewx) holder?.setOncustomcilcklistner(object :Custumclicklistner33{ override fun oncustomOnClickListner(view: View, pos: […]

如何从Firebase中的表中同步获取所有行?

考虑下面的代码片段: public ArrayList getList(GenericModel model) { ValueEventListener postListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { ArrayList genericModels = new ArrayList(); for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) { GenericModel genericModel = postSnapshot.getValue(model.getClass()); genericModels.add(genericModel); } Collections.sort(genericModels, (o1, o2) -> o1.getDate().compareTo(o2.getDate())); return genericModels; } @Override public void onCancelled(DatabaseError databaseError) { return null; } }; mDatabase.child(model.getTableName()).child(mUser.getUid()).addListenerForSingleValueEvent(postListener); } […]

如何创建需要find目标文档的Firestore事务

我正在寻找一种方式来创建一个firestore事务,我从查询中find一个文档,然后在一个事务中修改这个文档。 这些线(科特林)的东西: firestore.runTransaction { transaction -> val snapshot = transaction.get(db.collection(“document”) .whereEqualTo(“someField”, null) .orderBy(“creationDate”, ASCENDING) .limit(1L)) val myObject = snapshot.toObject(MyObject::class.java) myObject.someFiled = “123” transaction.set(snapshot.reference, myObject) } 这里的问题是.limit(1)方法返回的查询不是一个DocumentReference,它是事务接受的唯一types。 所以我的问题是,如何在java / kotlin中实现这样的事务呢? 我在这个博客文章中使用admin sdk看到类似的东西: return trs.get(db.collection(‘rooms’) .where(‘full’, ‘==’, false) .where(‘size’, ‘==’, size) .limit(1));