Tôi đang sử dụng epublib để đọc tệp .epub trong một WebView.Hiển thị hình ảnh bằng EPUBLIB
WebView wv = (WebView) getView().findViewById(R.id.chaptercontent);
try {
String abspath = FILEPATH+file;
File filePath = new File(abspath+".epub");
InputStream epubInputStream = new BufferedInputStream(new FileInputStream(filePath));
book = (new EpubReader()).readEpub(epubInputStream);
int pos = abspath.lastIndexOf('/');
DownloadResource(abspath.substring(0, pos));
try {
for(int i = 1; i< book.getContents().size(); i++) {
InputStream is = book.getSpine().getSpineReferences().get(i).getResource().getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
Log.d("display line", line);
}
is.close();
wv.loadDataWithBaseURL(abspath.substring(0, pos)+"/", sb.toString(), "text/html", "utf-8", null);
}
}
catch(IOException e) {
Log.e("IOException", e.getMessage());
}
}
catch (IOException e) {
Log.e("epublib", e.getMessage());
}
private void DownloadResource(String directory) {
try {
nl.siegmann.epublib.domain.Resources rst = book.getResources();
Collection<Resource> clrst = rst.getAll();
Iterator<Resource> itr = clrst.iterator();
Log.d("Downlod path", directory);
while (itr.hasNext()) {
Resource rs = itr.next();
if ((rs.getMediaType() == MediatypeService.JPG) || (rs.getMediaType() == MediatypeService.PNG) || (rs.getMediaType() == MediatypeService.GIF) || rs.getMediaType() == MediatypeService.CSS) {
File oppath1 = new File(directory+File.separator+rs.getHref());
Log.d("Resource Name - ", rs.getHref());
oppath1.createNewFile();
Log.d("Oppath - ", oppath1.getAbsolutePath());
Log.d("File Checking - ", "Exists - "+oppath1.exists()+" & Write - "+oppath1.canWrite());
FileOutputStream fos1 = new FileOutputStream(oppath1);
fos1.write(rs.getData());
fos1.close();
}
}
}
catch (IOException e) {
Log.e("error", e.getMessage());
}
}
DownloadResource hoạt động tốt. Tài nguyên được tìm nạp. Nhưng WebView không hiển thị hình ảnh. Các hình ảnh nằm trong cùng thư mục với tệp epub. WebView mang lại cho tôi điều này:
gì nguồn cho điều đó văn bản (tệp .xhtml) trông như thế nào? – Freney
Bạn có giải quyết vấn đề này không? – Villan