Скачать файл из сети на SD карту
Скачать файл из сети на SD карту
Доброго времени суток. Есть такой вопрос:
получаю ответ от сервера в виде XML-сообщения и разбираю его. Есть ссылки на файлы кот лежат на сервере (например это картинки), нужно скачать эти файлы в папку на SD карту (они будут в качестве кэша), и при следующем таком же запросе с android-приложения, сначала проверяем существование такого файла на SD-карте в нужной папке а потом если они есть - грузим с SD, а если нет то из сети.
Далеко не хочу пока копать, а для начала хочу разобраться в том, как загрузить файлы из сети на SD-карту и тут же отобразить их в activity??
p.s. я новичек в разработке android, буду очень благодарен за полезные ответы
получаю ответ от сервера в виде XML-сообщения и разбираю его. Есть ссылки на файлы кот лежат на сервере (например это картинки), нужно скачать эти файлы в папку на SD карту (они будут в качестве кэша), и при следующем таком же запросе с android-приложения, сначала проверяем существование такого файла на SD-карте в нужной папке а потом если они есть - грузим с SD, а если нет то из сети.
Далеко не хочу пока копать, а для начала хочу разобраться в том, как загрузить файлы из сети на SD-карту и тут же отобразить их в activity??
p.s. я новичек в разработке android, буду очень благодарен за полезные ответы
Re: Скачать файл из сети на SD карту
делаем запрос по ссылке, получаем ответ в виде InputStream, кормим его в класс File и создаём файл по пути который ведёт на sdcard
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Скачать файл из сети на SD карту
а примерчик простенький можете набросать?rezak90 писал(а):делаем запрос по ссылке, получаем ответ в виде InputStream, кормим его в класс File и создаём файл по пути который ведёт на sdcard
Re: Скачать файл из сети на SD карту
Чем отличается инженер программист от программиста? Инженер умеет быстро находить нужную информацию )
Объяснение
Готовый код
Объяснение
Готовый код
Re: Скачать файл из сети на SD карту
спасибо канешно за Help, но это я гуглил, хотелось бы на русском, т.к. с английским не оч владею...xr0m писал(а):Чем отличается инженер программист от программиста? Инженер умеет быстро находить нужную информацию )
Объяснение
Готовый код
Re: Скачать файл из сети на SD карту
В примере голый код, ты по нему не разобрался? А как ты собираешься писать код на английском (программировать)?
Могу посоветовать использовать гугл траслит, он вполне сносно переводит на русский.
Могу посоветовать использовать гугл траслит, он вполне сносно переводит на русский.
Re: Скачать файл из сети на SD карту
в коде показано как записать текст в файл и вывести содержимое в Toast, а мне надо то как сохранить файл на SD из сети и потом отобразить его в activity!xr0m писал(а):В примере голый код, ты по нему не разобрался? А как ты собираешься писать код на английском (программировать)?
Могу посоветовать использовать гугл траслит, он вполне сносно переводит на русский.
Re: Скачать файл из сети на SD карту
вы писали:
is - это InputStream который получаем из сети
P.S. код конечно не проверял, а написал сходу (это что бы не было потом "а у меня не работает"), но смысл понятен.
значит как скачать файл с сети уже знаете, вот когда скачали:получаю ответ от сервера
Код: Выделить всё
File file = new File("/mnt/sdcard/testfile.xml");
OutputStream out=new FileOutputStream(file);
byte buf[]=new byte[1024];
int len;
while((len=is.read(buf))>0)
out.write(buf,0,len);
out.close();
inputStream.close();
P.S. код конечно не проверял, а написал сходу (это что бы не было потом "а у меня не работает"), но смысл понятен.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Скачать файл из сети на SD карту
написал, вот, пример выдает "error 2":P.S. код конечно не проверял, а написал сходу (это что бы не было потом "а у меня не работает"), но смысл понятен.
Код: Выделить всё
try {
InputStream is = (InputStream) new URL("http://yandex.st/morda-logo/i/logo.png").getContent();
File file = new File("/mnt/sdcard/testfile.png");
OutputStream out=new FileOutputStream(file);
byte buf[]=new byte[1024];
int len;
while((len=is.read(buf))>0)
out.write(buf,0,len);
out.close();
is.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
Toast.makeText(this, "error", Toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(this, "error 2", Toast.LENGTH_LONG).show();
}
Re: Скачать файл из сети на SD карту
что за ошибку?
но в любом случае так не делается:
хотя в асинхронном потоке нужно грузить
но в любом случае так не делается:
Код: Выделить всё
InputStream is = (InputStream) new URL("http://yandex.st/morda-logo/i/logo.png").getContent();
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Скачать файл из сети на SD карту
NetworkOnMainThreadException полюбому
CEO of a company R.id.team
Re: Скачать файл из сети на SD карту
Finch писал(а):NetworkOnMainThreadException полюбому
rezak90 писал(а):хотя в асинхронном потоке нужно грузить
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена