1

嘿伙计们,我目前正在开发一个 android 应用程序,该应用程序允许我使用注册用户登录,然后发布他的身高、他的胆固醇水平等等,通过使用 ksoap 的 Web 服务,我不知道如何保持用户通过诸如 ksoap 之类的 Web 服务登录,然后引入这些值。我还没有代码,我只是想弄清楚我要怎么做,因为在 android 中我猜你可以说我还在小步。将发布信息的网站已经创建,但我需要知道如何让用户保持登录状态,以便我可以输入他的号码并通过网络服务将正确的值发送给正确的用户。

4

2 回答 2

2

那么,你可以保存boolean variable in Shared Preference当用户logged in。因此,当您想要发送数据时,您需要检查 that 的值boolean variable。如果它是真的,那么你可以发送数据,否则重定向到登录页面。

当用户注销时,您需要在共享首选项中将该变量设置为 false 或清除共享首选项。

例子

public class PreferenceData 
{
    static final String PREF_USER_ID = "user_logged_in";

    public static SharedPreferences getSharedPreferences(Context ctx) 
    {
        return PreferenceManager.getDefaultSharedPreferences(ctx);
    }

    public static void setUserLoggedIn(Context ctx, boolean userLoggedIn) 
    {
        Editor editor = getSharedPreferences(ctx).edit();
        editor.putBoolean(PREF_USER_ID, userLoggedIn);
        editor.commit();
    }

    public static boolean getUserLoggedIn(Context ctx) 
    {
        return getSharedPreferences(ctx).putBoolean(PREF_USER_ID, false);
    }
}
于 2012-05-09T11:28:50.293 回答
0

好吧,您可以将带有时间戳的令牌保存在 sqlite 数据库或闪存中,并将其作为请求中的参数发送。当您检查登录令牌是否存在时,如果您希望它超时,您可以检查时间戳 - 创建一个清除此令牌的注销功能

于 2012-05-09T11:11:30.040 回答