Zajmuję się tworzeniem aplikacji na Androida, która czyta ebooki (w formacie epub) i jak na razie używam biblioteki epublib Paula Siegemana, która jest naprawdę bardzo dobrym czytnikiem epublib ale ma pewne ograniczenia, na przykład i te, których potrzebuję, nie możesz poruszać się po stronach w poziomie (tak jak czytasz prawdziwą książkę), więc potrzebuję mojej własnej implementacji, ale utknąłem.Jak podzielić Epub HTML na strony według rozmiaru ekranu
Metoda faktycznie czyta EPUB a następnie umieszcza go wewnątrz WebView jest następny:
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);
}
Więc jak widać wyświetlać ebook w WebView tak, o ile wiem możliwość tylko przewijanie liczba wyświetleń w przeglądarce to góra/dół.
Zastanawiałem się nad podziałem ciągu html, który getData() zwraca, a przeglądanie stron internetowych ładuje na strony i wyświetla je po kolei za pomocą narzędzia ViewPager, ale jak poprawnie podzielić HTML według rozmiaru ekranu?
Czy myślisz, że dzięki temu pomysłowi jestem na dobrej drodze? Jakieś inne rozwiązania do wyświetlania epubu od lewej do prawej/od prawej do lewej (paginacja) lub jakiejkolwiek innej "darmowej lub taniej" biblioteki, aby to zrobić? (Próbowałem PageTurner, jest naprawdę dobry, ale wersja komercyjna jest dla mnie zbyt droga)
Dziękuję bardzo Jatin wreszcie i po nie znalezienia rozwiązania mojego problemu, ponieważ jest to ważny projekt postanowiłem kupić czytelnika. Teraz używam programu Page Turner Reader, który nie jest darmowy, ale jest to po prostu niesamowita aplikacja. –