Android从url解析json并存储它

2023-12-21

你好,我正在创建我的第一个 Android 应用程序,我想知道从 URL 解析 JSON Feed 的最佳和最有效的方法是什么。而且理想情况下我想将它存储在某个地方,这样我就可以继续返回它在应用程序的不同部分。我到处寻找,发现了很多不同的方法,但我不知道该选择哪种。您认为高效、轻松地解析 json 的最佳方法是什么?


在这个问题上我会支持whatsthebeef,抓取数据然后序列化到磁盘。

下面的代码显示了第一阶段,抓取 JSON 并将其解析为 JSON 对象并保存到磁盘

// Create a new HTTP Client
DefaultHttpClient defaultClient = new DefaultHttpClient();
// Setup the get request
HttpGet httpGetRequest = new HttpGet("http://example.json");

// Execute the request in the client
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
// Grab the response
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
String json = reader.readLine();

// Instantiate a JSON object from the request response
JSONObject jsonObject = new JSONObject(json);

// Save the JSONOvject
ObjectOutput out = new ObjectOutputStream(new FileOutputStream(new File(getCacheDir(),"")+"cacheFile.srl"));
out.writeObject( jsonObject );
out.close();

将 JSONObject 序列化并保存到磁盘后,您可以随时使用以下命令将其加载回来:

// Load in an object
ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File(new File(getCacheDir(),"")+"cacheFile.srl")));
JSONObject jsonObject = (JSONObject) in.readObject();
in.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android从url解析json并存储它 的相关文章

  • 如何以编程方式判断蓝牙设备是否已连接?

    我了解如何获取已配对设备的列表 但如何判断它们是否已连接 这一定是可能的 因为我看到它们列在我手机的蓝牙设备列表中 并且它说明了它们的连接状态 将蓝牙权限添加到您的AndroidManifest中
  • 如何使用 C# 在 .NET 中获取格式化 JSON?

    我正在使用 NET JSON 解析器 并希望序列化我的配置文件 以便它可读 所以而不是 blah v blah2 v2 我想要一些更好的东西 比如 blah v blah2 v2 我的代码是这样的 using System Web Scri
  • Android,如何从 XML 布局添加 Google 地图选项?

    我有一个包含 MapView 的片段 我已将此视图添加到 XML 文件中 如下所示
  • RxJava + Retrofit 2 的正确使用方法

    我有这样的 JSON success true data id 29 name u0420 u0435 u0441 u0442 u043e u0440 u0430 u0446 u0456 u044f u0411 u0430 u0447 u0
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • 片段活动中的 commitAllowingStateLoss()

    我的应用程序使用片段活动 它仅处于纵向模式 无法旋转屏幕 最初我使用的是commit 方法 但现在我计划不加区别地将这些更改为commitAllowingStateLoss 对于碎片活动 是否有任何理由不不加区别地执行此操作而不重新评估我使
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • 如何在Room的数据库迁移中正确添加索引?

    我在迁移 Room 数据库时遇到问题 在更新的数据库中 我必须将一个字段从整数更改为双精度值 我读到它并不像听起来那么容易 为了做到这一点 我必须使用这个更改后的属性创建新的临时表 复制前一个表中的所有值 删除旧的值 最后重命名临时表 我的
  • 将新行 JSON 上传到 Elasticsearch 批量 API

    我正在尝试使用 Bulk API 将新行 JSON 上传到 Elasticsearch 我上传的批量 JSON 如下所示 每个 JSON 都占一个新行 ip x x x x seen true classification maliciou
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • 致命异常:GoogleApiHandler

    在我的项目中 我使用货币化服务 Vungle AppLovin 当我尝试加载广告时 出现此异常 E AndroidRuntime 致命异常 GoogleApiHandler 进程 kz ikar PID 3673 java lang NoS
  • Android SDK WebView调用Activity

    我试图在单击 WebView 组件内的链接时启动活动 我的Webview已加载到里面Main java我想启动SubActivity java当点击网站内的链接时Main java 另外 如何将参数传递给此活动 Example inspec
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • 将主题应用到 v7 支持操作栏

    我正在使用support v7库来实现ActionBar在我的应用程序中 我的styles xml file

随机推荐

  • 如何防止 .NET 实体中的私有属性通过服务公开为公共属性?

    我正在创建一个 WCF 服务 用于传输通过实体框架创建的实体对象 我有一个映射到用户数据库表的用户实体 我不想向客户端公开某些用户字段 密码 创建日期等 但是因为它们在数据库中不可为空 所以 Visual Studio 需要映射 将这些属性
  • 在react-router中用连字符匹配路由

    我有这样的网址 http 0 0 0 0 country bosnia and herzegovina 644 这是我的路线声明
  • docker 使用 --interactive 和 --tty 标志运行

    Edit 有人标记重复的这个问题 https stackoverflow com questions 48368411 what is docker run it flag 但它根本没有解释底层机制 但相比之下 这个堆栈溢出 https s
  • OS X:检测系统范围的 keyDown 事件?

    我正在为 Mac OS X 开发一个打字辅导应用程序 即使该应用程序未处于焦点状态 也需要将击键转发给它 有没有办法让系统将击键转发到应用程序 可能通过 NSDistributedNotificationCenter 我用谷歌搜索了自己愚蠢
  • 将 JSON 导入 Eclipse 项目

    我是一名有抱负的 Java 程序员 希望在项目中使用 JSON 我正在遵循一个编程教程 来自一本书 它要求我使用以下行将 JSON 导入到我的项目中 import com google appengine repackaged org js
  • 苹果推送消息

    我正在将推送提供商服务器与谷歌代码中的代码 php apns 集成 除了每条消息的字节数之外 一切似乎都很好 每个有效负载的字节数最多应为 256 个字符 如果发送一些汉字或者UTF 8字符 JSON编码后 每个字符占用6个字节 我对吗 所
  • 在网站上使用内联/base64 图像比仅链接到硬文件要快多少?

    使用 base64 line 来显示图像比简单地链接到服务器上的硬文件快多少 url data image png base64 我还没有找到任何类型的性能指标 我有几个顾虑 您不再获得缓存的好处 Base64 的大小不是比 PNG JPE
  • 在 Sass 中使用 CSS 属性变量

    我正在编写一个 mixin 其中包含一些数学计算元素的百分比宽度 但由于它非常有用 我也想对其他属性使用相同的函数 例如边距和填充 有没有办法将属性名称作为参数传递给 mixin mixin w fluid property name w
  • “EntityManager 没有持久性提供程序”错误

    我是 JPA 的新手 我尝试从书中做一个简单的例子 但无论我做什么 我都会收到以下错误 Exception in thread main javax persistence PersistenceException No Persisten
  • Java的排序算法是什么[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 OpenJDK 内部如何对数据类型进行排序以及为什么 如果能说一下具体的算法就太好了 从版本 7 开始 Oracle 的 Java 实
  • 如何更改conda base的路径

    I am a Linux集群用户 当我安装了一个版本miniconda 集群有自己的版本anaconda 当我做 conda info envs 输出是 conda environments home user miniconda3 env
  • 如何使用类型级函数动态创建静态类型?

    在 TypeScript 中 有类型级 功能允许根据给定创建新类型literal 类型 规格 see 映射类型 https www staging typescript org docs handbook advanced types ht
  • 如何计算 std::weak_ptr 的哈希值?

    所以我有使用的代码std weak ptr并将它们维护在std set 而且效果很好 并且在过去的五七年里一直有效 最近我想我应该在一个std unordered set 嗯 实际上在一个f14 F14ValueSet 为此 我需要它的哈希
  • 打破批处理文件中的嵌套 for 循环

    两次遇到这个问题后 我想我会将其发布在这里 看看是否有人知道如何解决它 我似乎无法使用打破嵌套循环goto 因为看起来当它跳出内部循环时 括号就会不匹配 因为它从未到达内部结束循环 我已将其范围缩小为一个非常简单的示例 for a in 1
  • 将日期时间转换为时间戳 PHP

    我的 GPS 设备正在与我的 php Web 服务通信 它发送 date 311011 和 time 060904 格式 time str split time 2 date str split date 2 time implode ti
  • 在 iOS 7 中呈现 UIImagePickerController 的问题

    我的应用程序仅在横向模式下运行 所以我知道UIImagePickerController仅以纵向模式呈现 因此在 iOS 6 中 我创建了一个子类UIImagePickerController这迫使UIImagePickerControll
  • Windows 重新启动后,Postgresql 一次特定查询失败

    我在 Windows 上的 C 应用程序中使用 Postgresql 我遇到的问题非常奇怪 可以描述如下 我重新启动 Windows 我运行程序 一个特定查询失败 SELECT COUNT AS c FROM files WHERE tot
  • Android Studio - build.gradle 中出现未捕获的翻译错误 ExecutionException OutOfMemory

    我在 Android Studio 中使用 Android 应用程序时遇到了一个奇怪的问题 一切似乎都工作正常 直到今天添加了一些之后新文件并进行一些更新构建 gradle 我看到的错误消息如下 Uncaught translation e
  • SMT 中的混合理论

    我想构造一个 SMT 公式 其中包含对整数线性算术和布尔变量的多个断言 以及对实际非线性算术和布尔变量的一些断言 对整数和实数的断言仅共享布尔变量 例如 请考虑以下公式 declare fun b Bool assert b true de
  • Android从url解析json并存储它

    你好 我正在创建我的第一个 Android 应用程序 我想知道从 URL 解析 JSON Feed 的最佳和最有效的方法是什么 而且理想情况下我想将它存储在某个地方 这样我就可以继续返回它在应用程序的不同部分 我到处寻找 发现了很多不同的方