【Android-网络编程】利用java API实现文件下载功能

本文详细讲解了如何在Android中实现文件下载功能,包括申请网络权限、设置URL、获取文件名、设定存储路径、文件写入及关闭流等步骤。提供了具体的代码示例和注意事项。
摘要由CSDN通过智能技术生成

本文主要介绍文件下载功能的实现,后台来自于:link.
文件上传功能的实现:link.
实现效果:
在这里插入图片描述

实现思路: 连接后台接口,获取存储路径,将图片以文件流的形式下载

实现步骤:

  1. 申请网络权限
  2. 设置URL
  3. 获取请求头中要下载文件的文件名
  4. 获取存储路径
  5. 利用fileoutputstream写入
  6. 关流

——————————————————————————————————————————————————————————————————————

1、申请网络权限

一共需要申请两个权限,第一个权限是连接网络的权限(在此之前如果使用的是模拟机记得把模拟机联网:link.),第二个权限是安卓27版本需要使用HTTPS协议(但是该权限不添加我这里也能运行,不过保险起见还是添加上!)
网络连接权限:

<uses-permission android:name="android.permission.INTERNET" />

htts权限: 此处有两种方式可以选择,任选一种即可:
①:android:usesCleartextTraffic="true"
②:android:networkSecurityConfig="@xml/network_security_config"
此时,要对应的创建一个network_security_config.xml文件,文件内容:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">example.com</domain>
        <domain-config cleartextTrafficPermitted="true">
            <domain includeSubdomains="true">www.sunofbeach.net</domain>
            <domain includeSubdomains="true">imgs.sunofbeaches.com</domain>
        </domain-config>
    </domain-config>
</network-security-config>

example.com:项目包名
bkimg.cdn.bcebos.com:域名

在这里插入图片描述

如果想要动态获取读写权限可以看这篇博客: link.

2、设置URL
URL url = new URL(BASE_URL + "/download/12");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(10000);
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
connection.setRequestProperty("accept-language", "zh-CN,zh;q=0.9");
connection.setRequestProperty("accept", "application/json, text/plain, */*");
connection.connect();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值