how to download file with service in the background?

后端 未结 2 1338
野性不改
野性不改 2020-12-14 22:52

I\'m making a android library app that can download and show special files. now I need to write a service that download file in background! are there samples for services?

2条回答
  •  旧时难觅i
    2020-12-14 23:37

    try {
        URL url = new URL("url from apk file is to be downloaded");
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.setDoOutput(true);
        urlConnection.connect();
    
        File sdcard = Environment.getExternalStorageDirectory();
        File file = new File(sdcard, "filename.ext");
    
        FileOutputStream fileOutput = new FileOutputStream(file);
        InputStream inputStream = urlConnection.getInputStream();
    
        byte[] buffer = new byte[1024];
        int bufferLength = 0;
    
        while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
            fileOutput.write(buffer, 0, bufferLength);
        }
        fileOutput.close();
    
    } catch (MalformedURLException e) {
            e.printStackTrace();
    } catch (IOException e) {
            e.printStackTrace();
    }
    }
    

    Permission: To write to external storage, you need to add this permission:

    
    

    Note: you can use above code to get the file downloaded and saved in the SD card. You can run this code in background using AsysnTask or thread.

提交回复
热议问题