2011-01-14 11 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'は返しません。 –

関連する問題