我可以在Android中使用SharedPreferences存储两个或多个具有相同键的值吗?如果不是,请告诉我当许多用户在注册应用程序中注册时如何存储用户名、名字、密码等值?例如:personAregisteredwithusername="john12",firstname="john"andDOB="06/06/2000".personBregisteredwithusername="arun89",firstname="arun"andDOB="08/11/1989".现在,我想将这些值存储在SharedPreferences中并稍后检索它们。是否可以使用SharedPrefe
我想知道是否可以在SharedPreferences中存储字符串数组。在我的应用程序中,我想要要存储的一组名称。我知道这可以使用数据库来完成,我只是想知道是否是否可以将这些名称集保存为SharedPreferences中的字符串数组。 最佳答案 您可以在API级别11及更高级别中使用SharedPreferences存储一组字符串。参见getStringSet()和putStringSet()ю在11之前的API级别中,您可以使用某种hack。例如,如果您需要在键"stringArray"下存储字符串数组,您可以使用putStrin
我正在构建一个Android应用程序。我想在首选项中存储一组字符串,以便根据他们的登录信息跟踪谁使用了该应用程序。我不想使用数据库,所以我知道我应该使用SharedPreferences来存储登录人员列表。我希望能够重置此列表,以便将个人登录数据保留为字符串,而不是因为StringSets不是一个选项。使用单独的字符串意味着我必须保留这些字符串的另一个列表,以便我可以在需要时清理它们。StringSet更易于维护。这是我到目前为止所做的://thisismypreferencesvariableSharedPreferencesprefs=getSharedPreferences("p
我已经为PreferenceScreen创建了一个基于xml的PreferenceActivity。在xml中,您可以为不同的首选项分配默认值。但是在屏幕打开和关闭之前,这些都没有存储在我的SharedPreferences中。问题是我想立即使用存储在这个屏幕中的首选项(比如服务器地址),用户只需要在他想更改默认值时打开它。有没有一种方法可以存储来自preferencescreenxml的所有首选项,而无需强制用户打开和关闭首选项Activity?我知道您可以在从SharedPreferences检索首选项时提供默认值,但是必须在xml和代码中都维护默认值是愚蠢的。
我正在制作备份程序,将手机SharedPreferences数据保存到我自己结构的文件中。但我不知道如何列出所有这些,我需要:例如,2个程序用名称“程序A”和“程序B”保存了它们的SharedPreferences。我需要获取包含这两个名称的字符串数组。然后,我将getSharedPreferences与“程序A”一起使用,我需要获取该程序保存的所有key。真的可以吗?EDIT1:我不知道手机上有什么程序/Activity。我想获取每个程序保存的所有keys。就像您备份所有手机数据一样,但仅备份SharedPreferences值。例如:您的手机有10个程序,每个程序都创建一个名为Pr
我制作了一个类来处理重要的数据更改,例如App购买状态和其他内容。为了这个目标,我创建了一个类来设置和读取值。但问题是每当我调用appIsPurchased()方法时,结果都是真实的,但自从应用程序安装和首次启动以来它一直没有改变。这是我的代码:/***Createdbyneemasaon5/29/14.*Thisclasshandlesmorecrucialdatavalueswithinapp.*/publicclassAppCore{privateSharedPreferencessettings;privateStringkeyPurchase="app_purchased";
假设我的方法通过了Bundle已经填满了要保存的数据,有没有办法将其保存到SharedPreferences不拆解为整数、float、字符串等?我更喜欢“一次性完成”编写/提交所有内容的便利性,所以如果这不可能使用SharedPreferences,还有什么persistent您会推荐存储方法吗? 最佳答案 SharedPreferences被序列化为XML,这就是您只能使用简单类型的原因。您要么必须自己将bundle转换为单独的SharePreferences属性,要么以其他方式将bundle序列化到磁盘。这是一个很好的引用文档,
我正在尝试通过另一个应用程序编辑一个应用程序的SharedPreferences,我的代码是这样的try{ContextplutoContext=getApplicationContext().createPackageContext("me.test",Context.MODE_WORLD_WRITEABLE);SharedPreferencesplutoPreferences=PreferenceManager.getDefaultSharedPreferences(plutoContext);EditorplutoPrefEditor=plutoPreferences.edit(
正如我在getSharedPreferences(String,int)的API描述中检查的那样,第二个属性定义了可访问性模式,并且可以采用0或MODE_PRIVATE作为默认操作,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE来控制权限。但是在API描述中有这么一条小提示:Note:currentlythisclass(android.content.SharedPreferences)doesnotsupportuseacrossmultipleprocesses.Thiswillbeaddedlater.此外,在MarkL.Murphy的书“be
在sharedPreferences遇到ANR,不知道怎么定位问题。这里是trace的三个部分,大部分其他线程都是“WAIT”或者“TIMED_WAIT”。“主”线程由于countdownlatch.await()而被阻塞。第二个线程“pool-1-thread-1”等待fsync。最后一个正在尝试阅读一些东西。我认为2nd线程阻塞了主线程,因为如果这个线程不能完成,它不会调用countdownlatch.countdown(),所以主线程必须等待。但我不明白为什么它会在fsync中停止。第3个线程与此相关吗?线程1"main"prio=5tid=1WAIT|group="main"s