如何在android中根据章节明智阅读所有内容

时间:2012-06-05 09:58:57

标签: java android

我能够阅读一章的内容,但我想阅读所有章节内容,请告诉我如何阅读页码。

public class LogTestBookInfo extends Activity {

    ExpandableListView list;
    TextView txt1;
    WebView web1;
    ImageView img1;

    /** Called when the activity is first created. */
    @Override
    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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

@ user1388681我遇到了同样的问题,但我解决了。请参阅此Can't display table of contents or entire book on the screen的答案?