Android中Activity共享变量的另一方法:Application context

网友投稿 894 2022-12-01

Android中Activity共享变量的另一方法:Application context

Android中Activity共享变量的另一方法:Application context

感觉用这种方式存储登录信息比较好,比SharedPreferences存储登录信息的状态比较合适。 相当于存储session的数据(打个比喻)。 多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。 用SharedPreferences存储的话关闭应用的时候这个值还是最后一次设置的值,如果是非正常退出程序时登录状态就会有问题,所以在使用上感觉application context是最合适存储当前登录状态的信息,当然可是存储一些相当于session当中存储的值,因为关闭应用后这些值就没有了。

package org.mdx.core.modules;import android.app.Application;public class ApplicationHelper extends Application { private boolean session_enter = false; // 默认为false /** * 设置session状态 * * @param bol * true为以登录,false未登录 */ public void putSession(boolean bol) { session_enter = bol; } /** * 是否登录 * * @return true是,false否 */ public boolean isEnter() { return session_enter; }} 在AndroidManifest.xml的application加个name属性就可以了,如下面所示: activity使用时:(这个是重点) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getApplicationContext().putSession(false); // 设置登录状态为退出 } public ApplicationHelper getApplicationContext() { return ((ApplicationHelper) super.getApplicationContext()); }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:TabActivity中子Activity相互跳转 .
下一篇:springboot Junit 执行顺序详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~