Java android下载http视频文件

Java android下载http视频文件,java,android,http,httpclient,Java,Android,Http,Httpclient,我有一个非常简单的http下载程序,如下所示。文件非常小,比如200K 问题是,当我使用3G连接时,有时一次下载会被阻塞很长时间。但我可以通过3G连接很好地观看youtube,这意味着3G网络很好。代码有什么问题吗 使用wifi连接时没有问题 for (int chunkno = 0; chunkno < 10000000; ++chunkno) { try { AndroidHttpClient client = AndroidHttpClient.newInstance("An

我有一个非常简单的http下载程序,如下所示。文件非常小,比如200K

问题是,当我使用3G连接时,有时一次下载会被阻塞很长时间。但我可以通过3G连接很好地观看youtube,这意味着3G网络很好。代码有什么问题吗

使用wifi连接时没有问题

for (int chunkno = 0; chunkno < 10000000; ++chunkno)
{
try
{
    AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
    HttpGet request = new HttpGet("http://ipaddress/vbr_100.mp4");   
    HttpResponse response = client.execute(request);

    recvbytes = response.getEntity().getContentLength();

    File f = new File(Environment.getExternalStoragePublicDirectory("bill"), "f");
    if (!f.exists())
    {
        f.createNewFile();
    }

    response.getEntity().writeTo(new FileOutputStream(f));

}
catch (IOException ex)
{
}
}

我建议你使用安卓系统,它可以解决与下载大文件相关的所有问题

从Android文档站点复制: 下载管理器是一种处理长期运行的HTTP下载的系统服务。客户端可以请求将URI下载到特定的目标文件。下载管理器将在后台进行下载,负责HTTP交互,并在出现故障或连接更改和系统重新启动后重试下载。 提供了一个使用DownloadManager的非常好的示例


希望这有帮助

但是,如果您的操作与Youtube不同,那么您将下载整个文件,而Youtube客户端将以块的形式获取视频的一小部分,并将其显示出来。Aka,它是数据流,这是你没有做的。我的意思是,有可能通过更改这里的代码来避免卡住吗?非常感谢,我会尝试一下