关于我用androidstudio去完成我的数据库课程设计

题目:《健康管理系统》

语言:kotlin 

数据库:sqlite

1、登陆界面:

用了一个线性布局,去写的登陆界面

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="90dp"
            android:background="@color/teal_700"
            android:gravity="center"
            android:text="用户登陆"
            android:textColor="#FFFFFF"
            android:textSize="38sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="127dp"
        android:orientation="vertical">

        <EditText
            android:id="@+id/account_in"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:ems="10"
            android:hint="请输入用户名"
            android:inputType="textPersonName"
            android:minHeight="48dp" />

        <EditText
            android:id="@+id/password_in"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:ems="10"
            android:hint="请输入账号密码"
            android:inputType="numberPassword"
            android:minHeight="48dp" />

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="忘记密码" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="106dp"
        android:orientation="vertical">

        <Button
            android:id="@+id/button_log"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="登陆" />

        <Button
            android:id="@+id/signin_to_register"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="注册" />
    </LinearLayout>
</LinearLayout>

 对于代码分块还不是很擅长,目前也才仅仅能让其运行而不报错了

这块的花就是获取用户输入的内容,然后将其与数据库内的账号和密码进行比较一下,若相同,则可以进入下一个节目。

在此处还实现了一个插入数据的功能,后续再详细说。

package com.example.healthymore

import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.Intent
import android.database.Cursor
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.widget.ThemedSpinnerAdapter.Helper

class Register : AppCompatActivity() {
    @SuppressLint("MissingInflatedId", "Recycle", "Range")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_register2)
        supportActionBar?.hide()
        //俩按钮控件
        val buttonLog:Button = findViewById(R.id.button_log)
        val buttonRegister:Button = findViewById(R.id.signin_to_register)

        //账号密码的edittext控件
        val accountedit:EditText = findViewById(R.id.account_in)
        val passwordedit:EditText = findViewById(R.id.password_in)
        //
        val dbHelper = HealthDataBase(this,"Health.db",5)

        //这个是登陆按钮
        buttonLog.setOnClickListener{

            //获取输入的账号和密码
            val account = accountedit.text.toString()
            val password = passwordedit.text.toString()
            //然后要去数据库中查找已经注册过的
            //账号是主键,是具有唯一性的
            //然后查询其密码
            //若密码匹配则可以登陆
            val db = dbHelper.writableDatabase
            //var result:String
            //val accountget:String
            ///val UsersCursor = db.rawQuery("select Users_password from USERS where Users_account = account",null)
            //val UsersCursor = db.query("USERS",null,null,null,null,null,null,null,null,null,null)
            val Cursor = db.query("USERS",null,null,null,null,null,null)
            if(Cursor.moveToFirst()) {
                do {
                    val account_InDB = Cursor.getString(Cursor.getColumnIndex("Users_account"))
                    val password_InDB = Cursor.getString(Cursor.getColumnIndex("Users_password"))
                    if (account_InDB == account && password == password_InDB) {
                        val intent = Intent(this,MainActivity::class.java)
                        val data = account
                        Toast.makeText(this,"密码正确",Toast.LENGTH_SHORT).show()
                        intent.putExtra("extra_data", data)
                        startActivity(intent)
                        break;
                    }
                } while (Cursor.moveToNext())
            }
            val constitution_name__1 = "阳虚质"
            val constitution_number__1 = "C1"
            val values_constitution_1 = ContentValues().apply {
                put("Constitution_name", constitution_name__1)
                put("Constitution_number", constitution_number__1)
            }
            db.insert("CONSTITUTION", null, values_constitution_1)

            val constitution_name__2 = "阴虚质"
            val constitution_number__2 = "C2"
            val values_constitution_2 = ContentValues().apply {
                put("Constitution_name", constitution_name__2)
                put("Constitution_number", constitution_number__2)
            }
            db.insert("CONSTITUTION", null, values_constitution_2)


            val constitution_name__3 = "气虚质"
            val constitution_number__3 = "C3"
            val values_constitution_3 = ContentValues().apply {
                put("Constitution_name", constitution_name__3)
                put("Constitution_number", constitution_number__3)
            }
            db.insert("CONSTITUTION", null, values_constitution_3)

            val constitution_name__4 = "痰湿质"
            val constitution_number__4 = "C4"
            val values_constitution_4 = ContentValues().apply {
                put("Constitution_name", constitution_name__4)
                put("Constitution_number", constitution_number__4)
            }
            db.insert("CONSTITUTION", null, values_constitution_4)

            val constitution_name__5 = "湿热质"
            val constitution_number__5 = "C5"
            val values_constitution_5 = ContentValues().apply {
                put("Constitution_name", constitution_name__5)
                put("Constitution_number", constitution_number__5)
            }
            db.insert("CONSTITUTION", null, values_constitution_5)

            val constitution_name__6 = "血瘀质"
            val constitution_number__6 = "C6"
            val values_constitution_6 = ContentValues().apply {
                put("Constitution_name", constitution_name__6)
                put("Constitution_number", constitution_number__6)
            }
            db.insert("CONSTITUTION", null, values_constitution_6)

            val constitution_name__7 = "特禀质"
            val constitution_number__7 = "C7"
            val values_constitution_7 = ContentValues().apply {
                put("Constitution_name", constitution_name__7)
                put("Constitution_number", constitution_number__7)
            }
            db.insert("CONSTITUTION", null, values_constitution_7)

            val constitution_name__8 = "气郁质"
            val constitution_number__8 = "C8"
            val values_constitution_8 = ContentValues().apply {
                put("Constitution_name", constitution_name__8)
                put("Constitution_number", constitution_number__8)
            }
            db.insert("CONSTITUTION", null, values_constitution_8)

            val constitution_name__9 = "阳虚质"
            val constitution_number__9 = "C9"
            val values_constitution_9 = ContentValues().apply {
                put("Constitution_name", constitution_name__9)
                put("Constitution_number", constitution_number__9)
            }
            db.insert("CONSTITUTION", null, values_constitution_9)


        /*
            UsersCursor.moveToFirst()
            result = UsersCursor.getString(UsersCursor.getColumnIndex(password))
            if(result == password){
                val intent = Intent(this,MainActivity::class.java)
                startActivity(intent)
            } else{
                Toast.makeText(this,"账号不存在或密码输入错误",Toast.LENGTH_SHORT).show()
            }
             */

            //目前的解决办法,先将所有的用户的数据读取出来,然后存在一个数组里面
            //登陆的时候用数组进行登陆,或者建立一个类,在里面存储用户的数据,每次读取一个用户
            //就去生成一个新的对象

            /*
            if(UsersCursor.moveToFirst()){
                val passwordInDB:String = UsersCursor.getString(0)
                if(passwordInDB == password){
                    val intent = Intent(this,MainActivity::class.java)
                    startActivity(intent)
                } else{
                    Toast.makeText(this,"账号不存在或密码输入错误",Toast.LENGTH_SHORT).show()
                }
            } else{
                Toast.makeText(this,"账号不存在或密码输入错误",Toast.LENGTH_SHORT).show()
            }
            */

            //管理员账号
            /*
            if (account == "admin" && password == "123456"){
                //账号密码输入正确,进入软件页面
                val intent = Intent(this,MainActivity::class.java)
                startActivity(intent)
            } else{
                Toast.makeText(this,"账号不存在或密码输入错误",Toast.LENGTH_SHORT).show()
            }

             */

            /*
            if (account == "admin" && password == "123456"){
                //账号密码输入正确,进入软件页面
                val intent = Intent(this,MainActivity::class.java)
                startActivity(intent)
                } else{
                Toast.makeText(this,"账号不存在或密码输入错误",Toast.LENGTH_SHORT).show()
                }
             */
        }
        //注册按钮,转向注册界面的按钮
        buttonRegister.setOnClickListener{
            val intent = Intent(this,RegisterAccountActivity::class.java)
            val dbHelper = HealthDataBase(this,"Health.db",5)
            startActivity(intent)
        }
    }
}

后续的代码待我完善之后再继续发出,下方是用户注册功能

 

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐