获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录

获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录

===========================获取全局上下文(getApplicationContext)========================

1.在com.example.autologin.myapplication包中创建Myapplication extends Application

代码:

获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
 public class Myapplication extends Application
{
private static Context context; @Override
public void onCreate()
{
super.onCreate(); context = getApplicationContext();
} public static Context getAppContext()
{
return context;
}
}
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录

2.在AndroidManifest.xml中添加属性, 申明Myapplication:

android:name="com.example.autologin.myapplication.Myapplication"

代码:

获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
 <!-- 申明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>
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录

================================创建Shared Preference工具类==============================

在包com.example.autologin.utils中创建SpUtil.java类:

代码:

获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
 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);
}
}
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录

=============================实现自动登录============================

创建欢迎页面SplashActivity.java,读取登录状态,若有过登录则直接跳转主页面,没有登录过跳转登录页面

代码:

获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
 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);
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录

**注意: 将SplashActivity.java设置为启动页面

上一篇:从spring框架中的事件驱动模型出发,优化实际应用开发代码


下一篇:python爬虫---urllib库的基本用法