获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
===========================获取全局上下文(getApplicationContext)========================
1.在com.example.autologin.myapplication包中创建Myapplication extends Application
代码:

public class Myapplication extends Application
{
private static Context context; @Override
public void onCreate()
{
super.onCreate(); context = getApplicationContext();
} public static Context getAppContext()
{
return context;
}
}

2.在AndroidManifest.xml中添加属性, 申明Myapplication:
android:name="com.example.autologin.myapplication.Myapplication"
代码:

<!-- 申明Myapplication -->
<application
android:name="com.example.autologin.myapplication.Myapplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" > <!-- ....... --> </application>

================================创建Shared Preference工具类==============================
在包com.example.autologin.utils中创建SpUtil.java类:
代码:

public class SpUtil
{
//
//通过全局上下文创建静态SharedPreferences对象
//
private static SharedPreferences sp =
Myapplication.getAppContext().getSharedPreferences("user",Context.MODE_PRIVATE); //静态保存用户账号密码方法
public static void saveUser(String name, String pwd)
{
Editor edit = sp.edit();
edit.putString("username", name);
edit.putString("pwd", pwd); edit.commit(); } //
//保存是否有过登录的状态
//
public static void isLogin(boolean isLogin)
{
Editor edit = sp.edit();
edit.putBoolean("islogin", isLogin);
edit.commit();
} //
//读取是否有过登录的状态
//
public static boolean getIsLogin()
{
return sp.getBoolean("islogin", false);
}
}

=============================实现自动登录============================
创建欢迎页面SplashActivity.java,读取登录状态,若有过登录则直接跳转主页面,没有登录过跳转登录页面
代码:

Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
//
//如果有过登录
//直接跳转主页面
//
if (SpUtil.getIsLogin())
{
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
SplashActivity.this.finish();
} else
{
//
//如果没有登录过登录
//跳转登录页面
//
Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
startActivity(intent);
SplashActivity.this.finish();
} }
}, 3000);

**注意: 将SplashActivity.java设置为启动页面
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录的更多相关文章
- 编写Java程序,创建一个数学工具类,将该类设计为final类,Final 修饰符的使用。
返回本章节 返回作业目录 需求说明: 创建一个数学工具类. 将该类设计为final类. 将该类的构造方法的访问权限定义为私有,以防止外界实例化该类. 在该类定义静态double类型常量π,其值为3.1 ...
- Hibernate工具类_抽取重复核心代码
问题:在Hibernate中每次执行一次操作总是需要加载核心配置文件,获取连接池等等都是重复动作,所以抽取出来 解决: package com.xxx.utils; /** *Hibernate的工具 ...
- 创建Jdbc封装工具类
jdbc.propertie url=jdbc:mysql:///empye user=root password=root driver=com.mysql.jdbc.Driver 读取资源文件 ...
- 【转载】[C#]枚举操作(从枚举中获取Description,根据Description获取枚举,将枚举转换为ArrayList)工具类
关键代码: using System; using System.Collections; using System.Collections.Generic; using System.Compone ...
- C#_自动化测试1_模拟post,get_12306火车票网站自动登录工具
还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 通过前两篇博客Fiddler教程和HTTP协议详解,我们了解了Web ...
- Android中创建倒影效果的工具类
一.有时候我们需要创建倒影的效果,我们接触最多的都是图片能够创建倒影,而布局依然可以创建倒影. 二.工具类代码 import android.graphi ...
- Java工具类_表结构自动生成对应的实体类、Mapper.xml文件、Dao类
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWrit ...
- android开发获取网络状态,wifi,wap,2g,3g.工具类(一)
android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.Con ...
- Java获取URL中的顶级域名domain的工具类
方式一: import java.net.MalformedURLException; import java.net.URL; import java.util.Arrays; import jav ...
随机推荐
- 让你更值钱的方法:培养稀缺(追逐新技术,淬炼已有技能、做到出类拔萃,寻找自己所在的行业痛点,App开发者是市场动态平衡的典型)
一个开发者,如何才能更值钱? 答案非常简单:掌握稀缺资源. 那么,怎样才能持续不断地掌握稀缺资源,让自己更值钱呢? 请看接下来介绍的 2 种识别稀缺的方法和 2 种培养稀缺的策略. 稀缺资源的秘密 资 ...
- js进阶 13-11/12 jquery如何实现折叠导航
js进阶 13-11/12 jquery如何实现折叠导航 一.总结 一句话总结:还是用的slideToggle滑动效果,并且这一个展开时,所有兄弟都关闭. 1.文字缩进怎么设置? 感觉设置margin ...
- jquery设置attr属性值
1.返回属性值 $(selector).attr(attribute); 2.设置属性值 $(selector).attr(attribute,value); 3.设置多个属性值 $(selector ...
- 微服务实践(七):从单体式架构迁移到微服务架构 - DockOne.io
原文:微服务实践(七):从单体式架构迁移到微服务架构 - DockOne.io [编者的话]这是用微服务开发应用系列博客的第七篇也是最后一篇.第一篇中介绍了微服务架构模式,并且讨论了微服架构的优缺点: ...
- sql for xml query sample
sample 1: declare @x xml select @x='<ArrayOfScheduledTime> <ScheduledTime> <Recurrenc ...
- Microsoft Bot Framework 链接至微信公共号
如何将 Microsoft Bot Framework 链接至微信公共号 说到 Microsoft Bot Framework 其实微软发布了已经有一段时间了,有很多朋友可能还不太了解,微软Bot ...
- SpringBoot错误信息总结(不定时更新)
1." java.lang.IllegalStateException: @Bean method ShiroConfig.cacheManager called as a bean ref ...
- [Angular HTML] Implementing The Input Mask Cursor Navigation Functionality -- setSelectionRange
@HostListener('keydown', ['$event', '$event.keyCode']) onKeyDown($event: KeyboardEvent, keyCode) { i ...
- 算法 Tricks(五)—— 将一个序列量化为何值时平方误差最小
设数列为 A[],区间在 [a, b],设使量化后误差平方最小的数值为 m,则误差平方关于 m 的函数可以写作如下形式: ∑i=ab(A[i]−m)2=(b−a+1)⋅m2−2m∑i=abA[i]+∑ ...
- 关于DMA
用串口在dma中发东西的时候,,, 要判断DMA里是不是由东西,是不是在占用 当多个外设再用DMA的时候,,,要查看DMA有没有占用 一包数没发完,不要再传另一包