2011-01-14 30 views
6

Xin chào, tôi đang phát video từ một trang web trong ứng dụng Android của mình. Tôi có tùy chọn lịch sử hiển thị các video được xem lần cuối. Tôi tự hỏi nếu tôi có thể sử dụng bộ nhớ cache để khi người dùng nhập lịch sử video được phát nhanh hơn (không tải xuống lại). Khi bạn sử dụng bộ nhớ cache trong Android, điều đó có nghĩa là toàn bộ video được tải xuống và lưu ở đâu đó? hoặc một số dữ liệu được lưu ở đâu đó (không phải toàn bộ video).cách lưu các tệp đã tải xuống trong bộ nhớ cache android

Một số trợ giúp sẽ được đánh giá cao !!!

Cảm ơn.

Trả lời

19

Nó sẽ giúp bạn.

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

điều này có nghĩa là toàn bộ tệp sẽ được tải xuống thư mục bộ nhớ cache? Rất tiếc, tôi không biết bộ nhớ cache hoạt động như thế nào ... – madcoderz

+0

@madcoderz: toàn bộ tệp hoặc chỉ là một phần của tệp, tùy thuộc vào quyết định của bạn. Bộ đệm là nơi lưu trữ dữ liệu để truy cập trong tương lai nhanh hơn. Tôi nghĩ rằng đây là những gì bạn cần. – gulbrandr

+3

Nhưng getCacheDir() trả về một 'File' và không phải là một' Chuỗi'. –

Các vấn đề liên quan