如何在应用程序中创建会话对象

时间:2011-09-12 09:20:59

标签: android session android-webview

在我的应用程序中,我想创建一个登录和注销会话。

我不知道如何使用会话。 通过举一些示例来帮助我。

2 个答案:

答案 0 :(得分:1)

我认为会话对象应该是应用程序开始运行时声明和初始化的静态对象。我遇到了这个问题,并决定将我的会话对象放在一个utils类中,该类包含我的应用程序中每个活动使用的mathod。

这是一个简短的例子:

  1. 为包含会话对象的utils创建一个类,Session是用于实现会话对象的类。它可以包含,例如,userId,userName等:

    public class Utils {  
        public static Session mySessionObject = null;
    }
    
  2. 按下登录按钮时,初始化会话对象:

    login.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Utils.mySessionObject = new Session();
           //some extra initalization, for example setting userId
        }
    });
    
  3. 注销时,您可以销毁会话对象。

    Here是一个关于会话的链接。

答案 1 :(得分:0)

如果您在应用程序的生命周期中尝试将一些数据保留在内存中,也许您应该考虑使用单例模式。我这样用它。

public class Session {  

    @SuppressWarnings("unused")
    private GoogleAnalyticsTracker mGoogleAnalyticsTracker = null;

    private static Session sInstance               = null;

    private Session(Context pContext) {

        mGoogleAnalyticsTracker = GoogleAnalyticsTracker.getInstance();
        mGoogleAnalyticsTracker.startNewSession(pContext.getString(R.string.google_analytics_web_property_id), 
                                                pContext.getResources().getInteger(R.integer.google_analytics_tracking_time_in_seconds),
                                                pContext.getApplicationContext());
    }

    public static void init(Context pContext) {
        sInstance = new Session(pContext);
    }

    public static Session getInstance() {
        return sInstance;
    }
}

我在启动画面中加载会话。请记住,使用此解决方案时,不应将大对象保留在内存中。

Session.init(this);

例如,我将其用于Google Analytics跟踪器初始化,开发模式等