android鎬庝箞瀹炵幇鏂囦欢涓嬭浇鍔熻兘
鍦ˋndroid涓紝鍙互浣跨敤浠ヤ笅鍑犵鏂瑰紡瀹炵幇鏂囦欢涓嬭浇鍔熻兘锛?/p>
- 浣跨敤HttpURLConnection鎴朞kHttp搴撳彂閫丠TTP璇锋眰骞惰幏鍙栨枃浠跺唴瀹癸紝鐒跺悗灏嗘枃浠朵繚瀛樺埌鏈湴瀛樺偍涓€傜ず渚嬩唬鐮佸涓嬶細
public class FileDownloader {
public static void downloadFile(String fileUrl, String destinationPath) {
try {
URL url = new URL(fileUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.connect();
InputStream inputStream = connection.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream(destinationPath);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, bytesRead);
}
fileOutputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
浣跨敤鏂规硶锛?/p>
FileDownloader.downloadFile("http://example.com/file.txt", "/sdcard/file.txt");
- 浣跨敤DownloadManager绯荤粺鏈嶅姟杩涜鏂囦欢涓嬭浇锛屽畠鎻愪緵浜嗕笅杞界殑绠$悊鍜屾帶鍒跺姛鑳姐€傜ず渚嬩唬鐮佸涓嬶細
public class FileDownloader {
public static void downloadFile(Context context, String fileUrl, String fileName) {
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse(fileUrl);
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
long downloadId = downloadManager.enqueue(request);
}
}
闇€瑕佹坊鍔犱互涓嬫潈闄愬埌AndroidManifest.xml鏂囦欢涓細
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
浣跨敤鏂规硶锛?/p>
FileDownloader.downloadFile(context, "http://example.com/file.txt", "file.txt");
- 浣跨敤绗笁鏂瑰簱锛屽Retrofit鎴朧olley锛屽畠浠彁渚涗簡鏇撮珮绾х殑缃戠粶璇锋眰鍜屼笅杞藉姛鑳姐€傚叿浣撳疄鐜版柟寮忚鍙傝€冪浉鍏虫枃妗e拰绀轰緥浠g爜銆?/li>
相关问答