본문 바로가기

Dead Code/DEPRECATED-KOTLIN

[코틀린코드연습장] SQLite




간단한 SQLite 연습.




[Main.kt]

class MainActivity : AppCompatActivity() {

var dbHandler : DatabaseHelper? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

dbHandler = DatabaseHelper(this)

button.setOnClickListener {
if(validation()) {
val users: Users = Users()
var success : Boolean = false
users.firstName = editText.text.toString()
users.lastName = editText2.text.toString()

success = dbHandler!!.addUser(users)

if(success) {
val toast = Toast.makeText(this,
"Save Successfully",
Toast.LENGTH_SHORT).show()
}
}
}

button2.setOnClickListener {
var users = dbHandler!!.getAllUser()
textView.setText(users)
}
}

fun validation() : Boolean {
var validate : Boolean = false

if(!editText.text.isEmpty() &&
!editText2.text.isEmpty()) {
validate = true
}else {
validate = false
val toast = Toast.makeText(this, "Fill all details",
Toast.LENGTH_SHORT).show()
}
return validate
}

}




[DBHelper.kt]

class DatabaseHelper(context: Context)
:SQLiteOpenHelper(context, DB_NAME, null, DB_VERSION) {

companion object {
private val DB_NAME = "UserDB"
private val DB_VERSION = 1
private val TABLE_NAME = "users"
private val ID = "id"
private val FIRST_NAME = "FirstName"
private val LAST_NAME = "LastName"
}

override fun onCreate(db: SQLiteDatabase?) {
val createTable =
"CREATE TABLE $TABLE_NAME" +
"($ID Integer PRIMARY KEY," +
"$FIRST_NAME TEXT," +
"$LAST_NAME TEXT)"
db?.execSQL(createTable)
}

override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {}

fun addUser(user: Users) : Boolean {

val db = this.writableDatabase
val values = ContentValues()

values.put(FIRST_NAME, user.firstName)
values.put(LAST_NAME, user.lastName)

val _success = db.insert(TABLE_NAME, null, values)
db.close()

return (Integer.parseInt("$_success") != -1)
}

fun getAllUser() : String {

var allUser: String = "";
val db = readableDatabase
val selectALLQuery = "SELECT * FROM $TABLE_NAME"
val cursor = db.rawQuery(selectALLQuery, null)
var id : String =""
var firstName = ""
var lastName = ""
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
id = cursor.getString(cursor.getColumnIndex(ID))
firstName = cursor.getString(cursor.getColumnIndex(FIRST_NAME))
lastName = cursor.getString(cursor.getColumnIndex(LAST_NAME))

allUser = "$allUser \n $id $firstName $lastName"

} while (cursor.moveToNext())
}
}
cursor.close()
db.close()
return allUser
}

}



[User.class]

class Users {
var id : Int = 0
var firstName : String = ""
var lastName : String = ""
}