android中如何判断是否登录,保存登录信息

wy245218 2016-08-23 11:39:39
就是第一次进入app的话 是没有登录的。然后,如果用户点击某一项功能就要看是不是已登录状态,没有登录的话就提示要先登录,登陆了之后才能查看app的功能,然后登录之后就保存登录信息,退出了在下一次进app就不用登录了。大神指导一下,详细一点。
...全文
2589 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38669639 2019-06-02
  • 打赏
  • 举报
回复
https://blog.csdn.net/juer2017/article/details/78636100
UESTC少尉 2016-08-25
  • 打赏
  • 举报
回复
有几种方法,怎么使用网上找一下很多的: 1、sharedPreference存改状态,进行判断 2、sqlite数据库里面存改状态,同上面的方法类似 3、跟后台server端交互进行判断
ruinworld 2016-08-25
  • 打赏
  • 举报
回复
根据你的需求需要三步: 1.第一步就是你创建个class类继承自Application,作为你app的整个应用层,在里面写一个或几个变量,根据你的需求写,如果你的用户登录状态有token,你就写一个变量保存token,在判断是否登录的时候直接判断token是否为空就行,如果没有你要写一个能判断用户登录状态的参数的变量,ok,这是判断用户是否登录的 2.第二步就是上面同志们所说的保存登录状态的,你就保存在SharedPreference里面或者你保存在java提供的Peroperty里面,都是键值对的存储,把一个或几个用来判断用户登录状态的参数写进去,只要你的app不卸载和用户不在设置里面清楚你的app的数据他会一直存在,ok,这就是实现保存用户登录状态的 3.第三步就是用户在打开你的app的时候,首先执行第一步的继承与application的类,你在这个类里面的oncreate方法中初始化用户登录信息,具体就是你从SharedPreference中取出你的用户信息(一般会保存用户对象的json字符串信息),并将判断用户登录状态的参数赋值给该类里面的你定义的变量,ok,这就是实现每次用户打开app,只要是没登录你的第一步的变量就是空的,登陆后变量就是有值得,用户的登录状态也就ok了
LoveWyf_ 2016-08-24
  • 打赏
  • 举报
回复
用sharedprefrence保存一个值,默认是false,如果登录了就是true,登出就再改为true,通过这个值判断是否登录
碼农李泽斌 2016-08-24
  • 打赏
  • 举报
回复
进入启动页之后先获取存储的内容,如果字段不存在或者字段存在但是是未登录状态值,则跳转到登录界面,如果字段存在并且是已登录状态值,则跳转到功能界面。
给你一个SPUtil工具类
    private static String SHAREDPREFERENCE_NAME = "sp_data";

public static void put(Context context, String key, Object object) {
SharedPreferences sp = context.getSharedPreferences(SHAREDPREFERENCE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
if (object instanceof String) {
editor.putString(key, (String) object);
} else if (object instanceof Integer) {
editor.putInt(key, (Integer) object);
} else if (object instanceof Boolean) {
editor.putBoolean(key, (Boolean) object);
} else {
editor.putString(key, object.toString());
}
editor.commit();
}

public static Object get(Context context, String key, Object defaultObject) {
SharedPreferences sp = context.getSharedPreferences(SHAREDPREFERENCE_NAME, Context.MODE_PRIVATE);
if (defaultObject instanceof String) {
return sp.getString(key, (String) defaultObject);
} else if (defaultObject instanceof Integer) {
return sp.getInt(key, (Integer) defaultObject);
} else if (defaultObject instanceof Boolean) {
return sp.getBoolean(key, (Boolean) defaultObject);
} else if (defaultObject instanceof Float) {
return sp.getFloat(key, (Float) defaultObject);
} else if (defaultObject instanceof Long) {
return sp.getLong(key, (Long) defaultObject);
}
return null;
}
ink_s 2016-08-23
  • 打赏
  • 举报
回复
sp 百度SP
网络咖啡 2016-08-23
  • 打赏
  • 举报
回复
程序里面做一个变量,记录登录状态,登录成功时设置该变量是true
wy245218 2016-08-23
  • 打赏
  • 举报
回复
各位大神,还不是太懂,能不能给个推荐的列子看一看。谢谢了。
碼农李泽斌 2016-08-23
  • 打赏
  • 举报
回复
用sharedPreference啊,Android 应用的的一些设置、登录状态、用户信息等一般都会存在sharedpreference中,它会以键值对的形式存储在手机中

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧