From ceabe72e56e8aec0efd5d31047e3df084422a4b0 Mon Sep 17 00:00:00 2001
From: yx <2052246757@qq.com>
Date: Sat, 15 Apr 2023 22:47:43 +0800
Subject: [PATCH] test4
---
Test1/android/database/sqlite/annotations.xml | 1 +
Test1/app/src/main/AndroidManifest.xml | 4 ++
.../example/test1/Activity/IndexActivity.java | 4 ++
.../example/test1/Activity/MainActivity.java | 69 +++++++++++--------
.../test1/Activity/registerActivity.java | 24 ++++++-
.../main/java/com/example/test1/Database.java | 56 +++++++++++++++
.../app/src/main/res/layout/activity_main.xml | 1 -
Test1/app/src/main/res/layout/user.xml | 12 ++--
8 files changed, 135 insertions(+), 36 deletions(-)
create mode 100644 Test1/android/database/sqlite/annotations.xml
create mode 100644 Test1/app/src/main/java/com/example/test1/Activity/IndexActivity.java
create mode 100644 Test1/app/src/main/java/com/example/test1/Database.java
diff --git a/Test1/android/database/sqlite/annotations.xml b/Test1/android/database/sqlite/annotations.xml
new file mode 100644
index 0000000..ef2fc53
--- /dev/null
+++ b/Test1/android/database/sqlite/annotations.xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Test1/app/src/main/AndroidManifest.xml b/Test1/app/src/main/AndroidManifest.xml
index 25f2fad..7cebf00 100644
--- a/Test1/app/src/main/AndroidManifest.xml
+++ b/Test1/app/src/main/AndroidManifest.xml
@@ -17,6 +17,10 @@
+
diff --git a/Test1/app/src/main/java/com/example/test1/Activity/IndexActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/IndexActivity.java
new file mode 100644
index 0000000..76cfe0c
--- /dev/null
+++ b/Test1/app/src/main/java/com/example/test1/Activity/IndexActivity.java
@@ -0,0 +1,4 @@
+package com.example.test1.Activity;
+
+public class IndexActivity {
+}
diff --git a/Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java
index 5606191..ffd3514 100644
--- a/Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java
+++ b/Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java
@@ -1,31 +1,27 @@
package com.example.test1.Activity;
-import androidx.appcompat.app.AppCompatActivity;
-
import android.content.Intent;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
-import com.example.test1.R;
+import androidx.appcompat.app.AppCompatActivity;
-public class MainActivity extends AppCompatActivity {
- Button register;
+import com.example.test1.Database;
+import com.example.test1.R;
- private EditText usernameEdit, passwordEdit;
+public class MainActivity extends AppCompatActivity implements View.OnClickListener {
+ private Button register,login;
+ private EditText passwordEdit,usernameText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
-
- register = (Button)findViewById(R.id.register);
- register.setOnClickListener(this::onClick);
- Button login = (Button) findViewById(R.id.login);
- login.setOnClickListener(this::onClick1);
-
init();
}
@@ -33,8 +29,12 @@ public class MainActivity extends AppCompatActivity {
* 界面组件初始化
*/
private void init() {
- usernameEdit = findViewById(R.id.username);
- passwordEdit = findViewById(R.id.password);
+ usernameText=findViewById(R.id.username);
+ passwordEdit=findViewById(R.id.password);
+ login=findViewById(R.id.login);
+ login.setOnClickListener(this::onClick1);
+ register=findViewById(R.id.register);
+ register.setOnClickListener(this::onClick);
}
@@ -44,24 +44,37 @@ public class MainActivity extends AppCompatActivity {
}
public void onClick1(View view) {
switch (view.getId()){
+ case R.id.register:
+ Intent intent1=new Intent(MainActivity.this, registerActivity.class);
+ startActivity(intent1);
+ break;
case R.id.login:
- validateRegister();
+ if(validateLogin()){
+ Intent intent = new Intent(MainActivity.this, CategoryActivity.class);
+ Bundle bundle=new Bundle();
+ Database dateBase=new Database(MainActivity.this);
+ bundle.putString("username",usernameText.getText().toString());
+ bundle = Database.queryUserInfo(dateBase.getReadableDatabase(), bundle);
+ intent.putExtras(bundle);
+ startActivity(intent);
+ }
+ else{
+ Toast.makeText(MainActivity.this,"账号或者密码错误",Toast.LENGTH_SHORT).show();
+ }
break;
}
}
- /**
- * 注册验证
- */
- public void validateRegister() {
- Intent intent = new Intent(MainActivity.this, CategoryActivity.class);
- String username = usernameEdit.getText().toString();
- String password = passwordEdit.getText().toString();
- //这里也可以再进行其它的验证,如是否符合要求等,符合就进行下一个界面操作
- if (!username.equals("") || !password.equals("")) {
- startActivity(intent);
- } else {
- Toast.makeText(MainActivity.this, "账号或密码未填写", Toast.LENGTH_SHORT).show();
+ private boolean validateLogin() {
+ String username=usernameText.getText().toString();
+ String password=passwordEdit.getText().toString();
+ Database dateBase=new Database(MainActivity.this);
+ SQLiteDatabase sqLiteDatabase = dateBase.getReadableDatabase();
+ Cursor cursor=sqLiteDatabase.rawQuery("select * from good_user where username=? and password=?",new String[]{username,password});
+ if(cursor.getCount()>0){
+ return true;
}
+ return false;
}
-}
+
+}
\ No newline at end of file
diff --git a/Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java
index 4f2980f..5f0cc51 100644
--- a/Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java
+++ b/Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java
@@ -1,6 +1,8 @@
package com.example.test1.Activity;
+import android.content.ContentValues;
import android.content.Intent;
+import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
@@ -13,6 +15,7 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
+import com.example.test1.Database;
import com.example.test1.R;
import com.lljjcoder.citypickerview.widget.CityPicker;
@@ -122,6 +125,10 @@ public class registerActivity extends AppCompatActivity implements View.OnClickL
bundle.putString("sex", sexStr);
bundle.putString("city", city);
intent.putExtras(bundle);
+ //用SQLite数据库存储注册信息
+ Database dateBase= new Database(registerActivity.this);
+ SQLiteDatabase sqLiteDatabase = dateBase.getWritableDatabase();
+ insertData(sqLiteDatabase, bundle);
startActivity(intent);
} else {
Toast.makeText(registerActivity.this, "请选择地址", Toast.LENGTH_SHORT).show();
@@ -142,4 +149,19 @@ public class registerActivity extends AppCompatActivity implements View.OnClickL
//根据用户选择来改变sex的值
sexStr = checkedId == R.id.reg_man ? "男" : "女";
}
-}
\ No newline at end of file
+
+ private void insertData(SQLiteDatabase sqLiteDatabase, Bundle bundle){
+ ContentValues contentValues=new ContentValues();
+ contentValues.put("username",bundle.getString("username"));
+ contentValues.put("password",bundle.getString("password"));
+ contentValues.put("sex",bundle.getString("sex"));
+ contentValues.put("city",bundle.getString("city"));
+ sqLiteDatabase.insert("good_user",null,contentValues);
+ sqLiteDatabase.close();
+ }
+
+ @Override
+ public void onPointerCaptureChanged(boolean hasCapture) {
+ super.onPointerCaptureChanged(hasCapture);
+ }
+}
diff --git a/Test1/app/src/main/java/com/example/test1/Database.java b/Test1/app/src/main/java/com/example/test1/Database.java
new file mode 100644
index 0000000..a3a9039
--- /dev/null
+++ b/Test1/app/src/main/java/com/example/test1/Database.java
@@ -0,0 +1,56 @@
+package com.example.test1;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+
+public class Database extends SQLiteOpenHelper {
+ public Database(@Nullable Context context) {
+
+ super(context, "orange", null, 1);
+ }
+
+ @Override
+ public void onCreate(SQLiteDatabase db) {
+ //创建用户表
+ String sql = "create table good_user(id integer primary key autoincrement, username varchar(50), password varchar(50),sex varchar(10),city carchar(50))";
+ db.execSQL(sql);
+ }
+
+ @Override
+ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+
+ }
+
+ //插入数据
+ public void insertUser(SQLiteDatabase sqLiteDatabase, String username, String password, String sex, String city) {
+ ContentValues contentValues = new ContentValues();
+ contentValues.put("username", username);
+ contentValues.put("password", password);
+ contentValues.put("sex", sex);
+ contentValues.put("city", city);
+ sqLiteDatabase.insert("good_user", null, contentValues);
+ sqLiteDatabase.close();
+ }
+
+ //查询数据
+ public static Bundle queryUserInfo(SQLiteDatabase sqLiteDatabase, Bundle bundle) {
+ String username = bundle.getString("username");
+ Cursor cursor = sqLiteDatabase.rawQuery("select * from good_user where username=?", new String[]{username});
+ if (cursor != null) {
+ while (cursor.moveToNext()) {
+ bundle.putString("sex", cursor.getString(3));
+ bundle.putString("city", cursor.getString(4));
+ }
+ }
+ cursor.close();
+ sqLiteDatabase.close();
+ return bundle;
+ }
+}
diff --git a/Test1/app/src/main/res/layout/activity_main.xml b/Test1/app/src/main/res/layout/activity_main.xml
index 5b931be..a5246fc 100644
--- a/Test1/app/src/main/res/layout/activity_main.xml
+++ b/Test1/app/src/main/res/layout/activity_main.xml
@@ -8,7 +8,6 @@
android:background="@color/bluepurple"
tools:context=".Activity.MainActivity">
-
diff --git a/Test1/app/src/main/res/layout/user.xml b/Test1/app/src/main/res/layout/user.xml
index a2747d0..ab1a623 100644
--- a/Test1/app/src/main/res/layout/user.xml
+++ b/Test1/app/src/main/res/layout/user.xml
@@ -26,7 +26,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
- android:layout_marginTop="20dp">
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">