package wjb.beans; import android.content.Context; import com.orhanobut.logger.Logger; import java.io.File; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * 保存数据到本地,包括用户数据和全局数据. */ public class AccountInfo { private static final String ACCOUNT = "ACCOUNT"; // 登出 public static void loginOut(Context ctx) { File dir = ctx.getFilesDir(); String[] fileNameList = dir.list(); for (String item : fileNameList) { File file = new File(dir, item); if (file.exists() && !file.isDirectory()) { file.delete(); } } } // 修改用户信息 public static void saveAccount(Context ctx, UserObject data) { if (ctx == null) { Logger.i("上下文为空"); } File file = new File(ctx.getFilesDir(), ACCOUNT); if (file.exists()) { file.delete(); } try { ObjectOutputStream oos = new ObjectOutputStream(ctx.openFileOutput(ACCOUNT, Context.MODE_PRIVATE)); oos.writeObject(data); oos.close(); } catch (Exception e) { e.printStackTrace(); } } // 读取用户信息 public static UserObject loadAccount(Context ctx) { UserObject data = null; File file = new File(ctx.getFilesDir(), ACCOUNT); if (file.exists()) { try { ObjectInputStream ois = new ObjectInputStream(ctx.openFileInput(ACCOUNT)); data = (UserObject) ois.readObject(); ois.close(); } catch (Exception e) { e.printStackTrace(); } } if (data == null) { data = new UserObject(); } return data; } // 判断用户信息是否存在 public static boolean isLogin(Context ctx) { File file = new File(ctx.getFilesDir(), ACCOUNT); return file.exists(); } }
登录用户信息持久化存储
最新推荐文章于 2024-06-19 20:15:20 发布