当前位置:首页 » 安卓系统 » androidhttp文件下载

androidhttp文件下载

发布时间: 2023-02-06 15:32:45

‘壹’ android downloadmanager获取下载文件总大小的时候,为什么会返回-1。

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Accept-Encoding", "identity");
conn.connect();

加上中间这一行。(默认使用gzip压缩,导致无法提前获取下载文件的总大小,不让它压缩即可)

‘贰’ 安卓手机app怎么更新

第三方的软件,可查看该该软件中是否有检查更新”,如有可进行更新;若没有,可到软件官网下载安装包,直接安装(安装后有些软件是将原软件覆盖安装,有些软件是不会覆盖,会再出现一个软件图标)。
注意:更新软件时消耗流量较大,建议使用WLAN更新。

你的手机是不是刷机过?可先找到完整刷机包(五个文件的),把手机刷机后,再进行更新。手机---设置---关于手机---系统更新。如果这种方法还是不能更新,下载三星KISE,做紧急固件恢复,然后再进行升级即可

对于安卓用户来说,手机应用市场说满天飞可是一点都不夸张,比如小米,魅族,网络,360,机锋,应用宝等等,当我们想上线一款新版本APP时,先不说渠道打包的麻烦,单纯指上传APP到各大应用市场的工作量就已经很大了,好不容易我们把APP都上传完了,突然发现一个会导致应用闪退的小Bug,这时那个崩溃啊,明明不是很大的改动,难道我们还要再去重新去把各大应用市场的版本再上传更新一次?相信我,运营人员肯定会弄死你的!!

有问题,自然就会有解决问题的方案,因此我们就会想到如果在APP里内嵌自动更新的功能,那么我们将可以省去很多麻烦,当然关于这方面功能的第三方SDK有很多。

好了,言归正传,今天我们自己来实现下关于APP自动更新。

流程其实并不复杂:当用户打开APP的时候,我们让APP去发送一个检查版本的网络请求,或者利用服务端向APP推送一个透传消息来检查APP的版本,如果当前APP版本比服务器上的旧,那么我们就提醒用户进行下载更新APP,当然在特定的情况下,我们也可以强制的让用户去升级,当然这是很不友好的,尽可能的减少这样的做法。

好了,来梳理下流程,首先既然是一个APP的更新,那么我们就需要去下载新的APP,然后我们需要一个通知来告诉用户当前的下载进度,再来当APP安装包下载完成后,我们需要去系统的安装程序来对APP进行安装更新。
知识点:

下载:异步HTTP请求文件下载,并监听当前下载进度(这里我采用了okhttp)
通知:Notification(具体用法请自行翻阅API文档)
安装:Intent (具体用法请自行翻阅API文档)

‘叁’ android 如何实现一次http请求下载过个文件如:请求http://192.168.1.2:8088/a.jsp,获得a.jpg,b.jpg

如果在服务器端向response里面写入多个文件的数据当然可以下载,只不过需要服务器端和手机端的程序制定一个协议,比如手机端得到数据之后根据什么规则切分成多个文件。

‘肆’ android通过http post实现文件下载

可参照我的如下代码

java">java.io.OutputStreamos=null;
java.io.InputStreamis=null;
try{
java.io.Filefile=newjava.io.File(str_local_file_path);
if(file.exists()&&file.length()>0){
}else{
file.createNewFile();

java.net.URLurl=newjava.net.URL(str_url);
java.net.HttpURLConnectionconn=(java.net.HttpURLConnection)url.openConnection();
os=newjava.io.FileOutputStream(file);
is=conn.getInputStream();
byte[]buffer=newbyte[1024*4];
intn_rx=0;
while((n_rx=is.read(buffer))>0){
os.write(buffer,0,n_rx);
}
}
returntrue;
}catch(MalformedURLExceptione){
}catch(IOExceptione){
}finally{
os.flush();
os.close();
is.close();
}
returnfalse;

‘伍’ android原生开发,从http下载图片,下载失败或成功提示,并放图片显示出来。

下载类
public class DownFile
{
public InputStream getInput(String path)
{
InputStream in = null;
try {
URL url = new URL(path);
HttpURLConnection hcon = (HttpURLConnection) url.openConnection();
in = hcon.getInputStream();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return in;
}
public int downIamge(String path,String name)
{
InputStream in = getInput(path);
int type = 0;
File ex = Environment.getExternalStorageDirectory();
try {
FileOutputStream out = new FileOutputStream(new File(ex.getAbsoluteFile()+File.separator+name));
int len = 0;
byte[] bb = new byte[1024];
while((len = in.read(bb))!=-1)
{
out.write(bb,0,len);
}
out.close();
type = 1;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
type = 2;
}
return type;
}
}
2在另外一个activity里面调用这个方法DownFile().downIamge(path,name); 返回1就是下载成功 ,2 就显示下载失败
自己手写的 望采纳 不懂 可继续追问

热点内容
镇江节点服务器测试ip 发布:2024-05-06 07:15:05 浏览:538
sqlserver表格 发布:2024-05-06 07:09:54 浏览:611
雪铁龙凡尔赛选哪个配置 发布:2024-05-06 06:56:04 浏览:570
福睿斯配置怎么样 发布:2024-05-06 06:50:16 浏览:102
微生物数据库 发布:2024-05-06 06:47:33 浏览:604
原神和steam游戏哪个需要配置 发布:2024-05-06 06:37:40 浏览:665
nginx访问403 发布:2024-05-06 05:56:39 浏览:677
android上传图片参数 发布:2024-05-06 05:56:04 浏览:221
360控制上传流量 发布:2024-05-06 05:38:11 浏览:999
几代算法 发布:2024-05-06 05:33:43 浏览:353