草庐IT

sharedpreferences

全部标签

android - 如何从 adb shell 检查 SharedPreferences?

现在我们可以Examiningsqlite3DatabasesfromaRemoteShell,是否可以从adbshell检查SharedPreferences?因为在调试时从命令行检查和操作SharedPreferences会更方便。或者换一种说法,SharedPreferences保存在哪些文件中,如何查看和修改这些文件? 最佳答案 好的,我刚刚提出上述问题后找到了该文件。(公开提问似乎会刺激我更加努力地自己寻找答案,因为我不想让我亲爱的同龄人认为我是一个懒惰的程序员。)是/data/data/your.app.package.

android - 如何检查 SharedPreferences 是否存在

我这样检查文件是否存在,但是我需要超越,我需要知道是否有一个具体的,有什么办法吗?Filef=newFile("/data/data/com.eventrid.scanner/shared_prefs/Eventrid.xml");if(f.exists()){}else{} 最佳答案 SharedPreferences有一个contains(Stringkey)方法,可用于检查具有给定键的条目是否存在。http://developer.android.com/reference/android/content/SharedPref

Android - 具有可序列化对象的 SharedPreferences

我知道SharedPreferences有putString()、putFloat()、putLong()、putInt()和putBoolean()。但是我需要在SharedPreferences中存储一个Serializable类型的对象。我怎样才能做到这一点? 最佳答案 公认的答案具有误导性,我们可以使用GSON将可序列化对象存储到SharedPreferences中。在google-gson上阅读更多相关信息.您可以在Gradle文件中添加GSON依赖项:compile'com.google.code.gson:gson:2

android - SharedPreferences 应用程序上下文与 Activity 上下文

我正在使用多个SharedPreferences在我的应用程序中存储数据。一些偏好用于很多Activity。我知道SharedPreferences在内部由映射支持以实现快速读取访问,并在更改设置时写入sdcard。我想知道如果许多Activity都访问共享首选项,哪种方式更好:使用Activity上下文在每个Activity中实例化它。在每个Activity中实例化它,但使用应用程序上下文。把它放在例如Application类,并且只在其中实例化一次,类似于单例。如果我使用1.解决方案,是否每个Activity都有一个sharedpreference对象?当activity被销毁时,

android - SharedPreferences 和线程安全

看SharedPreferencesdocs它说:"Note:currentlythisclassdoesnotsupportuseacrossmultipleprocesses.Thiswillbeaddedlater."所以它本身似乎不是线程安全的。但是,commit()和apply()做了什么样的保证呢?例如:synchronized(uniqueIdLock){uniqueId=sharedPreferences.getInt("UNIQUE_INCREMENTING_ID",0);uniqueId++;sharedPreferences.edit().putInt("UNIQ

android - 卸载时未清除 SharedPreferences

好吧,这是一个我认为不可能的奇怪的事情。所以,自从我使用Nexus5X以来,当我卸载我的应用程序时,SharedPreferences并没有被清除。我通过AndroidStudio安装应用程序并进行测试。然后我卸载该应用程序。然后我通过AndroidStudio重新安装应用程序,所有SharedPreferences值仍然存在。除了卸载之外,我还尝试清除数据/缓存。SharedPreferences在所有这些尝试中都是持久的。我在Nexus5X上使用现有的Android6.0。我的设备没有root。我没有使用自定义ROM。我的Nexus4没有这个问题。任何想法可能导致这种情况?

java - Android SharedPreferences 中 commit 和 apply 的区别

这个问题在这里已经有了答案:What'sthedifferencebetweencommit()andapply()inSharedPreferences(8个回答)关闭9年前。SharedPreferences用于在Android中保存应用程序数据。commit()和apply()都用于保存共享首选项中的更改。如Android库中所述:publicabstarctvoidapply():Unlikecommit(),whichwritesitspreferencesouttopersistentstoragesynchronously,apply()commitsitschanges

java - 如何将 List<Object> 保存到 SharedPreferences?

我有一个产品列表,我从web服务检索,当应用程序第一次打开时,应用程序从web服务获取产品列表。我想将此列表保存到共享首选项中。ListmedicineList=newArrayList();产品类在哪里:publicclassProduct{publicfinalStringproductName;publicfinalStringprice;publicfinalStringcontent;publicfinalStringimageUrl;publicProduct(StringproductName,Stringprice,Stringcontent,StringimageUr

java - 使用 SharedPreferences 保存字节数组

所以我有一个byte[]array我在我的android应用程序中创建。我想使用来自android的SharedPreferences来存储它并在我启动我的应用程序时再次检索它。我怎样才能做到这一点? 最佳答案 您可以使用android.util.Base64在SharedPreferences中保存一个字节数组。为了节省:StringsaveThis=Base64.encodeToString(array,Base64.DEFAULT);用于加载:byte[]array=Base64.decode(stringFromShared

java - 如何在 SharedPreferences 中保存和检索日期

我需要在android的SharedPreferences中保存一些日期并检索它。我正在使用AlarmManager构建提醒应用程序,我需要保存future日期列表。它必须能够以毫秒为单位进行检索。首先,我想计算现在时间和future时间之间的时间并存储在共享偏好中。但该方法不起作用,因为我需要将它用于AlarmManager。 最佳答案 要保存和加载准确的日期,您可以使用Date对象的long(数字)表示。示例://gettingthecurrenttimeinmilliseconds,andcreatingaDateobject