Tôi đang phát triển một ứng dụng Android đọc sách điện tử (ở định dạng epub) và hiện tại tôi đang sử dụng thư viện epublib của Paul Siegeman thực sự là một trình đọc epub rất tốt nhưng nó có một số hạn chế, ví dụ và cái tôi cần, bạn không thể di chuyển qua các trang theo chiều ngang (khi bạn đọc một cuốn sách thực) vì vậy tôi cần thực hiện riêng của nó, nhưng tôi bị kẹt.Cách chia nhỏ Epub Html thành các trang theo kích thước màn hình
Phương pháp mà thực sự đọc epub và sau đó đặt nó bên trong một webview là tiếp theo:
private void openEpub(String bookFilename){
WebView webView = (WebView) findViewById(R.id.webView);
nl.siegmann.epublib.domain.Book book=null;
try {
book = (new EpubReader()).readEpub(new FileInputStream(Environment.getExternalStorageDirectory().getPath() + "/" + bookFilename));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String baseUrl = Environment.getExternalStorageDirectory().getPath() + "/";
String data=null;
try {
data = new String(book.getContents().get(1).getData());
} catch (IOException e) {
e.printStackTrace();
}
webView.loadDataWithBaseURL(baseUrl, data, "text/html", "UTF-8", null);
}
Vì vậy, như bạn thấy tôi hiển thị ebook trong một webview nên như xa như tôi biết khả năng duy nhất di chuyển webview cho là lên/xuống.
Tôi đã suy nghĩ về việc tách chuỗi html getData() trả về và lượt xem webview thành các trang và hiển thị từng trang một với một người xem, nhưng cách tách html đúng theo kích thước màn hình?
Bạn có nghĩ rằng với ý tưởng này tôi đang đi đúng hướng không? Bất kỳ giải pháp nào khác để hiển thị epub từ trái sang phải/phải sang trái (phân trang) hoặc bất kỳ thư viện "miễn phí hoặc rẻ tiền" nào khác để làm như vậy? (Tôi đã thử PageTurner, nó thực sự tốt, nhưng phiên bản thương mại quá đắt đối với tôi)
Thank you very much Jatin, Cuối cùng và sau khi không tìm thấy một giải pháp cho vấn đề của tôi vì nó là một dự án quan trọng, tôi quyết định mua một đầu đọc. Bây giờ tôi đang sử dụng Page Turner Reader, không miễn phí nhưng nó chỉ là một ứng dụng tuyệt vời. –