我的应用程序需要定期向服务器请求新数据。我已经研究了这个问题,许多人建议使用同步适配器来与服务器同步,然而我的要求发生了变化,我需要执行以下过程。是否仍建议使用同步适配器,还是可以使用其他库来有效地进行以下Http请求序列。
如您所见,我正在进行 Http Post 请求以获取一些包含图像 URL 的数据,并使用这些 URL 进行新的 HttpGet 请求。我的应用程序需要 POST 和图像结果才能运行。
这是一种有效的使用同步适配器的方法吗?还是完全不可接受的?或者我可以使用 Volley/Robo spice 将图像请求生成多个线程?抱歉我是个新手,但这是我一直在尝试解决的情况。
更新:
经过对 Volley 和 Robospice 的优缺点进行审查后,我选择使用 Volley,因为我可以自定义代码并对缓存机制具有更多控制。
public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) {
ZipFile imageZipFile;
/*this is a http post request and the size the zipfile is around 1Mb*/
ZipFile resultFile=makeHttpPostRequest(String URL, String payload);
SomeObject result= processZipFile(resultZipFile);
saveData(result);
for(String url:result.getUrls()){
/* this is a HttpGet request which returns a zip file that
contains 8 images , total size of zip would be around 200kb*/
imageZipFile= makeHttpGetRequest(url);
saveImageZipToDisk(imageZipFile)
}
}
如您所见,我正在进行 Http Post 请求以获取一些包含图像 URL 的数据,并使用这些 URL 进行新的 HttpGet 请求。我的应用程序需要 POST 和图像结果才能运行。
这是一种有效的使用同步适配器的方法吗?还是完全不可接受的?或者我可以使用 Volley/Robo spice 将图像请求生成多个线程?抱歉我是个新手,但这是我一直在尝试解决的情况。
更新:
经过对 Volley 和 Robospice 的优缺点进行审查后,我选择使用 Volley,因为我可以自定义代码并对缓存机制具有更多控制。