[英]How can I compare login data with my SQLite DB in android app?
I've made a simple login app using a SQLite DB.我使用 SQLite DB 制作了一个简单的登录应用程序。 Now I want to compare my login data (username, password) with my DB to proceed.
现在我想将我的登录数据(用户名、密码)与我的数据库进行比较以继续。 What should I do in my
LoginActivity
code to achieve this?我应该在我的
LoginActivity
代码中做什么来实现这一点?
\\This is Registration Activity with SQLite DB "DB"
package com.example.shahxad.myapp;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.os.Handler;
public class RegistrationActivity extends AppCompatActivity {
public SQLiteDatabase DB;
public EditText username, email, phone, password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
DB = openOrCreateDatabase("DB", MODE_PRIVATE, null);
DB.execSQL("create table if not exists users(REC_ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME varchar(20), EMAIL VARCHAR(20), PHONE integer(10), PASSWORD VARCHAR(20))");
username = (EditText)findViewById(R.id.username);
email = (EditText)findViewById(R.id.email);
phone = (EditText)findViewById(R.id.phone);
password = (EditText)findViewById(R.id.password);
Button reg = (Button) findViewById(R.id.reg);
reg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String sql = "insert into users(REC_ID, NAME, EMAIL, PHONE,PASSWORD) values(NULL,'" + username.getText().toString() + "','" + email.getText().toString() + "','" + phone.getText().toString() + "','" + password.getText().toString() + "')";
DB.execSQL(sql);
Cursor cursor = DB.rawQuery("select * from users", null);
cursor.moveToLast();
String result = cursor.getString(0).toString() + cursor.getString(1).toString() + cursor.getString(2).toString() + cursor.getString(3).toString();
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
Intent intent = new Intent(RegistrationActivity.this, RegSplash.class);
startActivity(intent);
}
});
}
}
\\This is Login Activity (these are two different activities)
package com.example.shahxad.myapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Button login = (Button) findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginActivity.this, AppActivity.class);
startActivity(intent);
}
});
}
}
Try this,尝试这个,
public boolean check_login(String u_name, String u_pwd) {
SQLiteDatabase db = this.getWritableDatabase();
String select = "SELECT * FROM users WHERE NAME ='" + u_name + "' AND PASSWORD='" + u_pwd + "'";
Cursor c = db.rawQuery(select, null);
if (c.moveToFirst()) {
Log.d(TAG,"User exits");
return true;
}
if(c!=null) {
c.close();
}
db.close();
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.