如何在android中的新activity中获取已登录人员的信息?
how to get the information of the person who has logged in , in a new activity in android?
我编写了一个程序来借助名称、联系人、aadharno 和安全提示来注册用户,所以当我注册用户时,数据会保存在我的 sqlite 数据库中,并且我只保留 aadharno 作为用户名登录到我的应用程序,所以每当我输入 aadharno 时,我就成功地进入了我的应用程序。
现在,我有一个新的 activity 并且我有一个名为 aadharno 的文本视图,所以每当我点击登录时它都会带我到这个 activity 但是我的 aadharno 没有在我的文本视图中设置,请需要一些帮助.
我的上述代码:当我注册我的 aadharno 并且使用相同的 aadharno 我可以在我的应用程序中登录时,下面的代码工作正常。
public String getSingleEntry(String aadhar) {
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
Cursor cursor = sqLiteDatabase.query(Db_Governance.TABLE_NAME, null,
Db_Governance.AADHAR_NO + " =?", new String[] { aadhar }, null,
null, null);
if (cursor.getCount() < 1) // UserName Not Exist
{
cursor.close();
return "NOT EXIST";
}
cursor.moveToFirst();
String password = cursor.getString(cursor
.getColumnIndex(Db_Governance.AADHAR_NO));
cursor.close();
return password;
}
在我的新活动中:
txtAadhaar = (TextView) findViewById(R.id.textAadhar1);
dbGovernance = new Database_Governance(getBaseContext());
dbGovernance.open(getBaseContext());
String user = txtAadhaar.getText().toString();
String password = dbGovernance.getSingleEntry(user);
if (user.equals(password)) {
txtAadhaar.setText(password);
} else {
Toast.makeText(getBaseContext(), "Aadhar No does not match",
Toast.LENGTH_LONG).show();
}
每当我输入新的 activity 时,它都会显示其他部分 message.Please 建议我必须进行哪些更改。
提前致谢
您的用户字符串将为空,因为您尚未在 txtAdhaar TextView 上设置任何值,因此它将 return 为空字符串。
在获取用户字符串中的值之前,您需要设置 txtAdhaar 的值。
要在 txtAdhaar 上设置值,您可以使用 Bundle 发送 aadhar 号。该用户在登录您的另一个 Activity 时输入并在使用前在 txtAdhaar 上设置其值。
当您移动到新 activity 通过创建一个新的意图时,在登录按钮的 onclick 中写入以下代码,如图所示:
Intent i = new Intent(context,className.class);
i.putExtra("aadhar_no", aadharNo);
startActivity(i);
这里的 aadharNo 是编号。用户在登录时输入
然后在您的另一个 activity onCreate 中,您可以获得如下所示的数据:
Intent i = getIntent();
txtAadhar.setText(i.getStringExtra("aadhar_no"));
在获取 txtAadhar 的值之前编写此代码,即在此行之前
字符串用户 = txtAadhar.getText.toString();
我编写了一个程序来借助名称、联系人、aadharno 和安全提示来注册用户,所以当我注册用户时,数据会保存在我的 sqlite 数据库中,并且我只保留 aadharno 作为用户名登录到我的应用程序,所以每当我输入 aadharno 时,我就成功地进入了我的应用程序。 现在,我有一个新的 activity 并且我有一个名为 aadharno 的文本视图,所以每当我点击登录时它都会带我到这个 activity 但是我的 aadharno 没有在我的文本视图中设置,请需要一些帮助.
我的上述代码:当我注册我的 aadharno 并且使用相同的 aadharno 我可以在我的应用程序中登录时,下面的代码工作正常。
public String getSingleEntry(String aadhar) {
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
Cursor cursor = sqLiteDatabase.query(Db_Governance.TABLE_NAME, null,
Db_Governance.AADHAR_NO + " =?", new String[] { aadhar }, null,
null, null);
if (cursor.getCount() < 1) // UserName Not Exist
{
cursor.close();
return "NOT EXIST";
}
cursor.moveToFirst();
String password = cursor.getString(cursor
.getColumnIndex(Db_Governance.AADHAR_NO));
cursor.close();
return password;
}
在我的新活动中:
txtAadhaar = (TextView) findViewById(R.id.textAadhar1);
dbGovernance = new Database_Governance(getBaseContext());
dbGovernance.open(getBaseContext());
String user = txtAadhaar.getText().toString();
String password = dbGovernance.getSingleEntry(user);
if (user.equals(password)) {
txtAadhaar.setText(password);
} else {
Toast.makeText(getBaseContext(), "Aadhar No does not match",
Toast.LENGTH_LONG).show();
}
每当我输入新的 activity 时,它都会显示其他部分 message.Please 建议我必须进行哪些更改。 提前致谢
您的用户字符串将为空,因为您尚未在 txtAdhaar TextView 上设置任何值,因此它将 return 为空字符串。 在获取用户字符串中的值之前,您需要设置 txtAdhaar 的值。 要在 txtAdhaar 上设置值,您可以使用 Bundle 发送 aadhar 号。该用户在登录您的另一个 Activity 时输入并在使用前在 txtAdhaar 上设置其值。
当您移动到新 activity 通过创建一个新的意图时,在登录按钮的 onclick 中写入以下代码,如图所示:
Intent i = new Intent(context,className.class);
i.putExtra("aadhar_no", aadharNo);
startActivity(i);
这里的 aadharNo 是编号。用户在登录时输入 然后在您的另一个 activity onCreate 中,您可以获得如下所示的数据:
Intent i = getIntent();
txtAadhar.setText(i.getStringExtra("aadhar_no"));
在获取 txtAadhar 的值之前编写此代码,即在此行之前 字符串用户 = txtAadhar.getText.toString();