Java Android HTTP后期下载管理器
在android中,我有一个URL,我必须向它发出POST请求 所述请求返回的inputstream返回一个可下载的对象。。。Java Android HTTP后期下载管理器,java,android,download,Java,Android,Download,在android中,我有一个URL,我必须向它发出POST请求 所述请求返回的inputstream返回一个可下载的对象。。。 如何使用Android Downloadmanager本身或自定义的下载管理器为我处理下载过程?Android的下载管理器非常简单: DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); Request request = new Request(Uri.parse("htt
如何使用Android Downloadmanager本身或自定义的下载管理器为我处理下载过程?Android的下载管理器非常简单:
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse("http://www.theeUrl.fake/image.png"));
enqueue = dm.enqueue(request);
您可以轻松地将参数添加为GET请求。我不知道你是否能向它提出邮寄要求
编辑:要发出post请求,您可以使用HttpClient,如下所示:
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpResponse response = null;
Dictionary<String, String> postFields = new Dictionary<String, String>();
// Set the post fields
postFields.add("username","toto")));
postFields.add("password", "thePassword45155")));
post.setEntity(new UrlEncodedFormEntity(postFields, HTTP.UTF_8));
// Execute the POST request
response = client.execute(post);
HttpClient=newdefaulthttpclient();
HttpPost=新的HttpPost(url);
HttpResponse响应=null;
Dictionary postFields=新字典();
//设置post字段
添加(“用户名”、“toto”);
添加(“密码”、“密码45155”);
setEntity(新的UrlEncodedFormEntity(postFields,HTTP.UTF_8));
//执行POST请求
响应=client.execute(post);
您应该能够从httpResponse获取inputstream来下载该文件。
但是你必须管理显示/通知/取消。。。你自己。
使用setProgress()和progressbar创建您自己的post请求通知,就达到了这一目的,因此使用DownloadManager的方法还没有定论可悲的是您的目标API是什么?在4.1平板电脑上支持的最低2.3.6开发,但它主要用于2.3.6,看看这是否有帮助。我必须编写一个单独的类来手动处理下载和进度条,非常类似于下面的内容,这正是我所知道的,这就是重点,我需要一个POST请求,而不是GET请求(获得该sry;)恐怕您不能使用下载管理器。。。我编辑我的帖子以添加另一个解决方案我已经做了所有这些事情:(我找到了解决方案,我基本上必须创建自己的通知并亲自更新,而不是自动更新……为什么必须是POST请求?您可能应该将身份验证作为单独的请求进行管理,然后在会话打开后,在get请求中使用会话令牌下载文件;)我这样做了,但服务器要求您发送一个带有经过身份验证的密钥的参数,然后才能为您提供任何服务:)