2011-01-14 2 views
6

Привет, я потоковое видео с веб-сайта в приложении для Android. У меня есть опция истории, показывающая последние увиденные видео. Интересно, могу ли я использовать кеш, чтобы, когда пользователь вводит историю, видео воспроизводится быстрее (не загружается снова). Когда вы используете кеш в Android, это означает, что все видео загружается и сохраняется где-то? или некоторые данные сохраняются где-то (не все видео).Как сохранить загруженные файлы в кеш-файле android

Некоторая помощь будет оценена!

Спасибо.

ответ

19

Это должно вам помочь.

URLConnection cn = new URL(mediaUrl).openConnection(); 
    cn.connect(); 
    InputStream stream = cn.getInputStream(); 

    File downloadingMediaFile = new File(context.getCacheDir(), "downloadingMedia.dat"); 

    FileOutputStream out = new FileOutputStream(downloadingMediaFile); 
    byte buf[] = new byte[16384]; 
    do { 
     int numread = stream.read(buf); 
     if (numread <= 0) break; 
     out.write(buf, 0, numread); 
     // ... 
    } while (...); 
+0

так это значит, что весь файл будет загружен в каталог кеша? Извините, я не знаю, как работает кеш ... – madcoderz

+0

@madcoderz: весь файл или только его часть, вам решать. Кэш - это место для хранения данных, чтобы доступ к нему был быстрее. Я думаю, что это то, что вам нужно. – gulbrandr

+3

Но getCacheDir() возвращает 'File', а не' String'. –