/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

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 build.gradle:

compile 'com.folioreader:folioreader:0.4.0'

Add maven repository to your top level build.gradle:

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

Usage

First add permissions and activity tag for FolioActivity in your AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.folioreader.android.sample">
        
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    
    <application>
    
        ...
        
        <activity
            android:name="com.folioreader.ui.folio.activity.FolioActivity"
            android:theme="@style/AppTheme.NoActionBar" />
            
        ...
        
    </application>
    
</manifest>

Note: In case if you are upgrading to 0.4.0 and above don't forget to remove android:configChanges="orientation|screenSize" from <activity> tag of FolioActivity.

Get singleton object of FolioReader:

FolioReader folioReader = FolioReader.getInstance(getApplicationContext());

Call the function openBook():

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

WIKI

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.