【发布时间】:2013-03-26 06:13:07
【问题描述】:
我有一个对话框,要求用户提供登录凭据。我想将该密码与之前存储用于身份验证的数据库值进行比较。 M 做不到。 任何人都可以帮忙。
public void onClick(View v) {
// TODO Auto-generated method stu
Toast.makeText(context, "Button Clicked", Toast.LENGTH_SHORT).show();
String existPin=exist_pin.getText().toString();
String confirmPin=new String();
prefEditor.putString("ExistPin", existPin);
prefEditor.commit();
WayDataBase way=new WayDataBase(LoginActivity.this);
String storedPin=way.getPin(confirmPin);
Toast.makeText(context, "Data from database", Toast.LENGTH_SHORT).show();
if(existPin.equals(storedPin))
{
d2.dismiss();
Intent i=new Intent(getApplicationContext(),ApplicantPage1.class);
startActivity(i);
}
else
{
Toast.makeText(context, "Invalid credentials", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
你有什么错误吗?
-
你能从数据库中获取 StoredPin 吗? if-else 中的哪一部分总是被执行?你有什么错误吗?
-
什么是
String confirmPin=new String();? -
顺便说一句,最好不要将 PIN 或密码作为明文存储在数据库中,您应该存储 PIN 的加密哈希值。否则,任何人都可以通过从电话中获取数据库来进入。此外,较新的 Android 具有用户帐户和身份验证,为什么不使用呢?
-
请定义“M 不能这样做”。您面临的问题是什么?
标签: android database dialog android-edittext