Как запустить файл EPUB из активов в Android - PullRequest
0 голосов
/ 07 марта 2012

Я создал приложение, загрузив файл epub в ресурсы. Но когда я запускаю приложение, оно показывает, что приложение было неожиданно остановлено. Я не смог найти решение.

Кодировки следующие по ссылке: http://www.siegmann.nl/epublib/android

public class EpubActivity extends Activity{

    /** Called when the activity is first created. */
    @Override

    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        AssetManager assetManager = getAssets();

        try{
            InputStream epubInputStream=assetManager.open("book/budget.epub");

            Book book = (new EpubReader()).readEpub(epubInputStream);

            Log.i("epublib", "author(s): " + book.getMetadata().getAuthors());

             Log.i("epublib", "title: " + book.getTitle());

             Bitmap coverImage = BitmapFactory.decodeStream(book.getCoverImage()

                      .getInputStream());

                  Log.i("epublib", "Coverimage is " + coverImage.getWidth() + " by "

                      + coverImage.getHeight() + " pixels");


                  logTableOfContents(book.getTableOfContents().getTocReferences(), 0);

        } catch (IOException e) {

          Log.e("epublib", e.getMessage());

        }
    }

    private void logTableOfContents(List<TOCReference> tocReferences, int depth) {

        if (tocReferences == null) {

          return;

        }

        for (TOCReference tocReference : tocReferences) {

          StringBuilder tocString = new StringBuilder();

          for (int i = 0; i < depth; i++) {

            tocString.append("\t");

          }

          tocString.append(tocReference.getTitle());

          Log.i("epublib", tocString.toString());


          logTableOfContents(tocReference.getChildren(), depth + 1);

        }
      }
    }

Я не знаю, куда я иду не так. Добавлены два файла jar (sl4j + epub). Но я не смог получить вывод.

1 Ответ

2 голосов
/ 05 февраля 2013

Вы должны добавить зависимости sl4j-android, такие как sl4j-api и sl4j-simple, в папку libs и добавить папку libs для пути сборки !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...