/FolioReader-Android

A Java ePub reader and parser framework for Android.

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

FolioReader logo

Build Status

FolioReader-Android is an ePub reader written in Java.

Features

  • Custom Fonts
  • Custom Text Size
  • Themes / Day mode / Night mode
  • Text Highlighting
  • List / Edit / Delete Highlights
  • Handle Internal and External Links
  • Portrait / Landscape
  • Reading Time Left / Pages left
  • In-App Dictionary
  • Media Overlays (Sync text rendering with audio playback)
  • TTS - Text to Speech Support
  • Parse epub cover image
  • PDF support
  • Book Search
  • Add Notes to a Highlight
  • Better Documentation
  • Last Read Position Listener
  • Horizontal reading
  • Distraction Free Reading

Demo

Custom Fonts

Custom fonts

Day and Night Mode

Day night mode

Text Highlighting

Highlight

Media Overlays

Media Overlay

Gradle

Add following dependency to your app module build.gradle file:

repositories {
    maven {
        url 'http://dl.bintray.com/mobisystech/maven'
    }
}

dependencies {
    implementation 'com.folioreader:folioreader:0.4.3'
}

AndroidManifest

Starting with Android 9.0 (API level 28), cleartext support is disabled by default.

{your-app-module}/res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">127.0.0.1</domain>
        <domain includeSubdomains="true">localhost</domain>
    </domain-config>
</network-security-config>

Then add network_security_config.xml in your app module's AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    ...
    <application android:networkSecurityConfig="@xml/network_security_config">
    ...
    </application>
</manifest>

Usage

Get singleton object of FolioReader:

FolioReader folioReader = FolioReader.get();

Call the function openBook():

opening book from assets -
folioReader.openBook("file:///android_asset/TheSilverChair.epub");
opening book from raw -
folioReader.openBook(R.raw.adventures);

Note: From v0.4.1 you don't need to specify permissions and FolioActivity tag in AndroidManifest.xml


WIKI

Reporting Issue

Please follow Issue Template to report any issue.

Credits

  1. SwipeLayout
  2. r2-streamer-java
  3. Pearson Dictionaries
  4. rangy

Author

Heberti Almeida

CodeToArt Technology

Donations

This project needs you! If you would like to support this project's further development, the creator of this project or the continuous maintenance of this project, feel free to donate. Your donation is highly appreciated. Thank you!

PayPal

  • Donate 5 $: Thank's for creating this project, here's a tea (or some juice) for you!
  • Donate 10 $: Wow, I am stunned. Let me take you to the movies!
  • Donate 15 $: I really appreciate your work, let's grab some lunch!
  • Donate 25 $: That's some awesome stuff you did right there, dinner is on me!
  • Donate 50 $: I really really want to support this project, great job!
  • Donate 100 $: You are the man! This project saved me hours (if not days) of struggle and hard work, simply awesome!
  • Of course, you can also choose what you want to donate, all donations are awesome!

License

FolioReaderKit is available under the BSD license. See the LICENSE file.