【问题标题】:Best way to send an image path url from local PC to an Android app over TCP?通过 TCP 将图像路径 url 从本地 PC 发送到 Android 应用程序的最佳方式?
【发布时间】:2018-01-09 02:30:48
【问题描述】:

我有一个离线系统,它通过TCP 连接与 Android 应用程序集成。

我需要从 android 应用程序中获取存储在系统中的图像(格式为 "c:/user/me/img/img.png")并将其显示在按钮内(不是 imageButton,因为按钮可以是文本,也可以是带有文本的图像)。

我已尝试发送原始 url,但即使在将其转换为位图和可绘制图像后,我也无法从应用程序加载图像。所以我想也许原始网址的想法不是一个好主意。我是否可以将不同格式的(URI?) 从电脑发送到应用程序?解决此问题的最佳工作方式是什么?

干杯

编辑

两者之间的数据交换完全没问题。我只需要一种方法让应用程序能够显示来自app's local database 的图像,该图像填充了 pc 通过 tcp 发送的字符串数据。我只是不确定要发送什么

【问题讨论】:

  • c:/user/me/img/img.png 不是 URL。
  • 这里有两个选项,要么用java编写一个客户端程序,让系统使用serversocket和输出流通过tcp发送它。或者运行一个简单的web服务器比如apache web server来托管图片,然后调用pc/server的url。
  • @SteelToe 我已经完成了第一个选项并在许多其他情况下使用它,但是对于这种特殊情况,在发送之前将本地图像转换为字节串是最好的吗?
  • @arzwng 如果您不想走第一条路线,我建议您使用 apache Web 服务器,因为它不需要太多代码并且运行良好
  • @SteelToe 啊,第二条路线不太好,因为我只需要检索一次图像并将其缓存在应用程序的本地数据库中以供将来使用

标签: java android tcp android-button data-transfer


【解决方案1】:

您发送的 url 是系统中图像的本地路径。 当您将其发送到 Android 时,它可以加载它。

只做一件事convert your image to Base64 字符串并通过套接字连接将其发送到Android。

收到 Base64 字符串后,只需 decode 并将其设置为您的图像视图。

【讨论】:

  • 为什么要转换成Base64?
  • 无法发送简单的url。直接将您的图像转换为位图字节数组并发送。
猜你喜欢
  • 2014-08-07
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多