记录一个本地存储用户信息的方法

记录用户信息的基本方法有三个,

1.用sharepreference来记录临时的数据(这个我 不推荐,不知道为什么,这个不是很靠谱,我之前就是用这个记录的,但是有时候,它会无缘无故的消失,就是记录的临时数据不见了,哎,我排查了好长时间都不顶用,就是无缘无故的消失了,)。

2.文件本地保存,但是文件有一个问题是,文件的话有的文件地址需要用户权限;所以,有点不靠谱,要是用户不允许你保存临时数据那就惨了,(但是,这个里面有一个路径是不需要用户权限也可以保存的,之前我不知道这个,哎,感觉好坑呀,)

ObjectOutputStream

下面是这个路径的源码解释

/**
 * Returns the absolute path to the directory on the filesystem where files
 * created with {@link #openFileOutput} are stored.
 * <p>
 * The returned path may change over time if the calling app is moved to an
 * adopted storage device, so only relative paths should be persisted.
 * <p>
 * No additional permissions are required for the calling app to read or
 * write files under the returned path.
   调用应用程序不需要额外的权限来读取或在返回的路径下写入文件
 *
 * @return The path of the directory holding application files.
 * @see #openFileOutput
 * @see #getFileStreamPath
 * @see #getDir
 */
public abstract File getFilesDir();

这种的保存方法,直接可以把对象写入文件,后缀名可以进去(比如可以直接把User对象写入缓存),通过以下方法

FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(user);

通过这个方法获取的路径是不需要用户的权限

private static File dir = App.getApplication().getFilesDir();

(具体需要了解,android的文件存储路径与调用函数可以看这篇文章:https://blog.csdn.net/losefrank/article/details/53464646

3.还有一种存储的方法就是在数据库汇总存储,但是要是应用只想保存用户的临时数据的话,但是拉出来建一个数据库的话,感觉不划算(要是应用中本来就有数据库的需求的话,这样是可以的,而且还是比较靠谱的安全的方法)

本人刚开始写博客,有哪里写的不对,还望指正,谢谢!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值