第四次实验

master
viola 2 years ago
parent 04ad6c186e
commit 95cef870f6

@ -1,14 +1,19 @@
package com.orangesale.cn;
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 androidx.appcompat.app.AppCompatActivity;
import com.orangesale.cn.activity.CategoryActivity;
import com.orangesale.cn.activity.RegisterActivity;
import com.orangesale.cn.dataoperation.OrangeDatabase;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button registerButton, loginButton;
@ -29,6 +34,18 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
startActivity(intent);
break;
case R.id.login:
//注册时,我们引入了数据库,登录这里可以通过数据库进行验证,验证跳转到首页,不通过进行提示
if (validateLogin()) {
Intent intent1 = new Intent(MainActivity.this, CategoryActivity.class);
Bundle bundle = new Bundle();
OrangeDatabase orangeDatabase = new OrangeDatabase(MainActivity.this);
bundle.putString("username", usernameText.getText().toString());
bundle = orangeDatabase.queryUserInfo(orangeDatabase.getReadableDatabase(), bundle);
intent1.putExtras(bundle);
startActivity(intent1);
} else {
Toast.makeText(MainActivity.this, "账号或者密码错误", Toast.LENGTH_SHORT).show();
}
break;
}
}
@ -42,4 +59,21 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
registerButton = findViewById(R.id.register);
registerButton.setOnClickListener(this);
}
/**
*
*
* @return
*/
private boolean validateLogin() {
String username = usernameText.getText().toString();
String password = paswdEdit.getText().toString();
OrangeDatabase orangeDatabase = new OrangeDatabase(MainActivity.this);
SQLiteDatabase sqLiteDatabase = orangeDatabase.getReadableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("select * from user where username=? and password=?", new String[]{username, password});
if (cursor.getCount() > 0) {
return true;
}
return false;
}
}

@ -1,6 +1,8 @@
package com.orangesale.cn.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;
@ -15,6 +17,7 @@ import androidx.appcompat.app.AppCompatActivity;
import com.lljjcoder.citypickerview.widget.CityPicker;
import com.orangesale.cn.R;
import com.orangesale.cn.dataoperation.OrangeDatabase;
public class RegisterActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener {
private EditText usernameEdit, passwordEdit, surePasswordEdit;
@ -22,7 +25,7 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL
private CityPicker cityPicker;
private Button regButton;
private RadioGroup sexGroup;
private String sexStr="男";
private String sexStr = "男";
@Override
@ -107,7 +110,6 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL
*
*/
public void validateRegister() {
Intent intent = new Intent(RegisterActivity.this, UserActivity.class);
String username = usernameEdit.getText().toString();
String password = passwordEdit.getText().toString();
String surePassword = surePasswordEdit.getText().toString();
@ -122,6 +124,11 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL
bundle.putString("password", password);
bundle.putString("sex", sexStr);
bundle.putString("city", city);
//本节将使用安卓自身带的SQLite数据库的方式存储注册的信息之前直接传输显示在界面是的方式
OrangeDatabase orangeDatabase = new OrangeDatabase(RegisterActivity.this);
SQLiteDatabase sqLiteDatabase = orangeDatabase.getWritableDatabase();
insertData(sqLiteDatabase, bundle);
Intent intent = new Intent(RegisterActivity.this, UserActivity.class);
intent.putExtras(bundle);
startActivity(intent);
} else {
@ -142,4 +149,21 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL
//根据用户选择来改变sex的值
sexStr = checkedId == R.id.reg_man ? "男" : "女";
}
/**
*
*
* @param sqLiteDatabase
* @param bundle
*/
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("user", null, contentValues);
sqLiteDatabase.close();
}
}

@ -10,7 +10,6 @@ import android.widget.TextView;
import androidx.annotation.Nullable;
import com.orangesale.cn.MainActivity;
import com.orangesale.cn.R;
public class UserActivity extends Activity implements View.OnClickListener {

@ -0,0 +1,68 @@
package com.orangesale.cn.dataoperation;
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 OrangeDatabase extends SQLiteOpenHelper {
public OrangeDatabase(@Nullable Context context) {
super(context, "0317shiyan.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建用户表
String sql = "create table 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) {
}
/**
*
*
* @param sqLiteDatabase
* @param username
* @param password
* @param sex
* @param city
*/
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("user", null, contentValues);
sqLiteDatabase.close();
}
/**
*
*
* @param sqLiteDatabase
* @param bundle
* @return
*/
public Bundle queryUserInfo(SQLiteDatabase sqLiteDatabase, Bundle bundle) {
String username = bundle.getString("username");
Cursor cursor = sqLiteDatabase.rawQuery("select * from 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;
}
}
Loading…
Cancel
Save