My very first personally created Android app, by Alex Rael.

Read Without Me is a nice little Android reading app with the basic function of keeping track of your children’s reading behavior when you’re not looking, and with a complex function of keeping track of people’s reading behavior and reading comprehension. Allow me to start off with the reasoning behind why I created this app before I explain what it does.
When I started android development I came in with the idea that I wanted to develop apps that make people’s lives just a little bit easier. As you’ll read from my User Stories down below, you’ll see what my true thought process was for the creation of this app. I truly believe that this app in it’s current form, embodies that philosophy.
Read Without Me is meant for parents or people in a supervisory role to keep track of one’s reading habits and reading comprehension indirectly. There are a few books on the device ready for users to engage in. Each book has a timer, which I believe is an important function to tracking a person reading level. Of course this timer can be easily manipulated, but still an important function. Along with keeping track of one’s reading, it’s equally important to know if that one retained the information they just read. Each book has a quiz . Either it has a quiz that directly asks questions to the contents of the book, or a default quiz is given with more general questions. The user info panel gives per device information, since it wouldn’t be as easy to track ones reading habits if they signed in under a different account. With all that in mind, you can understand that this app just makes it a bit easier to know if your child, or whoever you’re supervising, is doing the reading you assign them.
By the way, I call them books, but books aren’t the only type of media that can be supported in this app. There could also be magazines, articles, textbooks, or even short stories. All of which are equally important.
The minimum API level for this app is 21, however, the app has been tested to work on APIs 24 - 28. The main emulator used for the above tests was the Nexus 5X. The main language used is English, and the current required orientation is portrait mode. In order to successfully sign into the app, a working internet connection is required.
As far as bugs go, I’ve already fixed a few of them, except one that occurs during the sign in process. I’ve noticed, on occasion, Google sign in incorrectly displays the user name of the user signing in. Once it incorrectly displays, pressing the confirm button will crash the app. It has a problem inserting that data into the database as a new user. I say on occasion because it might happen when you first run it on any api, but after that first initial run, it’ll work fine. Refer to the Future Implementations tab for more information.
Here are the added implementations and annotationProcessor needed:
implementation 'android.arch.persistence.room:runtime:1.1.1'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
The first implementation and the annotationProcessor are for the use of the Room Persistence Library. The last 3 implementations above are mostly for the use of Google Sign In. Google Sign In is the only API this app consumes. You will need a Google Sign In Credentials file if you’re going to successfully build and run the app. You can configure one at the link above.
Here are the added Java Compile Options needed:
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
dataBinding {
enabled = true
}
}
Add this snippet directly under the TestInstrumentationRunner in the app module of the build.gradle file. This compile option gives a path location for room to store it’s 1.json file.


This project is Licensed under the Apache License 2.0.
Google Sign In API for Android is implemented in this app and is licensed under the Creative Commons Attribution 3.0 License, and code samples licensed under the Apache 2.0 License. Here’s a link to the Google Sign In API resource page.
Here’s a link to my RWM.sql file.
Here’s a link to my Java docs directory.
Here’s a link to the Build Instructions file.
Here’s a link to the Basic User Instructions file.
Here’s a few aspects of the app I would love to have changed or added for future implementations. Here they are in order of most important:
Thank you for reading up to this point, and taking in all the information. I truly do believe this app I’ve created is a useful tool to making someones life a little bit easier. I hope you find this app to be equally as interesting and useful as I. Enjoy and have a wonderful day.