今天实现登录功能,昨天实现了注册功能,之后就可以登录了。登录功能的设计其实和注册功能差不多,也是对数据库的操作,只要将登录时输入的账号密码信息和数据库进行比对,得出不同的结果即可进行登录功能的实现,其代码如下:
public class DENGLU extends AppCompatActivity {
private DataBase databaseHelper; //用于创建帮助器对象
private SQLiteDatabase db; //用于创建数据库对象
private static final String name = "JZ.db"; //数据库名称
private static final int version = 1; //数据库版本
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_d_e_n_g_l_u);
}
public void DLCG(View view){
EditText EditDLid=(EditText)findViewById(R.id.DLID);
String DLId= EditDLid.getText().toString();
EditText EditDLPA=(EditText)findViewById(R.id.DLPA);
String DLPA= EditDLPA.getText().toString();
List<YHBean> list = new ArrayList<YHBean>();
databaseHelper = new DataBase(this, name, null, version);
DataBase moh=new DataBase(this,"JZ.db", null, 1);
SQLiteDatabase db = moh.getReadableDatabase(); // 以只读的方式打开数据库
String sql = "select * from yonghu;";
Cursor cursor = db.rawQuery(sql, null);
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex("xuehao"));
String pass = cursor.getString(cursor.getColumnIndex("password"));
YHBean person = new YHBean(id,pass);
list.add(person); // 添加到数组
}
cursor.close();
int i=0;
int BiaoJi=0;
for(i=0;i<list.size();i++){
if(list.get(i).getID().equals(DLId)){
BiaoJi=1;
break;
}
}
if(BiaoJi==0){
Toast.makeText(getApplicationContext(), "该用户不存在", Toast.LENGTH_SHORT).show();
}
else if(!list.get(i).getPassword().equals(DLPA)){
Toast.makeText(getApplicationContext(), "密码输入错误", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(getApplicationContext(), "登陆成功", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this,YONGHU.class);
intent.putExtra("ThisID",DLId);
startActivity(intent);
finish();
}
}
}
在这一功能中,数据库会将用户输入的数据和数据库进行对比并得出不同的结果。