Kotlin连接SQLite数据库并实现简单的数据存储计算

SQLite:无需部署的轻量级数据库

当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择

它在Androdi studio里面直接就能用

下面我们介绍Kotlin连接SQLite数据库并实现简单的数据存储计算

我们首先拖动editext、button、textview组件,如下图所示

Kotlin连接SQLite数据库并实现简单的数据存储计算_第1张图片

再把下面的代码复制一下

package com.example.administrator.hualicantee //这里改成自己的

import android.content.Context
import android.os.Bundle
import android.os.Message
import android.support.design.widget.BottomNavigationView
import android.support.v7.app.AppCompatActivity
import android.text.TextUtils
import kotlinx.android.synthetic.main.activity_main.*
import android.view.View
import android.widget.TextView
import android.widget.Toast

class MainActivity : AppCompatActivity() ,View.OnClickListener{

    private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
        when (item.itemId) {
            R.id.navigation_home -> {
                message.setText(R.string.title_home)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_dashboard -> {
                message.setText(R.string.title_dashboard)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_notifications -> {
                message.setText(R.string.title_notifications)
                return@OnNavigationItemSelectedListener true
            }
        }
        false
    }



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

            button2.setOnClickListener{

                var price:Int=editText.text.toString().toInt() //改成自己的
                var num:Int=editText2.text.toString().toInt()  //改成自己的
                var totle:Int=price*num
                val db=this.openOrCreateDatabase("Mdb.db",Context.MODE_PRIVATE,null)
                db.execSQL("create table if not exists tableC(Price varchar(20),Num varchar(20),Totle varchar(20))")
                db.execSQL("insert into tableC values('$price','$num','$totle')")
                Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show()
                editText.setText("")
                editText2.setText("")  //改成自己的id,其他同理
                editText4.setText("")   //改成自己的id,其他同理
                db.close()
            }


        button3.setOnClickListener{
            val db=this.openOrCreateDatabase("Mdb.db",Context.MODE_PRIVATE,null)
            val cursor=db.rawQuery("select * from tableC",null)
            cursor.moveToNext()
            editText4.setText(cursor.getString(2))
            Toast.makeText(this,"总价计算中...",Toast.LENGTH_SHORT).show()
            db.execSQL("drop table tableC ")


        }//创造一个按钮,并让其处于监听状态


    }


    override fun onClick(v: View?) {
        /*
        when(v?.id){
            R.id.button ->
        showbutton("测试成功")
        R.id.button2 ->
        showbutton2("保存成功")
        R.id.button3 ->  
        showbutton3("计算中")
    }
    */

    }


}

暂时有Bug,当输入的数据为空值的时候,程序会自动退出,之后我们会对程序进行修改,其他应该没问题

 

你可能感兴趣的:(Kotlin)