记录用户信息的基本方法有三个,
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.还有一种存储的方法就是在数据库汇总存储,但是要是应用只想保存用户的临时数据的话,但是拉出来建一个数据库的话,感觉不划算(要是应用中本来就有数据库的需求的话,这样是可以的,而且还是比较靠谱的安全的方法)
本人刚开始写博客,有哪里写的不对,还望指正,谢谢!