Работа с файлами ePub в Android - PullRequest
       23

Работа с файлами ePub в Android

5 голосов
/ 07 февраля 2012

Я упомянул это учебник Android по siegmann и успешно вошли Title, Author name и Table of contents.

Теперь я прочитал, что всю книгу можно просмотреть в WebView.

Но я не нашел учебника по Отображение файла ePub .

Когда дело доходит до создания файла ePub, я обнаружил это из SO Но я не могу это реализовать, так как понятия не имею о main.xml.

Просьба предложить любой учебник по созданию и отображению файла ePub.

Для создания ePub я попытался отослать к этому зигману, например но я не могу понять это правильно.

Нужно ли предоставлять .html для каждой главы и .css для создания файла ePub?

Я знаю, что я немного неясен в этом вопросе, поскольку я абсолютный новичок в работе с ePub, поэтому любые предложения / помощь приветствуются.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Попробуйте это в logTableOfContents()

while ((line = r.readLine()) != null) {

line1 = line1.concat(Html.fromHtml(line).toString());

}

finalstr = finalstr.concat("\n").concat(line1);
1 голос
/ 07 февраля 2013

Вы также можете просмотреть содержимое epub с помощью

        Spine spine = book.getSpine(); 
        List<SpineReference> spineList = spine.getSpineReferences() ;
        int count = spineList.size();
        StringBuilder string = new StringBuilder();
        for (int i = 0; count > i; i++) {
            Resource res = spine.getResource(i);
            try {
                InputStream is = res.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                try {
                    while ((line = reader.readLine()) != null) {
                        linez =   string.append(line + "\n").toString();
                        System.err.println("res media"+res.getMediaType());
                        htmlTextStr = Html.fromHtml(linez).toString();
                        Log.e("Html content.",htmlTextStr);
                        speak(htmlTextStr);
                    }
                } catch (IOException e) {e.printStackTrace();}

                //do something with stream
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        webview.getSettings().setAllowFileAccess(true);
        webview.getSettings().setBuiltInZoomControls(true);
        webview.getSettings().setJavaScriptEnabled(true);

        webview.loadDataWithBaseURL("file:///android_asset/", linez, "application/xhtml+xml", "UTF-8", null);
...