Skip to content
Snippets Groups Projects
Commit 4ef8b6de authored by Laila Bilbina's avatar Laila Bilbina
Browse files

Add transaksi

parent fc5171ef
Branches
Tags
3 merge requests!7Feat/chart,!6Feat/navbar,scan,email,!5Crud
...@@ -4,18 +4,18 @@ ...@@ -4,18 +4,18 @@
<value> <value>
<entry key="app"> <entry key="app">
<State> <State>
<runningDeviceTargetSelectedWithDropDown> <targetSelectedWithDropDown>
<Target> <Target>
<type value="RUNNING_DEVICE_TARGET" /> <type value="QUICK_BOOT_TARGET" />
<deviceKey> <deviceKey>
<Key> <Key>
<type value="SERIAL_NUMBER" /> <type value="VIRTUAL_DEVICE_PATH" />
<value value="emulator-5554" /> <value value="C:\Users\lalbi\.android\avd\Pixel_3a_API_32.avd" />
</Key> </Key>
</deviceKey> </deviceKey>
</Target> </Target>
</runningDeviceTargetSelectedWithDropDown> </targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2024-04-03T17:57:13.057353Z" /> <timeTargetWasSelectedWithDropDown value="2024-04-03T17:59:16.032320400Z" />
</State> </State>
</entry> </entry>
</value> </value>
......
package com.example.bondoman
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.example.bondoman.retrofit.data.Transaction
class TransactionAdapter(private val listData: ArrayList<Transaction>): RecyclerView.Adapter<TransactionAdapter.DataViewHolder>(){
override fun onBindViewHolder(holder: DataViewHolder, position: Int) {
val currentData = listData[position]
holder.txtName.text = currentData.name
holder.txtCategory.text = currentData.category
val temp = "IDR " + currentData.price.toString()
holder.txtPrice.text = temp
holder.txtLocation.text = currentData.location
holder.txtDate.text = currentData.date
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DataViewHolder {
val view: View = LayoutInflater.from(parent.context).inflate(R.layout.list_transaction,parent,false)
return DataViewHolder(view)
}
override fun getItemCount(): Int {
return listData.count()
}
class DataViewHolder(item: View) : RecyclerView.ViewHolder(item) {
val txtName: TextView = item.findViewById(R.id.itemName)
val txtCategory: TextView = item.findViewById(R.id.category)
val txtDate: TextView = item.findViewById(R.id.itemDate)
val txtPrice : TextView = item.findViewById(R.id.itemPrice)
val txtLocation : TextView = item.findViewById(R.id.itemLocation)
}
}
\ No newline at end of file
...@@ -58,7 +58,7 @@ class TransactionAdapter(private val list: ArrayList<TransactionEntity>): Recycl ...@@ -58,7 +58,7 @@ class TransactionAdapter(private val list: ArrayList<TransactionEntity>): Recycl
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view: View = LayoutInflater.from(parent.context).inflate(R.layout.row_data,parent,false) val view: View = LayoutInflater.from(parent.context).inflate(R.layout.row_data, parent, false)
return ViewHolder(view) return ViewHolder(view)
} }
......
package com.example.bondoman.retrofit.data
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import com.example.bondoman.retrofit.data.dao.TransactionDao
import com.example.bondoman.retrofit.data.entity.TransactionEntity
@Database(entities = [TransactionEntity::class], version = 1)
abstract class TransactionDB : RoomDatabase() {
abstract fun transactionDao(): TransactionDao
companion object{
private var instance : TransactionDB? = null
fun getInstance(context: Context) : TransactionDB{
if (instance==null){
instance = Room.databaseBuilder(context, TransactionDB::class.java, "transaction-database")
.allowMainThreadQueries()
.build()
}
return instance!!
}
}
}
\ No newline at end of file
package com.example.bondoman.retrofit.data.dao
import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.Query
import com.example.bondoman.retrofit.data.entity.TransactionEntity
@Dao
interface TransactionDao {
@Query("SELECT * FROM transactionentity")
fun getAll(): List<TransactionEntity>
@Query("SELECT * FROM transactionentity WHERE id IN (:userIds)")
fun loadAllByIds(userIds: IntArray): List<TransactionEntity>
@Query("SELECT * FROM transactionentity WHERE name LIKE :name AND " +
"price LIKE :nominal LIMIT 1")
fun findByName(name: String, nominal: String): TransactionEntity
@Insert
fun insertAll(vararg transactions: TransactionEntity)
@Delete
fun delete(transaction: TransactionEntity)
}
\ No newline at end of file
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="220dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="8dp">
<TextView
android:id="@+id/KategoriTransaksi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/cornered_simpan"
android:textColor="@color/light_grey"
android:padding="4dp"
android:textSize="12sp"
/>
<TextView
android:id="@+id/NamaTransaksi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:textSize="16sp"
/>
<TextView
android:id="@+id/TanggalTransaksi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="90dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_marginStart="0dp"
android:orientation="vertical"
android:gravity="end">
<TextView
android:id="@+id/NominalTransaksi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:textSize="16sp"
android:layout_weight="1"/>
<TextView
android:id="@+id/LokasiTransaksi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:textSize="12sp"
android:ellipsize="end"
android:maxLines="1"
android:layout_weight="2"
android:clickable="true" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment