在 Android 应用程序的 JSON 中包含小图像

发布于 2024-11-04 13:36:23 字数 113 浏览 0 评论 0原文

我的应用程序当前从我的服务器请求一个包含一些文本和其他数据的 JSON 文件。我想添加功能,以便它还可以通过同一文件下载非常小的图像(如图标)[无需创建额外的请求]。是否可以这样做,我将如何去做(base64?)

My app currently requests a JSON file with some text and other data from my server. I want to add functionality so that it also downloads a very small image (like an icon) through the same file [without creating an additional request]. Is it possible to do so, and how would I go about it (base64?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人问我粥可暖 2024-11-11 13:36:23

应该非常合理:看看 http://developer.android.com/reference/ android/util/Base64.html。您需要做的就是:

  1. 将您的图标读入服务器上的 byte[] 数组中。
  2. (假设你的服务器是java)使用类似 http://iharder.sourceforge.net/current /java/base64/ 通过http://iharder.sourceforge.net/current/java /base64/api/index.html?Base64.OutputStream.html。
  3. 将字符串的内容添加到 JSON 文件中。
  4. 在 Android 设备上调用 http ://developer.android.com/reference/android/util/Base64.html#decode%28java.lang.String,%20int%29 将 JSON 属性转换为 byte[] 数组。
  5. 然后,您可以将字节数组传递给http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeByteArray%28byte[],%20int,%20int,%20android.graphics.BitmapFactory.Options%29或其兄弟函数之一(您可能必须使用图像格式/编码才能使其正确吞咽字节数组)。

瞧!您有一个可以使用的位图。

让我知道结果如何。

Should be eminently reasonable: look at http://developer.android.com/reference/android/util/Base64.html. All you'd need to do is:

  1. Read your icon into a byte[] array on the server.
  2. (Assuming your server is in java) Use something like http://iharder.sourceforge.net/current/java/base64/ to write the byte[] array into a StringOutputStream through http://iharder.sourceforge.net/current/java/base64/api/index.html?Base64.OutputStream.html.
  3. Add the contents of the String to the JSON file.
  4. On the android device call http://developer.android.com/reference/android/util/Base64.html#decode%28java.lang.String,%20int%29 to convert the JSON attribute into a byte[] array.
  5. You can then pass the byte array to http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeByteArray%28byte[],%20int,%20int,%20android.graphics.BitmapFactory.Options%29 or one of its brethren functions (you may have to play with image formats/encodings to get it to swallow your byte array correctly).

Voila! You have a Bitmap you can use.

Let me know how that works out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文