数据库课程设计——1、登陆界面
数据库课程设计,android初步学习+kotlin
·
关于我用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)
}
}
}
后续的代码待我完善之后再继续发出,下方是用户注册功能
更多推荐
已为社区贡献1条内容
所有评论(0)