Tag: firebase

用Kotlin将音频保存在Firebase上

你好,我正在我的项目上录音,但我想保存这个记录在用户名和主题名称的firebase数据库我怎么能做到这一点? 我的代码是60秒的音频记录,然后停止记录。 这是我的记录保存代码。 class MainActivity : AppCompatActivity(), MediaPlayer.OnCompletionListener { lateinit var recorder: MediaRecorder lateinit var player: MediaPlayer lateinit var file: File lateinit var button1: Button lateinit var button2: Button lateinit var button3: Button lateinit var saveButton: Button lateinit var tv1: TextView lateinit var timeText : TextView lateinit var topicText: EditText var handler: Handler = Handler() […]

地图在Firebase onDataChange在Kotlin

我的代码数星星(5星)在firebase和我有问题,如果它实时更新它计数不正确 (现在的Firebase) = 1 = 2 = 0 = 0 = 0 而且改变firebase后[add 1. + = 1] = 3 = 4 = 0 = 0 = 0 但是,如果我重新启动应用程序更改为正常的结果 = 2 = 2 = 0 = 0 = 0 为什么MutableMap第二次添加新星图? class FireBaseRealTime { var listofStarsCounter : ArrayList = ArrayList(listOf(0,0,0,0,0)) var mDataBase : DatabaseReference = FirebaseDatabase.getInstance().getReference() var […]

在Kotlin中使用FirebaseListAdapter

我试图实现一个ListView与FirebaseListAdapter附加在它上面。 我需要显示适配器内的字符串列表,所以我使用String作为generics。 Firebase数据库的结构是这样的: 我需要显示在users节点(102127 …,102133 …等)下可用的密钥,所以我使用此代码来创建适配器: val ref = db.getReference(MATCHES_REF).child(match).child(USERS_REF) val adapter = object : FirebaseListAdapter(this, String::class.java, R.layout.cell_friends, ref) { override fun populateView(view: View, s: String, i: Int) { val text = view.findViewById(R.id.text_view) as TextView text.text = s } } listView?.adapter = adapter 这是Android Studio中显示的错误: 错误:(50,32)以下函数都不能用所提供的参数调用:public constructor FirebaseListAdapter(activity:Activity !, parser :((DataSnapshot!) – > String!)!,@LayoutRes modelLayout:Int,query […]

firebase数据库:与Kotlin委托属性的模型

我正在使用Kotlin对象来处理我的Firebase数据库模型,如指南中所述 。 我有很多字段存储为字符串,但实际上是枚举,所以为了types安全我有枚举字段在模型中,再加上一个字符串委托属性,返回firebase存储的值(如问我建议问了一些问题前)。 现在,如果我在代码中获取/设置字符串委托,这些字段可以工作,但是当从/从数据库的json格式转换时,firebase库似乎跳过它们。 一个简单的例子: abstract class BaseModel { @Exclude open var path: String? = null // fails even if I delete this field! } class Weight() : BaseModel() { constructor(v: Double, u: WeightUnit) : this() { value = v unitEnum = u } var value: Double = 0.0 @Exclude var unitEnum: WeightUnit = WeightUnit.KG […]

Kotlin:从Firebase获取数据

我正在努力寻找一种从我的Firebase数据库中获取单个值的有效方法。 我来自与Swift合作。 当使用Swift从Firebase获取数据时,就像创建一个字典并通过它访问数据一样简单,这使得我可以访问这个值来做一些事情。 例如 guard let dictionary = snapshot.value as? [String: AnyObject] else { return } let username = dictionary[“username”] as? String if username == “Bob” { // do something } 我只能在网上find使用循环来循环Kotlin快照的文档和答案。 有没有一个高效的方法来做到这一点? 这里是我可以在网上find的。 这里有一个片段,让你开始。 对此,我真的非常感激。 mReference.getReference(“users”).addListenerForSingleValueEvent(object : ValueEventListener { override fun onCancelled(p0: DatabaseError?) { TODO(“not implemented”) } override fun onDataChange(snapshot: DataSnapshot?) { val children […]

Firebase的数据类空构造函数

data class MainPosts(val context: Context, val posts: Posts, val livePost: LivePosts?) { constructor() : this(null!!, null!!, null!!) } 嘿,我一直想弄清楚如何在Firebase的数据类上创建一个空的构造函数。 我试过了上面的代码,但没有正常工作。

Firebase数据库查询设计

我基本上有许多用户可以读取(但不能写)的条目列表。 这些项目显示在应用程序基于每个条目具有唯一的整数排序。 我想添加一种方法来允许每个用户喜欢一些x这些项目,使这些x项目首先出现在列表中。 有没有一种方法,我可以实现这一点使用firebase的查询,而不必为每个用户复制列表?

为什么这个ChildEventListener不从Firebase节点读取数据?

我有一个查询与图像链接中显示的ChildEventListener firebase节点 现在当我运行这个代码 mMessageRef.child(ScrollAppUtils.firebaseId).child(child.key).orderByKey().limitToLast(1).addChildEventListener(object : ChildEventListener { override fun onCancelled(p0: DatabaseError?) {} override fun onChildMoved(p0: DataSnapshot?, p1: String?) {} override fun onChildChanged(p0: DataSnapshot?, p1: String?) {} override fun onChildAdded(p0: DataSnapshot?, p1: String?) { Logger.d("inside onChild Added") if (p0!!.hasChildren()) { var lastMessage = p0.getValue(MessagesTwo::class.java) var dialog = DefaultDialog(child.key, user.metaData.profileImage, user.metaData.name, arrayListUser, lastMessage, 2) if (!listDialog.contains(dialog)) { […]

Android随着日期时间的变化,但是又放了一次,Firebase只是返回过期的令牌

我正在对我的应用程序进行一些测试,将移动当前日期更改为未来。 就像2,4,7,10天一样。 然后,我再次把手机放在当前的日期。 我正在使用Firebase进行身份验证,但现在,它只是返回过期的令牌。 我已经尝试重新启动手机,重新安装应用程序,问题依然存在。 在其他手机上工作正常,我没有改变日期。 PS:这个问题发生在三星S5上。 这是我得到的令牌,每次我向我的服务器的请求我再次得到令牌。 顺便说一下,我正在使用Firebase网站自定义令牌。 var mUser: FirebaseUser? = FirebaseAuth.getInstance().currentUser mUser?.getToken(true) ?.addOnCompleteListener { it -> it.result.token }

Firebase @Exclude with kotlin data class

我在Kotlin有这个数据类(例子): import com.google.firebase.database.Exclude data class User(val name: String = "", @Exclude val age: Int = 0) 我不想将年龄属性保存在firebase中。 @Exclude应该这样做,但它不工作,年龄仍然保存。 有没有解决办法?