获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
2015-12-05 16:13
441 查看
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录
===========================获取全局上下文(getApplicationContext)========================
1.在com.example.autologin.myapplication包中创建Myapplication extends Application
代码:
2.在AndroidManifest.xml中添加属性, 申明Myapplication:
android:name="com.example.autologin.myapplication.Myapplication"
代码:
================================创建Shared Preference工具类==============================
在包com.example.autologin.utils中创建SpUtil.java类:
代码:
=============================实现自动登录============================
创建欢迎页面SplashActivity.java,读取登录状态,若有过登录则直接跳转主页面,没有登录过跳转登录页面
代码:
**注意: 将SplashActivity.java设置为启动页面
===========================获取全局上下文(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设置为启动页面
相关文章推荐
- 移动App测试常见测试点简单归纳
- 实现一个TODO宏
- Android广播动态注册重复注册问题
- Android5.0推出的替换listView的控件recyclerview
- android makefile文件(Android.mk)组织结构解析
- android 世上actionbra最详细的介绍
- Android统计图表MPAndroidChart:为多条统计折线动态更新数据,以高温低温曲线为例【7】
- 绘图 - 3
- iOS---NSPredicate谓词的用法 数组过滤
- iOS---数组过滤
- 微信公众号的黑色商业链揭秘
- iOS 代理反向传值
- 释放Android的函数式能量(I):Kotlin语言的Lambda表达式
- Android开发者文档笔记(一)
- Android中Bitmap和Drawable
- android(24)(用java实现多线程断点下载)
- iOS工程适配64-bit经验分享
- 仿微信二维码的制作
- iOS开发——单例
- android下面的文案重用