可以在 SharedPreferences 中保存 JSON 数组吗?

2023-12-09

我有一个需要保存的 JSON 数组。我正在考虑序列化它,但是将它保存为 SharedPreferences 中的字符串,然后在我需要读入它时重建它会更好吗?


Java 中的 JSON 对象并未实现开箱即用的可序列化。我见过其他人扩展了该类以允许这样做,但对于您的情况,我只是建议将 JSON 对象存储为字符串并使用其 toString() 函数。我在这方面取得了成功。

editor.putString("jsondata", jobj.toString());

并把它找回来:

String strJson = sharedPref.getString("jsondata","0");//second parameter is necessary ie.,Value to return if this preference does not exist. 

if (strJson != null) {
           try {
               JSONObject response = new JSONObject(strJson);

         } catch (JSONException e) {

         }
  }

http://developer.android.com/reference/org/json/JSONObject.html#JSONObject(java.lang.String)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以在 SharedPreferences 中保存 JSON 数组吗? 的相关文章

  • 对于一个单元格,RecyclerView onBindViewHolder 调用次数过多

    我正在将 RecyclerView 与 GridLayoutManager 一起使用 对于网格中的每个项目 我需要调用 REST api 来检索数据 然后 从远程异步获取数据后 我使用 UIL 加载 显示图像 一切似乎都很好 但我发现 on
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • 问题:为什么React Native Video不能全屏播放视频?

    我正在react native 0 57 7 中为android和ios创建一个应用程序并使用反应本机视频 https github com react native community react native video播放上传到的视频
  • 创建一个 JSON 对象以在 Spring Boot 测试中发布

    我想编写基本测试来使用 JSON 负载在 users URL 上执行 POST 请求来创建用户 我找不到如何将新对象转换为 JSON 到目前为止有这么多 这显然是错误的 但解释了目的 Test public void createUser
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 我的应用程序中的后退按钮出现问题[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在手机关闭时清除共享首选项值 你

随机推荐

  • 我可以强制报表顶部的图表始终可见吗

    我有以下报告 In Excel我会用一个叫做Freeze Pane在图表下方 这意味着当用户向下滚动时 表格将滚动 但图表将始终保持可见 是否可以在中实现此行为RS EDIT 注 图表和tablix使用不同Datasets 是的 您可以通过
  • 从设计角度应该如何对待 CouchDB 修订版?

    据我所知 CouchDB 修订版不应被视为文档版本控制这个词的意义 从其他帖子来看 它们似乎被视为暂时数据 直到粗粒度的数据出现为止 compact操作称为 我的问题是 如果我有兴趣使用 CouchDB 来维护文档以及这些文档的版本历史记录
  • 如何为history.pushState和replaceState设置“默认”值?

    对于使用的浏览器titleparam 我们应该使用什么值来告诉浏览器使用其默认值 In Safari 5 1 7 7534 57 2 if I put null or undefined as the title param it uses
  • Haskell:在不使用spawn的情况下分割管道(广播)

    这个问题有点代码高尔夫 而且很新鲜 我正在使用很棒的pipesHaskell 中的库 我想拆分一个管道以沿多个通道发送相同的数据 进行广播 这Pipes Concurrent教程建议使用spawn创建邮箱 利用Output的幺半群状态 例如
  • 查找视图依赖的所有表[重复]

    这个问题在这里已经有答案了 我有一个 Oracle 视图 我想找到我的视图所依赖的所有表 可能 我的视图依赖于其他视图 在这种情况下 我想递归地导航依赖项并访问表 这是我的架构的示例 CREATE TABLE T1 A NUMBER CRE
  • 如何获取当前页面中显示的所有项目?

    For the 官方示例多选时 如果设置每页显示 50 行并单击标题行中的全选复选框 则实际上表中的所有行都被选中 问题是我只想选择当前页面中的所有行 有什么方法可以实现吗 我不想手动单击每一行 我为你想要实现的目标创建了一个演示 http
  • 如何从字符串[]中删除非字母字符? [复制]

    这个问题在这里已经有答案了 这是代码 StringBuilder sb new StringBuilder Regex rgx new Regex a zA Z0 9 var words Regex Split textBox1 Text
  • SFENCE 是否会阻止存储缓冲区隐藏来自 MESI 的更改?

    如果 Core 进行写入 但其 L1 中不存在缓存行 则它会写入存储缓冲区 另一个 Core 请求该缓存行 MESI 无法看到存储缓冲区更新并返回未修改的缓存行 存储缓冲区不久后被刷新 但第二个核心已经使用旧值 我不明白如何SFENCE解决
  • 比较 DOM 节点与 DOM 元素

    我在解决这个问题时遇到了一些麻烦 我知道 DOM 中的所有内容都是一个节点 并且 DOM 元素也是一个节点 然而 我的问题是 我有一个 DOM 节点和一个 DOM 元素 我需要比较它们以查看它们是否引用相同的元素 这可能吗 我认为我的问题有
  • 保存领域关系并不会使它们持久化

    我有一个清单articles 这些文章是通过使用插入的realm copyToRealmOrUpdate 效果非常好 现在每篇文章都有一个不应该被持久化的authorId 相反 我想找到存储的作者 RealmObject并设置其与文章的关系
  • Android ViewPager 中心项目更大

    我想创建一个 ViewPager 选定的中心项目比其他项目大 上一个和下一个项目的部分始终可见 我在用viewPager setPageMargin 20 使上一个和下一个项目的一部分可见 但是 如何使选定的中心项目比其他项目稍大一些 您可
  • 有没有我可以使用的 Subversion Web 客户端

    我想在 Linux 首选 或 Windows 上安装 svn Web 客户端 我只需要只读功能 不需要提交 并且我希望能够使用 diff 来比较修订版本 我的 svn 服务器在另一台机器上 因此 Web 服务器需要通过 http 访问它 也
  • 链接到更高级别文件夹中的文件

    我在提供比我的根文件夹级别更高的文档时遇到问题 a href home folder document docx Proposal a 在浏览器中 上面的内容被解释为 http localhost home folder document
  • 连接文件夹中的大量文件时参数列表太长

    这是一个将多个相同模式文件连接成一个大文件的命令 在文件夹中我有 77k 个文件 我得到Argument list too long 示例文件名是每分钟 cartreset 2014 05 08 01 12 log rm f tmp tem
  • Chrome 开发工具 - “大小”与“内容”

    在 Chrome 开发工具的 网络 选项卡中查看有关样式表的信息时 一列指定 大小 和 内容 有人能解释一下这两个数字之间的区别吗 在某些页面上 数字很接近 而在其他页面上 数字则相差相当大 大小 是线路上的字节数 内容 是资源的实际大小
  • ARKit – 如何显示来自放置在 SCNPlane 上的虚拟 SCNCamera 的源?

    我使用 ARKit 和 SceneKit 将一些对象放入 AR 空间中 效果很好 现在我想添加一个额外的摄像机 SCNCamera 该摄像机放置在场景中的其他位置 由公共 SCNNode 连接和定位 它旨在从另一个 固定 角度向我展示当前场
  • 在签入 TFS 之前是否必须执行“获取最新版本”,以免覆盖/丢失代码?

    我的团队中有一个反复出现的问题让我抓狂 人们声称 Team Foundation Server 中的某些签入会覆盖以前的签入 现有代码 他们声称你总是需要做Get Latest Version在办理登机手续之前 换句话说 运行获取最新信息是
  • 嵌入式Kafka:KTable+KTable leftJoin产生重复记录

    我来寻求神秘的知识 首先 我有两对主题 每对中的一个主题融入另一个主题 后面的主题形成两个KTable 用于KTable KTable leftJoin 问题是 当我向任一 KTable 生成一条记录时 leftJoin 会生成三个记录 我
  • 通过javascript获取网页文本[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 是否有 JavaScript 语句可以从网页中检索内容 文本 你可以这样做Ranges
  • 可以在 SharedPreferences 中保存 JSON 数组吗?

    我有一个需要保存的 JSON 数组 我正在考虑序列化它 但是将它保存为 SharedPreferences 中的字符串 然后在我需要读入它时重建它会更好吗 Java 中的 JSON 对象并未实现开箱即用的可序列化 我见过其他人扩展了该类以允