关于。android SharedPreferences

2024-05-24 00:51

1. 关于。android SharedPreferences

这个是因为Linux的用户机制导致的
程序创建的 settings.xml文件是属于用户的 你可以在控制台,进入shell模式后
进入这个文件目录下查看文件所属用户及权限 ls -la 或者 ll查看
你用RE管理器去覆盖,明显你用的是root用户,因为普通用户是无法进入/data/data目录下的
那么问题来了,你是普通用户,你根本就读取不了这个strings.xml文件,因为这个文件的创建者不属于你的程序

第一组是UGO权限
第二组是所属用户
第三组是所属组

关于。android SharedPreferences

2. Android中的SharedPreferences的问题

这个是因为Linux的用户机制导致的
程序创建的 settings.xml文件是属于用户的 你可以在控制台,进入shell模式后
进入这个文件目录下查看文件所属用户及权限 ls -la 或者 ll查看
你用RE管理器去覆盖,明显你用的是root用户,因为普通用户是无法进入/data/data目录下的
那么问题来了,你是普通用户,你根本就读取不了这个strings.xml文件,因为这个文件的创建者不属于你的程序

第一组是UGO权限
第二组是所属用户
第三组是所属组

3. 在Android开发中使用SharedPreferences保存的数据具有什么特点?保存的文件路径在哪里?

SharedPreferences是android.content.SharedPreferences包内的一个类,它主要是用来共享程序数据的。
SharedPreferences是以键值对(key-value)的方式来存储数据,它可以存储booleans, floats, ints, longs, and strings这些基本的数据类型。
SharedPreferences存储的数据是持久性的,一旦通过其存储数据,数据就一直保留着,即便是你的APP完全停止运行,从内存中完全退出,这些数据也会被保留下来,下一次你再进入APP时,从SharedPreferences中,你仍然可以读出上一次写入的数据。从这个角度来讲,SharedPreferences存储数据的方式和xml文件类似。但是,如果把APP卸载了,下次安装时,SharedPreferences中的数据会被清除,这点和xml文件是不一样的。
获取SharedPreferences对象的方法有两种:
getSharedPreferences() 
这种方法用于APP中有多个SharedPreferences文件,通过名字来获取SharedPreferences对象;
getPreferences() 
这种方法用于Activity中只有一个SharedPreferences文件时,因为只有一个,所以就不必提供名字。
实际应用时,第一种方法用的会更多。
向SharedPreferences中写数据:
通过edit()方法获取SharedPreferences.Editor对象;
调用putXXX()方法,放值,(XXX为基本数据类型);
调用commit()方法提交放入的值。

保存的文件路径这个没有研究过,在官方文档上也没有看到,这个不必太在意,知道怎么使用就差不多了。

在Android开发中使用SharedPreferences保存的数据具有什么特点?保存的文件路径在哪里?