-4

这就是我想要做的,我有一个带有用户名和密码的android登录表单,在用户输入他的凭据并登录后,下一个表单应该显示在欢迎页面顶部,+从登录页面输入的用户名!但是如果用户重新访问了我的应用程序,那么消息应该是欢迎返回用户名,我怎么知道用户在我的应用程序中再次访问过?有人可以帮我吗?

我是android开发的新手,不知道该怎么做。感谢 public class HomeScreen extends Activity implements 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);
    }

}

}

4

2 回答 2

1

将您的数据保存在 ShreadPreference 中并使用您的逻辑进行处理。

于 2015-10-27T10:13:21.600 回答
0

使用用户名的共享偏好并存储登录状态。例如 -> 在启动应用程序时检查用户登录状态,如果为真,则在活动顶部显示用户名,否则重定向到登录页面。

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);
}
于 2015-10-27T11:40:53.980 回答