0

于是开始编写 android 应用程序,主要是开源和教程来学习语言。

我现在有一个问题,如果用户登录过一次,他就不必再次登录。在这里阅读了很多答案后,我为此使用了 SharedPref ,但是由于这个原因,该应用程序正在跳帧。

这是我的代码。

SharedPreferences prefs = getPreferences(Login.this);
prefs = PreferenceManager.getDefaultSharedPreferences(Login.this);
String remUsername = prefs.getString("username", null);
String remPassword = prefs.getString("password", null);

if (remUsername != null && remPassword != null)
{
    String result = null;

    try {
        result = imService.authenticateUser(
        remUsername.toString(),
        remPassword.toString());
    } catch (UnsupportedEncodingException e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }

    Intent i = new Intent(Login.this, FriendList.class);
    startActivity(i);
    Login.this.finish();
}
4

1 回答 1

0

跳帧可能是由于主线程正在执行资源密集型操作(例如 HTTP 请求)。您必须在单独的线程中执行此类操作,同时只为主线程保留 UI 和非密集操作(这就是它被称为“UI”线程的原因)。

在此处阅读基础知识。然后,您可以使用AsyncTask来实现它,例如。然而,为简单起见,建议使用专门的库,例如Volleyandroid-async-http

于 2013-10-22T20:06:17.883 回答