From 334316f200a9bfa22aab04924b623715654734eb Mon Sep 17 00:00:00 2001 From: tangxi <1464524503@qq.com> Date: Mon, 17 Apr 2023 00:05:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=B3=A8=E5=86=8C=E7=99=BB?= =?UTF-8?q?=E5=BD=95=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=9F=A5=E7=9C=8B=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 +- .../Cat/activity/activity/MainActivity.java | 6 +- .../activity/activity/RegisterActivity.java | 11 +- .../Cat/activity/activity/UserActivity.java | 28 ++- .../activity/UserMessageActivity.java | 47 +++++ .../Cat/activity/activity/User_Database.java | 34 ++-- app/src/main/res/layout/content_user.xml | 175 +++--------------- app/src/main/res/layout/user_msg.xml | 90 +++++++++ 8 files changed, 213 insertions(+), 181 deletions(-) create mode 100644 app/src/main/java/com/example/Cat/activity/activity/UserMessageActivity.java create mode 100644 app/src/main/res/layout/user_msg.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0e9f5bf..641cee4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,6 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - @@ -22,7 +21,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/example/Cat/activity/activity/MainActivity.java b/app/src/main/java/com/example/Cat/activity/activity/MainActivity.java index 6fba399..cdf29e5 100644 --- a/app/src/main/java/com/example/Cat/activity/activity/MainActivity.java +++ b/app/src/main/java/com/example/Cat/activity/activity/MainActivity.java @@ -53,16 +53,18 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe break; } } + + //验证密码是否正确 public void Verification(){ //UserInfo info; Intent intent = new Intent(MainActivity.this, UserActivity.class); + intent.putExtra("username",usernameText.getText().toString()); User_Database user=new User_Database(MainActivity.this); SQLiteDatabase sqLiteDatabase=user.getReadableDatabase(); - list=user.queryByname(sqLiteDatabase,usernameText.getText().toString()); + list=user.queryByName(sqLiteDatabase,usernameText.getText().toString()); //info=list.get(0); if(paswdEdit.getText().toString().equals(list.get(0).paswd)){ startActivity(intent); - } else{ Toast.makeText(this, "密码错误!", Toast.LENGTH_SHORT).show(); 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 23fa955..6f77378 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 @@ -127,8 +127,15 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL //调用数据库操作类的插入方法 us_db=new User_Database(RegisterActivity.this); SQLiteDatabase sqLiteDatabase=us_db.getWritableDatabase(); - us_db.adddata(sqLiteDatabase,username,password,sexStr,city); - startActivity(intent); + String res=us_db.addData(sqLiteDatabase,username,password,sexStr,city); + String msg = ""; + //根据创建结果返回来判断下一步操作 + switch (res){ + case "repeat":msg="用户名已存在";break; + case "false":msg="注册失败";break; + case "success":msg="注册成功";startActivity(intent);break; + } + Toast.makeText(RegisterActivity.this, msg, Toast.LENGTH_SHORT).show(); } 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 48ae89f..5487eb0 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 @@ -14,8 +14,9 @@ import com.example.Cat.R; public class UserActivity extends Activity implements View.OnClickListener{ private ImageView userIconImage; - private TextView usernameText, userSexText, userCityText; - private LinearLayout usernameLine, userSexline, userCityLine, userPayLine, userSettingLine, userGeneralLine,userProductLine; + public String username; + private TextView usernameText; + private LinearLayout usernameLine, userSettingLine,userProductLine; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -30,17 +31,12 @@ public class UserActivity extends Activity implements View.OnClickListener{ private void init() { userIconImage = findViewById(R.id.user_icon); usernameText = findViewById(R.id.user_username); - userSexText = findViewById(R.id.user_sex); - userCityText = findViewById(R.id.user_city); - usernameLine = findViewById(R.id.user_username_line); - userSexline = findViewById(R.id.user_sex_line); - userCityLine = findViewById(R.id.user_city_line); - userPayLine = findViewById(R.id.user_pay); + usernameLine = findViewById(R.id.user_userMsg); userSettingLine = findViewById(R.id.user_setting); - userGeneralLine = findViewById(R.id.user_general); userProductLine = findViewById(R.id.user_product); userProductLine.setOnClickListener(this); - //setData(); + userSettingLine.setOnClickListener(this); + setData(); } /** @@ -48,19 +44,21 @@ public class UserActivity extends Activity implements View.OnClickListener{ */ private void setData() { Intent intent = UserActivity.this.getIntent(); - Bundle bundle = intent.getExtras(); - usernameText.setText(String.format("用户名:%s", bundle.getString("username"))); - userSexText.setText(String.format("性别:%s", bundle.getString("sex"))); - userCityText.setText(String.format("城市:%s", bundle.getString("city"))); + username = intent.getStringExtra("username"); + usernameText.setText(String.format("%s", username)); } @Override public void onClick(View v) { switch (v.getId()) { - case R.id.user_product: Intent intent2 = new Intent(this,GoodsActivity.class); startActivity(intent2); break; + case R.id.user_setting: + Intent intent3 = new Intent(this,UserMessageActivity.class); + intent3.putExtra("username",username); + startActivity(intent3); + break; } } } diff --git a/app/src/main/java/com/example/Cat/activity/activity/UserMessageActivity.java b/app/src/main/java/com/example/Cat/activity/activity/UserMessageActivity.java new file mode 100644 index 0000000..c114503 --- /dev/null +++ b/app/src/main/java/com/example/Cat/activity/activity/UserMessageActivity.java @@ -0,0 +1,47 @@ +package com.example.Cat.activity.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; + +import com.example.Cat.R; + +import java.util.List; + +public class UserMessageActivity extends AppCompatActivity implements View.OnClickListener { + private TextView usernameText,sexText,addressText; + private String username; + List list ; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.user_msg); + init(); + setData(); + } + private void setData() { + Intent intent = UserMessageActivity.this.getIntent(); + username = intent.getStringExtra("username"); + User_Database user=new User_Database(UserMessageActivity.this); + SQLiteDatabase sqLiteDatabase=user.getReadableDatabase(); + list=user.queryByName(sqLiteDatabase,username); + usernameText.setText(String.format("%s", list.get(0).username)); + sexText.setText(String.format("%s",list.get(0).sex)); + addressText.setText(String.format("%s", list.get(0).city)); + } + private void init() { + usernameText = findViewById(R.id.username); + sexText = findViewById(R.id.sex); + addressText = findViewById(R.id.address); + } + + @Override + public void onClick(View view) { + + } +} \ No newline at end of file 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 index 4cc9426..9739d8c 100644 --- 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 @@ -7,6 +7,8 @@ import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.List; @@ -18,9 +20,9 @@ public class User_Database extends SQLiteOpenHelper { 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)," + @@ -37,14 +39,20 @@ public class User_Database extends SQLiteOpenHelper { //添加数据 - public void adddata(SQLiteDatabase sqLiteDatabase, String username, String paswd, String sex, String city) { + public String 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(); + //验证用户名是否存在 + List userListByName=queryByName(sqLiteDatabase,username); + //存在返回“repeat”,不存在则继续添加 + if(!userListByName.isEmpty()) return"repeat"; + long res=sqLiteDatabase.insert("user", null, values); + sqLiteDatabase.close(); + if(res==-1) return"false"; + return "success"; } //删除数据 @@ -70,7 +78,7 @@ public class User_Database extends SQLiteOpenHelper { } //查询全部数据 - public List querydata(SQLiteDatabase sqLiteDatabase) { + public List queryData(SQLiteDatabase sqLiteDatabase) { Cursor cursor = sqLiteDatabase.query("user", null, null, null, null, null, "id ASC"); List list = new ArrayList(); while (cursor.moveToNext()) { @@ -90,23 +98,21 @@ public class User_Database extends SQLiteOpenHelper { sqLiteDatabase.close(); return list; } - public List queryByname(SQLiteDatabase sqLiteDatabase,String username) { - Cursor cursor = sqLiteDatabase.query("user", null, "username=?", new String[]{username}, null, null, "id ASC"); + + //根据传入用户名查询记录 + public List queryByName(SQLiteDatabase sqLiteDatabase,String name) { + Cursor cursor = sqLiteDatabase.query("user", null, "username=?", 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 name = cursor.getString(1); - // Log.i("SQLite","username="+username); + String username = cursor.getString(1); 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, name, paswd, sex, city)); + list.add(new UserInfo(id, username, paswd, sex, city)); } cursor.close(); - //sqLiteDatabase.close(); + sqLiteDatabase.close(); return list; } diff --git a/app/src/main/res/layout/content_user.xml b/app/src/main/res/layout/content_user.xml index b2b3dba..fb9f504 100644 --- a/app/src/main/res/layout/content_user.xml +++ b/app/src/main/res/layout/content_user.xml @@ -4,159 +4,42 @@ android:layout_height="match_parent" android:background="#E8E8E8" android:orientation="vertical"> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:id="@+id/user_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="20dp" + android:layout_gravity="center_horizontal" + android:src="@drawable/user_icon" /> + + + + @@ -205,7 +88,7 @@ android:layout_weight="1" android:drawableLeft="@drawable/setting" android:textColor="#000" - android:text="设置" + android:text="信息设置" android:gravity="center_vertical" android:drawablePadding="8dp" android:textSize="14sp" diff --git a/app/src/main/res/layout/user_msg.xml b/app/src/main/res/layout/user_msg.xml new file mode 100644 index 0000000..5e074e2 --- /dev/null +++ b/app/src/main/res/layout/user_msg.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file