From cf41a715d9f07d0863e2f3f7b57192868af6dddf Mon Sep 17 00:00:00 2001 From: ghtMare <2467889729@qq.com> Date: Sat, 15 Apr 2023 22:52:52 +0800 Subject: [PATCH] create database --- app/build.gradle | 2 +- .../activity/activity/RegisterActivity.java | 22 ++-- .../Cat/activity/activity/UserActivity.java | 2 +- .../Cat/activity/activity/UserInfo.java | 47 ++++++++ .../Cat/activity/activity/User_Database.java | 114 ++++++++++++++++++ app/src/main/res/layout/user_register.xml | 1 + 6 files changed, 178 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/com/example/Cat/activity/activity/UserInfo.java create mode 100644 app/src/main/java/com/example/Cat/activity/activity/User_Database.java diff --git a/app/build.gradle b/app/build.gradle index 5dac964..3645e44 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { - applicationId "com.example.orangesale_01" + applicationId "com.example.Cat" minSdkVersion 23 targetSdkVersion 30 versionCode 1 diff --git a/app/src/main/java/com/example/Cat/activity/activity/RegisterActivity.java b/app/src/main/java/com/example/Cat/activity/activity/RegisterActivity.java index 59c2a9d..23fa955 100644 --- a/app/src/main/java/com/example/Cat/activity/activity/RegisterActivity.java +++ b/app/src/main/java/com/example/Cat/activity/activity/RegisterActivity.java @@ -1,9 +1,11 @@ package com.example.Cat.activity.activity; import android.content.Intent; +import android.database.sqlite.SQLiteDatabase; import android.graphics.Color; import android.os.Bundle; import android.view.View; +import android.view.Window; import android.widget.Button; import android.widget.EditText; import android.widget.RadioGroup; @@ -16,7 +18,7 @@ import androidx.appcompat.app.AppCompatActivity; import com.example.Cat.R; import com.lljjcoder.citypickerview.widget.CityPicker; -public class RegisterActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener { +public class RegisterActivity extends AppCompatActivity implements View.OnClickListener,RadioGroup.OnCheckedChangeListener { private EditText usernameEdit, passwordEdit, surePasswordEdit; private TextView cityText; private CityPicker cityPicker; @@ -24,10 +26,12 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL private RadioGroup sexGroup; private String sexStr="男"; + User_Database us_db; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + //requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.user_register); init(); } @@ -38,15 +42,18 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL private void init() { cityText = findViewById(R.id.reg_province); cityText.setOnClickListener(this); + usernameEdit = findViewById(R.id.reg_username); passwordEdit = findViewById(R.id.reg_password); surePasswordEdit = findViewById(R.id.reg_sure_password); + regButton = findViewById(R.id.reg_register); regButton.setOnClickListener(this); + sexGroup = findViewById(R.id.sex); sexGroup.setOnCheckedChangeListener(this); - } + } @Override public void onClick(View v) { switch (v.getId()) { @@ -111,17 +118,16 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL String password = passwordEdit.getText().toString(); String surePassword = surePasswordEdit.getText().toString(); String city = cityText.getText().toString(); + //判断两次密码是否输入一致 if (password.equals(surePassword)) { //这里也可以再进行其它的验证,如是否符合要求等,符合就进行插入数据库操作 if (!username.equals("") || !password.equals("")) { if (!city.equals("")) { - Bundle bundle = new Bundle(); - bundle.putString("username", username); - bundle.putString("password", password); - bundle.putString("sex", sexStr); - bundle.putString("city", city); - intent.putExtras(bundle); + //调用数据库操作类的插入方法 + us_db=new User_Database(RegisterActivity.this); + SQLiteDatabase sqLiteDatabase=us_db.getWritableDatabase(); + us_db.adddata(sqLiteDatabase,username,password,sexStr,city); startActivity(intent); } else { Toast.makeText(RegisterActivity.this, "请选择地址", Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/example/Cat/activity/activity/UserActivity.java b/app/src/main/java/com/example/Cat/activity/activity/UserActivity.java index ed759c6..48ae89f 100644 --- a/app/src/main/java/com/example/Cat/activity/activity/UserActivity.java +++ b/app/src/main/java/com/example/Cat/activity/activity/UserActivity.java @@ -40,7 +40,7 @@ public class UserActivity extends Activity implements View.OnClickListener{ userGeneralLine = findViewById(R.id.user_general); userProductLine = findViewById(R.id.user_product); userProductLine.setOnClickListener(this); - setData(); + //setData(); } /** diff --git a/app/src/main/java/com/example/Cat/activity/activity/UserInfo.java b/app/src/main/java/com/example/Cat/activity/activity/UserInfo.java new file mode 100644 index 0000000..30fc9b2 --- /dev/null +++ b/app/src/main/java/com/example/Cat/activity/activity/UserInfo.java @@ -0,0 +1,47 @@ +package com.example.Cat.activity.activity; + +public class UserInfo { + int id; + String username; + String paswd, sex; + String city; + public UserInfo(int id,String username, String paswd, String sex, String city){ + this.id=id; + this.username = username; + this.paswd = paswd; + this.sex = sex; + this.city = city; + } + public void setId(int id) { + this.id = id; + } + public void setUsername(String username) { + this.username = username; + } + public void setPaswd(String paswd) { + this.paswd = paswd; + } + public void setSex(String sex) { + this.sex = sex; + } + public void setCity(String city) { + this.city = city; + } + public int getId() { + return id; + } + public String getUsername() { + return username; + } + public String getPaswd() { + return paswd; + } + public String getSex() { + return sex; + } + public String getCity() { + return city; + } + +} + diff --git a/app/src/main/java/com/example/Cat/activity/activity/User_Database.java b/app/src/main/java/com/example/Cat/activity/activity/User_Database.java new file mode 100644 index 0000000..32105ab --- /dev/null +++ b/app/src/main/java/com/example/Cat/activity/activity/User_Database.java @@ -0,0 +1,114 @@ +package com.example.Cat.activity.activity; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.util.Log; + +import java.util.ArrayList; +import java.util.List; + +public class User_Database extends SQLiteOpenHelper { + Context context; + public User_Database(Context context) { + super(context, "user_db", null, 1); + this.context=context; + System.out.println("in User_Database ,context="+ context); + } + + @Override + public void onCreate(SQLiteDatabase sqLiteDatabase) { + System.out.println("onCreate"); + String sql = "create table user(" + + "id integer primary key autoincrement," + + "username varchar(20),paswd varchar(20)," + + "sex varchar(20)," + + "city longtext)"; + sqLiteDatabase.execSQL(sql); + Log.i("SQLite","execSQL(sql)"); + } + + //数据库版本号更新时调用 + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + } + + //添加数据 + + public void adddata(SQLiteDatabase sqLiteDatabase, String username, String paswd, String sex, String city) { + ContentValues values = new ContentValues(); + values.put("username", username); + values.put("paswd", paswd); + values.put("sex", sex); + values.put("city", city); + sqLiteDatabase.insert("user", null, values); + //sqLiteDatabase.close(); + } + + //删除数据 + public void delete(SQLiteDatabase sqLiteDatabase, int id) { + /*第一个参数:表名;第二个参数:需要删除的属性名,?代表占位符;第三个参数:属性名的属性值*/ + sqLiteDatabase.delete("user", "id=?", new String[]{id + ""}); + sqLiteDatabase.close(); + } + + //更新数据 + public void update(SQLiteDatabase sqLiteDatabase, int id, String username, + String paswd, String sex, String city) { + //创建一个ContentValues对象 + ContentValues values = new ContentValues(); + //以键值对的形式插入 + values.put("username", username); + values.put("paswd", paswd); + values.put("sex", sex); + values.put("city", city); + //执行修改的方法 + sqLiteDatabase.update("user", values, "id=?", new String[]{id + ""}); + sqLiteDatabase.close(); + } + + //查询全部数据 + public List querydata(SQLiteDatabase sqLiteDatabase) { + Cursor cursor = sqLiteDatabase.query("user", null, null, null, null, null, "id ASC"); + List list = new ArrayList(); + while (cursor.moveToNext()) { + int id = cursor.getInt(cursor.getColumnIndex("id")); + Log.i("SQLite","id="+id); + String username = cursor.getString(1); + Log.i("SQLite","username="+username); + String paswd = cursor.getString(2); + Log.i("SQLite","paswd="+paswd); + String sex = cursor.getString(3); + Log.i("SQLite","sex="+sex); + String city = cursor.getString(4); + Log.i("SQLite","city="+city); + list.add(new UserInfo(id, username, paswd, sex, city)); + } + cursor.close(); + sqLiteDatabase.close(); + return list; + } + public List queryByname(SQLiteDatabase sqLiteDatabase,String name) { + Cursor cursor = sqLiteDatabase.query("user", null, "name=?", new String[]{name}, null, null, "id ASC"); + List list = new ArrayList(); + while (cursor.moveToNext()) { + int id = cursor.getInt(cursor.getColumnIndex("id")); + Log.i("SQLite","id="+id); + String username = cursor.getString(1); + Log.i("SQLite","username="+username); + String paswd = cursor.getString(2); + Log.i("SQLite","paswd="+paswd); + String sex = cursor.getString(3); + Log.i("SQLite","sex="+sex); + String city = cursor.getString(4); + list.add(new UserInfo(id, username, paswd, sex, city)); + } + cursor.close(); + sqLiteDatabase.close(); + return list; + } + +} + diff --git a/app/src/main/res/layout/user_register.xml b/app/src/main/res/layout/user_register.xml index ab05645..b075712 100644 --- a/app/src/main/res/layout/user_register.xml +++ b/app/src/main/res/layout/user_register.xml @@ -165,4 +165,5 @@ android:textColor="#FFFFFF" android:text="注 册" /> + \ No newline at end of file