登录下一个活动中的textView后,显示数据库中的用户名

时间:2019-07-27 09:50:33

标签: android sqlite android-sqlite

Helper1 Helper2 Home Activity(Here I want to show username) Main1 Main2在textView中登录后显示来自SQLite数据库的用户名

我正在使用SQLite数据库通过SQL查询插入数据。字段是名称,电子邮件,密码。我想在“仪表板”活动的文本视图上打印“名称”。登录通过电子邮件和密码进行。登录后,我要打印登录用户的姓名。

"INSERT INTO "+SQLiteHelper.TABLE_NAME+" (name,email,password) VALUES('tarun', 'tarun@gmail.com', '12345');

我有2个活动主目录,分别是登录名,仪表板和帮助程序类。 在“用于登录的主要活动”上只有两个文本框,分别为电子邮件和密码。

1 个答案:

答案 0 :(得分:0)

您必须先创建表,然后创建一种向其中插入数据的方法,例如

public class DBHelper extends SQLiteOpenHelper {

    public DBHelper(Context context) {
        super(context, DATABASE_NAME , null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(
         "create table user " +
         "(id integer primary key, name text, email text, password text)"
        );
    }
    .
    .
    .
    public boolean insertContact (String name, String email, String password) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("name", name);
        contentValues.put("email", email);  
        contentValues.put("password", password);
        db.insert("contacts", null, contentValues);
        return true;
    }

如果您已经完成了插入部分,请创建一种方法来获取数据,例如

public Cursor getData(String email, String password) { //conditions as per your example
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res =  db.rawQuery( "select * from contacts where email=" + id + " and password=" + password, null );
    return res;
}

现在在要访问数据库的活动中创建一个DBHelper类实例。所以会是

private DBHelper mydb ; //as activity class variable

mydb = new DBHelper(this); //inside onCreate() of your Activity

现在调用DB类的提取函数并获取信息。

Cursor rs = mydb.getData(editTextEmail.getText().toString(), editTextPassword.getText().toString());

if(rs.moveToFirst()) {

    String name = rs.getString(rs.getColumnIndex("name"));
    String email = rs.getString(rs.getColumnIndex("email"));

    if (!rs.isClosed())  {
       rs.close();
    }
}
.
.
.
//display name or email as 
txtName.setText(name);
txtEmail.setText(email);