Я хочу, чтобы мое приложение загружало видео с URL-адреса. На данный момент я хочу написать файл для загрузки на мою SD-карту.Сбой телефона Android при загрузке видео (mp4)
Я пробовал несколько разных сценариев, я не получаю исключение android.os.NetworkOnMainThreadException
. Но мое приложение выходит из строя. Download a file programatically on Android What is best way to download files from net programatically in android?
Кто-нибудь знает, как создать рабочий метод? Чтобы решить это исключение, задача должна быть асинхронной.
public static void downloadFile(String url, File outputFile) {
try {
URL u = new URL(url);
URLConnection conn = u.openConnection();
int contentLength = conn.getContentLength();
DataInputStream stream = new DataInputStream(u.openStream());
byte[] buffer = new byte[contentLength];
stream.readFully(buffer);
stream.close();
DataOutputStream fos = new DataOutputStream(new FileOutputStream(outputFile));
fos.write(buffer);
fos.flush();
fos.close();
} catch(Exception e) {
Log.e("theple", "" + e);
}
}
Журналы:
03-14 12:09:46.535: E/theple(6987): android.os.NetworkOnMainThreadException
Вставьте свои журналы здесь. –
Это не задача async. Все, что вам нужно, - запустить его в фоновом потоке. AsyncTask - это всего лишь один из способов достижения этого. –
@AleksG У вас есть пример для меня, чтобы эта работа работала? –