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

发布于 2024-12-04 03:35:40 字数 73 浏览 2 评论 0原文

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

我不知道如何使用会话。 任何人都可以通过提供一些示例来帮助我。

In my app i want to create a session for login and log out.

I dont have any idea how to work with session.
Anybody help me by giving some sample example.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光倒影 2024-12-11 03:35:40

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

这是一个简短的示例:

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

    公共类实用程序 {  
        公共静态会话 mySessionObject = null;
    }
    
  2. 按下登录按钮时初始化会话对象:

    login.setOnClickListener(new View.OnClickListener() {
        公共无效onClick(查看v){
            Utils.mySessionObject = new Session();
           //一些额外的初始化,例如设置userId
        }
    });
    

注销时您可以销毁您的会话对象。

这里是一个链接,介绍有关会话的更多信息。

I think the session object should be a static object declared and initialized when your application starts running. I have met this problem and decided to put my session object in a utils class which contains mathods used by every activity in my app.

Here is a short example:

  1. create a class for utils which will contain session object, Session is the class by which you implement your session object. It can contain, for example, userId, userName, etc.:

    public class Utils {  
        public static Session mySessionObject = null;
    }
    
  2. When login button is pushed initialize your session object:

    login.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Utils.mySessionObject = new Session();
           //some extra initalization, for example setting userId
        }
    });
    

On logout you can destroy your session object.

Here is a link telling more about sessions.

殤城〤 2024-12-11 03:35:40

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

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 跟踪器初始化、开发模式等

If you're trying to keep some data in memory during the life of your app, maybe you should consider using a singleton pattern. I use it this way.

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;
    }
}

I load the session during the splash screen. Keep in mind that with this solution you shouldn't keep big objects in memory.

Session.init(this);

For example I use it for the Google Analytics tracker initialization, development mode, etc

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文