У меня возникла проблема при попытке сохранить данные массива из Android-котлина в базе данных Firebase.
Я хочу сохранить данные, как показано ниже: Изображение 1
но когда я сохранял данные, в базе данных Firebase он всегда обновлял объект "pemasukan", а не создавал новые данные.
сохраненные данные всегда были такими, как на картинке ниже Изображение 2
Любой может помочь мне, пожалуйста.Извините за мой английский;)
Это код, который Iam использует для
class PemasukanActivity : AppCompatActivity() {
private lateinit var database : FirebaseDatabase
private lateinit var mRef : DatabaseReference
lateinit var currentDate : String
private val id_user = "agus"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_pemasukan)
btnSimpan()
}
//aksi tombol untuk simpan data
private fun btnSimpan(){
btn_simpan_pemasukan.setOnClickListener {
val pemasukan = Pemasukan()
if (edt_nama_barang.length() > 3){
pemasukan.keterangan = edt_nama_barang.text.toString()
}else{
edt_nama_barang.error ="Nama Barang Harus lebih dari 3 huruf"
return@setOnClickListener
}
if (edt_jumlah.length() > 3){
var jumlah = edt_jumlah.text.toString()
pemasukan.jumlah = jumlah.toLong()
}else{
edt_jumlah.error ="Jumlah Harus lebih dari 3 huruf"
return@setOnClickListener
}
simpanData(pemasukan)
}
}
//simpan data ke firebase
private fun simpanData(listPemasukan :Pemasukan){
val sdf = SimpleDateFormat("ddMyyyy")
currentDate = sdf.format(Date())
val data = Dataitem()
data.id = currentDate
data.user_id = id_user
val nameList = ArrayList<Pemasukan>(Arrays.asList(listPemasukan))
data.pemasukan = nameList
database = FirebaseDatabase.getInstance()
mRef = database.getReference("pendataan")
mRef.child("${currentDate}").setValue(data)
.addOnSuccessListener {
Toast.makeText(this, "Success . .", Toast.LENGTH_LONG).show()
edt_nama_barang.text.clear()
edt_jumlah.text.clear()
}
.addOnFailureListener {
Toast.makeText(this, "Gagal Input Data", Toast.LENGTH_LONG).show()
it.printStackTrace()
Log.e("FIREBASE_ERROR", it.message)
}
}
}
И вот такой класс POJO
data class Dataitem (
var id : String = "",
var user_id : String = "",
var pemasukan : ArrayList<Pemasukan>? = null,
var pengeluaran : ArrayList<Pengeluaran>? = null
)
data class Pengeluaran (var jumlah : Long = 0,
var keterangan : String = "")
data class Pemasukan (var jumlah : Long = 0,
var keterangan : String ="")