¿Cómo leer todo el contenido del archivo Epub en Android?
Quiero leer todo el contenido de todos los toc.
¿Puede decirme cómo leer todo el capítulo que está en la tabla de contenido (toc)?
Publique el código modificado para que podamos leer todo el contenido o publicar algo para que yo pueda leer el contenido.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AssetManager assetsmanger=getAssets();
try {
// find InputStream for book
InputStream epubInputStream=assetsmanger.open("books/INCOME-TAX-ACT-1961.epub");
// Load Book from inputStream
Book book = (new EpubReader()).readEpub(epubInputStream);
// Log the book's authors
Log.i("epublib", "author(s): " +book.getMetadata().getAuthors());
// Log the book's title
Log.i("epublib", "title: " + book.getTitle());
String data=new String (book.getContents().get(3).getData());
String k=data;
web1=(WebView)findViewById(R.id.webView1);
// txt1=(TextView) findViewById(R.id.textView1);
// txt1.setText(k);
web1.loadData(k," text/html", "utf8");
Bitmap coverImage=BitmapFactory.decodeStream(book.getCoverImage().getInputStream());
Log.i("epublib" , "Coverimage is " + coverImage.getWidth() + " by "
+ coverImage.getHeight() + " pixels");
// Log the tale of contents
logTableOfContents(book.getTableOfContents().getTocReferences(), 0);
// list=(ExpandableListView)findViewById(R.id.expandableListView1);
// img1=(ImageView)findViewById(R.id.imageView1);
// img1.setImageBitmap(coverImage);
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("epublib", e.getMessage());
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void logTableOfContents(List<TOCReference> tocReferences, int depth) {
// TODO Auto-generated method stub
if(tocReferences== null ){
return;
}
for(TOCReference tocReference:tocReferences){
StringBuilder tocstring=new StringBuilder();
for(int i=0;i<depth;i++)
{
tocstring.append("\t");
}
HashMap<String, String> map = new HashMap<String, String>();
String k= tocstring.append(tocReference.getTitle()).toString();
map.put("TOC",k);
ArrayList<HashMap<String, String>> list1 = new ArrayList<HashMap<String, String>>();
list1.add(map);
String t=k;
Log.i("epublib", tocstring.toString());
logTableOfContents(tocReference.getChildren(), depth + 1);
}
}
}