Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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
Java 从Android应用程序向服务器上传大数据的最佳方式是什么?_Java_Android_Loopj - Fatal编程技术网

Java 从Android应用程序向服务器上传大数据的最佳方式是什么?

Java 从Android应用程序向服务器上传大数据的最佳方式是什么?,java,android,loopj,Java,Android,Loopj,我有一个Android应用程序,需要上传、下载10-12MB之间的数据文件。考虑到我的应用程序在印度等可能没有良好互联网连接的国家更受欢迎,我在以下限制条件下工作 用户可能无法全天候连接到internet 用户的交互不取决于下载/上传是否成功 这是一个poems应用程序,每当我们连接到互联网时,我们都会将新诗下载到用户的手机上,并将用户的诗上传到我们的服务器上 我知道使用“com.loopj.android.http.AsyncHttpClient;”进行通信,但我想知道是否有更好的替代方案

我有一个Android应用程序,需要上传、下载10-12MB之间的数据文件。考虑到我的应用程序在印度等可能没有良好互联网连接的国家更受欢迎,我在以下限制条件下工作

  • 用户可能无法全天候连接到internet
  • 用户的交互不取决于下载/上传是否成功
这是一个poems应用程序,每当我们连接到互联网时,我们都会将新诗下载到用户的手机上,并将用户的诗上传到我们的服务器上

我知道使用“com.loopj.android.http.AsyncHttpClient;”进行通信,但我想知道是否有更好的替代方案可以做到以下几点:

  • 我应该启动一个提供上传/下载接口的服务吗
  • 即使用户不使用应用程序,也可以在后台执行这些操作吗
是的,您应该使用服务,特别是a(在上载过程中显示通知)。此外,前台服务是:

。。。系统认为这是用户主动意识到的事情 属于,因此在内存不足时不是杀人的候选对象

对于下载,Android提供了一个现成的解决方案,名为。它已经包括在连接丢失时恢复下载的功能

对于上传,没有等价物(至少据我所知)。您必须推出自己的解决方案,可能涉及
内容范围
HTTP头。这在很大程度上取决于您的服务器,例如Google Drive有一个。另外请看一看(虽然它是使用套接字的,但概念大致相同)


另一个选项是使用
SyncAdapter
执行此任务。看见但是,我不确定这是否支持恢复。

10-12MB是否相对频繁?你是说每次数据库更新时,你都希望每个用户重新下载整个诗集数据库吗?你不应该让用户下载数据更新(而不是每次都下载整个数据库)吗?为什么你对上传也有同样的要求?每个用户真的会一次上传数千首诗吗?我对此表示怀疑。即使有些人这样做了,当他们不得不进行大批量上传时,他们可能更喜欢使用一台真正的个人电脑。伙计们,让我们不要讨论为什么它是10-12MB,或者它是否是件好事。让我们继续回答这个问题。