第一步MainActivity.javapackage com.example.myoo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {//android:usesCleartextTraffic="true"   这句话非常重要    private Button btnsave;    private EditText editurl;    Handler handler = new Handler()    {        public void handleMessage(android.os.Message msg)        {            if(msg.what == 0x123)            {                Toast.makeText(getApplicationContext(), "开始下载", Toast.LENGTH_SHORT).show();            }        };    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btnsave = (Button) findViewById(R.id.btnsave);        editurl = (EditText) findViewById(R.id.editurl);        btnsave.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                new Thread()                {                    @Override                    public void run() {                        String path = editurl.getText().toString();                        try {                            DownLoadService.downLoad(path, MainActivity.this);                        } catch (Exception e) {e.printStackTrace();}                        handler.sendEmptyMessage(0x123);                    }                }.start();            }        });    }}第二步activity-main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="请输入图片的网络地址" />    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/editurl"        android:text="http://10.13.20.32:8080/Test/db.zip"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/btnsave"        android:text="缓存文件"        /></LinearLayout>第三步 androidManifest.xml    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />        android:usesCleartextTraffic="true"第四步:package com.example.myoo;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import android.content.Context;import android.widget.Toast;public class DownLoadService {    public static void downLoad(String path,Context context)throws Exception    {        URL url = new URL(path);        InputStream is = url.openStream();        //截取最后的文件名        String end = path.substring(path.lastIndexOf("."));        //打开手机对应的输出流,输出到文件中        OutputStream os = context.openFileOutput("Cache_"+System.currentTimeMillis()+end, Context.MODE_PRIVATE);        byte[] buffer = new byte[1024];        int len = 0;        //从输入六中读取数据,读到缓冲区中        while((len = is.read(buffer)) > 0)        {            os.write(buffer,0,len);        }        //关闭输入输出流        is.close();        os.close();    }}

Android studio 53 文件下载_第1张图片

更多相关文章

  1. db文件查看工具SQLiteExpert
  2. android proc 虚拟文件系统
  3. Android 9 读写SD卡文件
  4. Android中Gallery来显示图片
  5. android 文件系统分析
  6. Android打开本地文件
  7. Android图片按比例缩放
  8. Android SDcard 文件读写,RandomAccessFile操作
  9. Glide 加载图片时大时小

随机推荐

  1. 【Android】【opencv】实现摄像头拍照和
  2. android 两个视频同时播放音频冲突的解决
  3. android 手势识别代码
  4. Android(安卓)studio 中与本地 html 页面
  5. 使用 SQLiteDatabase 操作 SQLite 数据库
  6. Android数据储存——文件储存
  7. Android菜鸟笔记-调用相机拍照后返回照片
  8. 转:ANDROID音频系统散记之四:4.0音频系统HA
  9. iPhone, Android, BlackBerry 用户在自己
  10. Android(安卓)底部支付弹窗