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个活动主目录,分别是登录名,仪表板和帮助程序类。 在“用于登录的主要活动”上只有两个文本框,分别为电子邮件和密码。
答案 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);