这是我想要做的,我有一个带有用户名和密码的android登录表单,在用户输入他的凭据并登录后,下一个表单应显示在页面顶部欢迎,+用户名从登录页面输入!但如果用户重新访问我的应用程序,那么该消息应该是欢迎回用户名,以及我如何知道用户已经在我的应用程序中再次访问过?,有人可以帮助我吗?
我是Android开发的新手,并且不知道如何解决这个问题。谢谢 公共类HomeScreen扩展Activity实现OnClickListener { String response = null;
public static HomeScreen object = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
object = this;
// String type = getResources().getString(R.string.TYPE);
// Logger.logger("mobile type :::::::::::: " + type);
// if (type.equalsIgnoreCase("mobile")) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// }
setContentView(R.layout.home);
findViewById(R.id.btn_call_us).setOnClickListener(this);
findViewById(R.id.btn_email_us).setOnClickListener(this);
findViewById(R.id.btn_panel_book).setOnClickListener(this);
findViewById(R.id.btn_get_instant_quote).setOnClickListener(this);
findViewById(R.id.btn_logout).setOnClickListener(this);
((TextView) findViewById(R.id.tv_welcome_msg_title)).setText("Welcome "
+ Comman.getPreference(HomeScreen.this, AppConstants.PRE_F_NAME, "") + "!");
new getJustInData().execute();
}
字符串响应;
@Override
protected String doInBackground(String... params) {
try {
response = HttpProcess.postDataOnServer(AppConstants.URL_WELCOME + "client="
+ Comman.getPreference(HomeScreen.this, AppConstants.PRE_COMPANY_NAME, ""));
Logger.logger("respons in welcome Message : " + response);
} catch (Exception e) {
response = "";
}
return "";
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
PDialog.dismiss();
String msg = Comman.getPreference(HomeScreen.this, AppConstants.PRE_WELCOME, "");
try {
String WelComeMsgResponseList = JsonParser.readWelcomeResponse(response);
if (WelComeMsgResponseList != null && WelComeMsgResponseList.length() > 0) {
Comman.setPreference(HomeScreen.this, AppConstants.PRE_WELCOME, WelComeMsgResponseList);
((WebView) findViewById(R.id.webview)).loadData("<font style='color:#ffffff;'><MARQUEE> "
+ WelComeMsgResponseList + " </MARQUEE></font>", "text/html", null);
((WebView) findViewById(R.id.webview)).setBackgroundColor(Color.BLACK);
return;
}
} catch (Exception e) {
} catch (Error e) {
}
((WebView) findViewById(R.id.webview)).loadData("<font style='color:#ffffff;'><MARQUEE> " + msg
+ " </MARQUEE></font>", "text/html", null);
((WebView) findViewById(R.id.webview)).setBackgroundColor(Color.BLACK);
}
}
}
答案 0 :(得分:1)
将数据保存在ShreadPreference中并使用您的逻辑处理。
答案 1 :(得分:0)
用户名的Useshared首选项,还存储登录状态。 例如 - &gt;启动应用程序时检查用户登录状态,如果为真,则在活动顶部显示用户名,否则重定向到登录页面。
private static final String PREFER_NAME = "";
private static final String IS_USER_LOGIN = "";
public static final String KEY_NAME = "";
public static final String KEY_Password = "";
SharedPreferences pref;
SharedPreferences.Editor editor;
在create方法中放下这些行:
pref = context.getSharedPreferences(PREFER_NAME, PRIVATE_MODE);
editor = pref.edit();
editor.putBoolean(IS_USER_LOGIN, true);
editor.putString(KEY_NAME, name);
editor.putString(KEY_Password, password);
editor.commit();
检查用户是否已登录:
public boolean isUserLoggedIn() {
return pref.getBoolean(IS_USER_LOGIN, false);
}