-如果editTextText2中的数据在数据库中,我想将其打印到textview。 -我读了很多文章,看了很多视频,但我无法适应自己。大多数都不是kotlin语言,我是新手。 -他们打印出整个数据库或搜索某个单词。我做了这些事情。我想搜索 editTextText2 中的数据。(搜索将在列 col_name 中)
MainActivity.kt
binding.button3.setOnClickListener{
var data = db.readData()
binding.textView.text =""
/*for (i in 0 until data.size){
binding.textView.append(data.get(i).id.toString()+" "
+data.get(i).adsoyad+" "+data.get(i).yasi+"\n")}*/
for (i in 0 until data.size){
if (binding.editTextText2.toString()==data.get(i).adsoyad){binding.textView.append(data.get(i).adsoyad+"\n")}
else{binding.textView.text="yeni"+"\n"}
}
}
DataBaseHelper.kt
import android.content.ContentValues
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import android.widget.Toast
val database_name = "veritabanim"
val table_name = "kullanicilar"
val col_name = "adisoyadi"
val col_age = "yasi"
val col_id = "id"
class DataBaseHelper (var context: Context):SQLiteOpenHelper(context,
database_name,null,1) {
override fun onCreate(p0: SQLiteDatabase?) {
var createTable = " CREATE TABLE "+ table_name+"("+
col_id +" INTEGER PRIMARY KEY AUTOINCREMENT,"+
col_name +" VARCHAR(256),"+
col_age +" INTEGER)"
p0?.execSQL(createTable)
}
override fun onUpgrade(p0: SQLiteDatabase?, p1: Int, p2: Int) {
TODO("Not yet implemented")
}
fun insertData(kullanici: kullanici){
val db =this.writableDatabase
val cv = ContentValues()
cv.put(col_name,kullanici.adsoyad)
cv.put(col_age,kullanici.yasi)
var sonuc =db.insert(table_name,null,cv)
if (sonuc ==(-1).toLong()){
Toast.makeText(context,"hatali",Toast.LENGTH_LONG).show()
}else{
Toast.makeText(context,"başsarili",Toast.LENGTH_LONG).show()
}
}
fun readData(): MutableList<kullanici> {
var liste:MutableList<kullanici> = ArrayList()
val db = this.writableDatabase
var sorgu = "Select * from "+table_name
var sonuc = db.rawQuery(sorgu,null)
if (sonuc.moveToFirst()){
do {
var kullanici = kullanici()
kullanici.yasi = sonuc.getString(sonuc.getColumnIndexOrThrow(col_age)).toInt()
kullanici.id = sonuc.getString(sonuc.getColumnIndexOrThrow(col_id)).toInt()
kullanici.adsoyad = sonuc.getString(sonuc.getColumnIndexOrThrow(col_name))
liste.add(kullanici)
}while (sonuc.moveToNext())
}
sonuc.close()
db.close()
return liste
}
}
kullanici.kt
class kullanici {
var id:Int=0
var adsoyad:String=""
var yasi:Int=0
constructor(adsoyad:String,yasi:Int){
this.adsoyad =adsoyad
this.yasi =yasi
}
constructor(){}
}