如何使用具有信息的现有数据库创建登录活动

我有现有的数据库,其中包含姓名、姓氏、电子邮件电话和密码,我想使用它来进行具有两个编辑文本(电子邮件或电话号码)和(密码)的登录活动。


登录活动背后的代码是什么?


登录(如果成功获取其他数据)---->ParentsMenu(使用数据)

DatabaseHelper.java


package edu.angelo.parentsportal;


import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;


import java.util.ArrayList;


public class DatabaseHelper extends SQLiteOpenHelper {


public static final String DATABASE_NAME = "Parents_Portal.db";

public static final String TABLE_NAME = "Parents_Table";

public static final String COL_0 = "ID";

public static final String COL_1 = "NAME";

public static final String COL_2 = "SURNAME";

public static final String COL_3 = "EMAIL_ADDRESS";

public static final String COL_4 = "PHONE_NUMBER";

public static final String COL_5 = "PASSWORD";


public DatabaseHelper(Context context) {

    super(context, DATABASE_NAME, null, 1);


}


@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("create table " + TABLE_NAME +"(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, SURNAME TEXT, EMAIL_ADDRESS TEXT, PHONE_NUMBER TEXT, PASSWORD TEXT)");

}


@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);

onCreate(db);

}


public boolean insertData(String name, String surname, String email_address, String phone_number, String password){

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues contentValues = new ContentValues();

    contentValues.put(COL_1,name);

    contentValues.put(COL_2,surname);

    contentValues.put(COL_3,email_address);

    contentValues.put(COL_4,phone_number);

    contentValues.put(COL_5,password);

    long result = db.insert(TABLE_NAME, null , contentValues);

    if (result == -1) {

        return false;

    }

    else {

        return true;

    }

}


幕布斯7119047
浏览 91回答 2
2回答

尚方宝剑之说

Add this function to your DatabaseHelper.javapublic boolean userExistance(String emailOrPhone, String pwd){        String sql = "select * from " + TABLE_NAME + " where ("+ COL_3 +" = " + emailOrPhone +" OR "+ COL_4 +" = "+ emailOrPhone+ ") AND " + COL_5 + " = " + pwd;        SQLiteDatabase mydb = this.getWritableDatabase();        Cursor cursor = mydb.rawQuery(sql, null);        if(cursor.getCount() > 0)            return true;        else            return false;    }Then add call this function from your LoginActivity.javaDatabaseHelper mydb;mydb = new DatabaseHelper(LoginActivity.this);boolean exists = mydb.userExistance();if(exists){    Intent intent = new Intent(Login.this, Parent_Home.class);    Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();    startActivity(intent);    finish();}

翻过高山走不出你

在您的课程中添加以下方法DatabaseHelper。public ArrayList<ParentModel> getParentData(String emailOrPhone,String pwd){ArrayList<ParentModel> list = new ArrayList<>();String sql = "SELECT * FROM " + TABLE_NAME+" WHERE ("+COL_3+"= "+emailOrPhone+" OR "+COL_4 +" = "+emailOrPhone+") AND "+COL_5 +" = "+pwd;SQLiteDatabase mydb = this.getWritableDatabase();Cursor cursor = mydb.rawQuery(sql, null);if (cursor.moveToFirst()) {&nbsp; &nbsp; do {&nbsp; &nbsp; &nbsp; &nbsp; ParentModel parentModel = new ParentModel();&nbsp; &nbsp; &nbsp; &nbsp; parentModel.setID(cursor.getString(0));&nbsp; &nbsp; &nbsp; &nbsp; parentModel.setName(cursor.getString(1));&nbsp; &nbsp; &nbsp; &nbsp; parentModel.setSurname(cursor.getString(2));&nbsp; &nbsp; &nbsp; &nbsp; parentModel.setEmail(cursor.getString(3));&nbsp; &nbsp; &nbsp; &nbsp; parentModel.setPhone_number(cursor.getString(4));&nbsp; &nbsp; &nbsp; &nbsp; parentModel.setPassword(cursor.getString(5));&nbsp; &nbsp; &nbsp; &nbsp; list.add(parentModel);&nbsp; &nbsp; }&nbsp; &nbsp; while (cursor.moveToNext());}&nbsp; &nbsp;return list;}并使用如下代码:if (mydb.getParentData(editTextEmailPhone.getText().toString(),editTextPassword.getText().toString()).size()>0)&nbsp;{progressDialog.dismiss();SharedPrefs.saveSharedSetting(this, "CaptainCode", "false");Intent intent = new Intent(Login.this, Parent_Home.class);Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();startActivity(intent);finish();}不要忘记初始化DatabaseHelper mydb。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java