Sto sviluppando un'applicazione Android che legge ebooks (in formato epub) e per ora sto usando la libreria epublib di Paul Siegeman che è davvero un ottimo lettore di epub ma ha alcune limitazioni, per esempio e quella di cui ho bisogno, non puoi muoverti tra le pagine orizzontalmente (come fai leggendo un vero libro) quindi ho bisogno della mia implementazione, ma sono bloccato.Come suddividere Epub Html in pagine in base alle dimensioni dello schermo
Il metodo che legge in realtà l'epub e poi lo mette in una WebView è il prossimo:
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);
}
Quindi, come vedete visualizzo l'ebook in una WebView in modo da quanto ne so la possibilità unica di scorrimento la webview dà è su/giù.
Stavo pensando di dividere la stringa html che getData() restituisce e la webview carica in pagine e visualizzandole una ad una con un viewpager, ma come dividere l'html correttamente in base alle dimensioni dello schermo?
Pensi che con questa idea io sia sulla buona strada? Qualche altra soluzione per visualizzare epub da sinistra a destra/da destra a sinistra (paginata) o qualsiasi altra libreria "gratuita o economica" per farlo? (Ho provato PageTurner, è davvero buono, ma la versione commerciale è troppo costosa per me)
Grazie mille Jatin, Finalmente e dopo non trovare una soluzione al mio problema in quanto si tratta di un importante progetto ho deciso di acquistare un lettore. Ora sto usando Page Turner Reader, che non è gratuito ma è solo un'applicazione fantastica. –