package com.example.mysqlinfoapp import android.content.ContentValues import android.content.DialogInterface import android.os.Bundle import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import com.example.mysqlinfoapp.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) var helper = MyDBHelper(applicationContext) var db = helper.readableDatabase var rs = db.rawQuery("SELECT * FROM USERS", null) binding.imagebuttonFirst.setOnClickListener { if ( rs.moveToFirst() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else { Toast.makeText(applicationContext, "No Data!", Toast.LENGTH_SHORT).show() } } binding.imagebuttonLast.setOnClickListener { if ( rs.moveToLast() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else { Toast.makeText(applicationContext, "No Data!", Toast.LENGTH_SHORT).show() } } binding.imagebuttonNext.setOnClickListener { if ( rs.moveToNext() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else if ( rs.moveToFirst() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else { Toast.makeText(applicationContext, "No Data!", Toast.LENGTH_SHORT).show() } } binding.imagebuttonPrev.setOnClickListener { if ( rs.moveToPrevious() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else if ( rs.moveToLast() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else { Toast.makeText(applicationContext, "No Data!", Toast.LENGTH_SHORT).show() } } binding.imagebuttonAdd.setOnClickListener { var cv = ContentValues() cv.put("NAME", binding.edittextName.text.toString()) cv.put("EMAIL", binding.edittextEmailAddress.text.toString()) cv.put("AGE", binding.edittextAge.text.toString().toInt()) cv.put("NATION", binding.edittextNation.text.toString()) db.insert("USERS",null, cv) rs.requery() var ad = AlertDialog.Builder(this) ad.setTitle("Person Insert") ad.setMessage("The person was added to the table!") ad.setPositiveButton("Ok", DialogInterface.OnClickListener{ dialogInterface, i -> binding.edittextName.setText("") binding.edittextEmailAddress.setText("") binding.edittextAge.setText("") binding.edittextNation.setText("") binding.edittextName.requestFocus() }) ad.show() } binding.imagebuttonEdit.setOnClickListener { var cv = ContentValues() var pos = rs.position cv.put("NAME", binding.edittextName.text.toString()) cv.put("EMAIL", binding.edittextEmailAddress.text.toString()) cv.put("AGE", binding.edittextAge.text.toString().toInt()) cv.put("NATION", binding.edittextNation.text.toString()) // az adatbázisban módosítjuk az adatokat db.update("USERS", cv, "id=?", arrayOf(rs.getString(0))) // frissítjük az adatokat a memóriában az adatbázisban tároltal rs.requery() var ad = AlertDialog.Builder(this) ad.setTitle("Person Update") ad.setMessage("The person was updated in the table!") ad.setPositiveButton("Ok", DialogInterface.OnClickListener{ dialogInterface, i -> rs.move(pos) }) ad.show() } binding.imagebuttonRemove.setOnClickListener { db.delete("USERS", "id=?", arrayOf(rs.getString(0))) rs.requery() var ad = AlertDialog.Builder(this) ad.setTitle("Person Delete") ad.setMessage("The person was deleted from the table!") ad.setPositiveButton("Ok", DialogInterface.OnClickListener{ dialogInterface, i -> if ( rs.moveToFirst() ) { binding.textviewId.setText("id: " + rs.getInt(0).toString()) binding.edittextName.setText(rs.getString(1)) binding.edittextEmailAddress.setText(rs.getString(2)) binding.edittextAge.setText(rs.getInt(3).toString()) binding.edittextNation.setText(rs.getString(4)) } else { Toast.makeText(applicationContext, "No Data!", Toast.LENGTH_SHORT).show() } }) ad.show() } binding.imagebuttonClean.setOnClickListener { binding.edittextName.setText("") binding.edittextEmailAddress.setText("") binding.edittextAge.setText("") binding.edittextNation.setText("") binding.edittextName.requestFocus() } } }