Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中,将数据/文件一次性发送到服务器的最佳方式_Android_File_Gps_Transmission - Fatal编程技术网

在android中,将数据/文件一次性发送到服务器的最佳方式

在android中,将数据/文件一次性发送到服务器的最佳方式,android,file,gps,transmission,Android,File,Gps,Transmission,我在工作中使用的应用程序使用GPS数据将文件标记到一个位置,用户可以稍后返回并查看该位置。但是,我一直在思考如何将数据发送到服务器,我希望用户以后能够看到这些数据 我很想从这里的社区知道的是,这是最好的方式。我已经有了location manager及其相关类的GPS数据,但我不确定如何将其与图像、声音文件或视频一起无缝发送到服务器,然后将其存储在服务器中,然后由设备根据用户权限检索 在服务器上,数据将保存在postgresql数据库中,我希望将与每次上传相关的所有数据绑定到某种json数组中,

我在工作中使用的应用程序使用GPS数据将文件标记到一个位置,用户可以稍后返回并查看该位置。但是,我一直在思考如何将数据发送到服务器,我希望用户以后能够看到这些数据

我很想从这里的社区知道的是,这是最好的方式。我已经有了location manager及其相关类的GPS数据,但我不确定如何将其与图像、声音文件或视频一起无缝发送到服务器,然后将其存储在服务器中,然后由设备根据用户权限检索

在服务器上,数据将保存在postgresql数据库中,我希望将与每次上传相关的所有数据绑定到某种json数组中,因为我让应用程序在json数组中提取与位置及其标记相关的数据

因此,我是否应该将GPS数据作为文本字符串发送出去,服务器上的脚本可以将其解析为json格式,如果是这样的话,是否可以将图像附加到GPS数据上……。我知道这是可能的,但我想我只是还没有弄清楚


或者我应该使用某种库或其他东西将图像/文件绑定到gps数据,并将其作为存储在json数组中的数据发送。

如果作为json发送,我总是发现发送文本数据(如gps值)最容易。如果您必须将图像/声音文件也放入其中,您可以通过base64编码数据并将结果字符串放入JSON中来实现。 我个人不喜欢base64有两个原因:

  • 它增加了大约37%的数据量
  • 如果连接出现问题,您必须再次发送所有内容,而不仅仅是那些被弄乱的文件

  • 另一种方法是将图像/声音与UDID链接。首先发送带有引用的JSON,然后将每个文件分别发送给服务器上的处理程序,该处理程序接受UDID作为参数,以便它知道接收的是哪个文件。这样,当出现连接问题时,您只需重新发送一个文件。

    嘿,谢谢您的回复。我喜欢你指出的两种方法中的第二种。首先,我将如何将数据格式化为json样式的数组。我还没用谷歌搜索过,但什么是UDID?对不起,是UUID。通用唯一标识符。只是一个始终保证唯一的id。json格式类似于{“lat”:138.938,“lng”:65.4325,“图像”:“C4B24698-9B08-EC38-282DD4C642D3BE87”,“声音”:“C4B24699-A93B-34CD-68224FA74B9E0276”}。然后将每个文件发送到如下处理程序