User guide / The Fiction Reader Android app

Beyond one device

The Android app

The Android app runs the same application as everything else. What differs is where its library is: on a server you run, or on the phone itself.

All guide pages

Two ways to use it

Connected to a serverStandalone
Where the library isYour serverThe phone
Stories from fiction sitesYes, everythingThe phone can check and download stories it follows
Your own ebooksYes, on the serverYes, in the app's own storage
Needs a networkYes, unless you saved stories for offline readingOnly to fetch new chapters and to sync
Sharing with other devicesAutomatic, same libraryThrough Google Drive

The first launch asks which one you want, and Settings can change it later without destroying either.

Screenshot needed - Android first runThe first-launch screen asking whether to connect to a Fiction Reader server or keep a library on this device.

Connecting to a server

  1. Enter the server address, for example http://minipc.lan:8080. The app tests it and reports what happened.
  2. Enter the access token if your server is configured to require one.
  3. Choose your profile from the list the server returns.
One setting on the server decides whether this works. The server must list https://localhost in FR_CORS_ORIGINS. Without it every request fails in a way that looks identical to an unreachable server. If the app says it cannot reach your server and you are certain the address is right, check that first. See Running a server.

A home server is usually plain HTTP, and the app permits that on purpose. The alternative is making everybody put a TLS certificate on a home machine. Reach the server over a VPN when you are away from home. Do not open a port on your router.

Screenshot needed - Android connection setupThe setup screen with the server address field filled in, and Settings → Android connection.

A library on the phone

Standalone mode makes the phone the authority. It has its own database in the app's private storage, imports your own book files through Android's file picker, and can follow, check and download stories from fiction sites itself.

Everything you write, from reading positions and read markers to highlights, tags, collections, notes and settings, is written locally and immediately, whether or not the phone has a network. Airplane mode leaves the whole app working; only syncing waits.

Screenshot needed - Standalone My BooksThe My Books shelf on the phone in standalone mode, with imported books.

Switching between them

Settings → Android connection switches shape. Both configurations and both sets of data are kept side by side, meaning the server connection with its saved offline copies, and the phone's own database and book files. Switching never copies or merges one into the other, and never treats one as a migration source for the other.

Checking in the background

In standalone mode, check for new chapters in the background is off by default. A phone that agreed to fetch in the background has said something about its own battery and its own data plan, so this setting is device-local and is never synced to your other devices.

With it on, the phone checks about every six hours when the battery is not low, and a sub-switch, on by default, restricts that to unmetered connections. With it off, the app checks when you open it and when you bring it back to the front, and cancels anything in flight when it goes to the background.

Screenshot needed - Background checking settingSettings → Downloads on the phone, showing the background checking switch and the unmetered-only sub-switch.

Reading on a phone

The reading view is the same one described in Reading, with two Android differences:

  • Long-press selects text using Android's own selection handles, and the highlight toolbar appears once you have made a selection. The app does not put its own menu over that gesture.
  • The hardware back button follows your navigation. Inside the reading view it closes an open panel first, then returns to the story. It never leaves the app from inside a chapter without a second press.

Keep the screen awake in the reading settings works on Android, so the screen does not dim mid-page.

Screenshot needed - Reading on the phoneA chapter open in the Android app, and the same chapter with the reading controls showing.

Google Drive on the phone

Standalone Android syncs through Google Drive exactly as the desktop does. See More than one device. Two Android-specific points:

  • Book files transfer on unmetered connections by default. You can override that for one transfer after confirming it, so a large book collection does not quietly cost you mobile data.
  • Forget the local Drive library in Settings deletes this phone's own database, book copies and stored key, without touching the copy in Drive. It is the way to hand the phone on without wiping your library.
Screenshot needed - Sync on the phoneSettings → Sync in the Android app, showing Google Drive connected, the other devices, and the pairing code screen.

What standalone leaves out

Some things need a server. The app hides their controls, so nothing is shown broken:

  • The whole-library backup and verification tools, which describe a server's own disk.
  • The proxy settings, which configure outbound routing for a machine that serves other devices.
  • The device-copy layer, since a standalone library is already the local copy.
  • The scheduled reading-list export. Drive sync carries the same information continuously.

Downloaded chapters of web stories are also not carried between devices by sync yet, so a phone following a story fetches its own copies of it. See What travels.