Information is everywhere around us. It used to be stored in books, but this is ancient history. Knowledge is nowadays at your fingertips. You can read a book on your tablet, browse an online encyclopedia through your phone's browser, watch a video tutorial on YouTube, and so forth.
This has made the job of delivering information to users a demanding task. You are not obliged to, but your readers would very much appreciate if you could provide the information they need in an easy-to-get format. This is why most publishers now are making effort to provide their published material in different formats, to appeal to the taste of their diverse range of readers.
One of the most popular electronic media for information delivery is through smart phones and tablets. Most readers will settle for reading books and other material using one or more of these devices.
And in the world of smart phones, Android is a big player. It quickly acquired a large sum of the market share. Android is an open source operating system, developed by Google, and is found in virtually every device you can find around you: smart phones, tablets, smart TVs, smart watches, to mention some.
If you are a publisher or an author and you didn't think before of publishing your material for Android users, you have to reconsider it. Think of reaching out to millions of worldwide users who will be very happy to access your material on their hand-held devices. Those users are loyal, and they will most probably continue to update the software they downloaded from your company once they are convinced it is stable, useful and user-friendly. They will even look for other software developed by your company in most cases.
So, if you are a publishing house, a self-publishing author, a maintainer of a public domain book, or even a curious developer, and you want to know how to deploy your book(s) on the Android platform, this book is just for you.
1.2 Is Programming Knowledge Needed?
As I know most readers of this text would not be programmers, or would have a minimal knowledge in programming, I have written this book in a clear and simple instructive way. This is not to give you the idea that this book is an introductory course to programming: it is not .
Developing Android programs is exactly that: developing programs. That means some amount of programming is due, but don't despair. I wrote this book in a way that will not make you feel the need to go and learn a new programming language. The code snippets are written on a to-go basis, i.e. you can copy and paste the code fragments into the editor (with minor modifications that I will show you along the code) and guarantee that they will do the required job, provided of course you follow closely the instructions in this book to get the job done.
The development of our sample book will require the following tasks, which I will detail throughout the text:
- Downloading and installing the software required for operation.
- Setting up an SQLite database for the eBook.
- Writing the code backbone that will drive the application to work.
- Formatting your manuscript to be ready for incorporation into the database, and thence the App.
- Minor designing (mainly of the App icons) and your book figures and images.
- Testing the App on an Android Virtual Device (AVD) and on a real physical device.
- Registering with Google Play Store as a developer, and publishing the App.
- Advertising, promoting and recruiting users to use the App.
The last point is the one I will not discuss in this book. This is a job for professionals, and if you are not one of them, you are better off searching for professional help. I will though give you some tips and guidance about where to search for such help.
To reiterate: this book is not an introduction to Java programming, nor is it an introduction to Android development. If you want in-depth and more structured information in either of these topics, you must look for another book that gives that information.
This book is a hands-on tutorial on creating an eBook, in the form of an Android App. This is the main focus of the book. Everything else (Java code, XML code, graphics design, Android system internals) are supplementary material to get the job done. I will touch on all those subjects in a superficial way, just like a refresher for your brain. If you find a topic that you didn't understand, don't hesitate to search the net or look into another book to get it clear before carrying on.
1.3 Why Not Publish my Book as a Regular eBook?
There are many eBook formats out there. One of the most popular and widely used format is Adobe's PDF (Portable Document Format). PDF is found everywhere. There is very little chance that you might have not encountered PDF somehow during your life and work. PDF was introduced by Adobe in 1993.
PDF is good. It provides a static document view. That means whatever device or software you use to view the document, it should essentially look the same as the original. The problem is that it is static , i.e. it doesn't give you much liberty about how to view the document.
Think about this book at your hand. It is composed of pages that contain text and images. If you view this book in a PDF viewer, it will display it almost exactly as I wrote it in the first place. This is satisfactory if you are using a wide screen medium, like a computer or a laptop's screen.
But what if you wanted to view the book on your notebook? Your tablet? Or even the tiny screen of your mobile phone? Wouldn't it be tiresome and boring to keep scrolling to the right to see the rest of the line, then back to the left and down to see the rest of the page?.
This is why other eBook formats were invented, like ePub, Mobi and Google Books. In this case, the book text is saved as regular text, with some meta-data that give information to the viewer application including the author, publisher, fonts used, and other things. The viewer application is then free to format the book into pages that fit the screen resolution and size of the target device. This results in enhanced user experience as the user will no longer have to go back and forth to view a complete page.
There are many companies and websites that can help an author/publisher create eBooks. Those are only examples and the list is by no means inclusive:
- Amazon Kindle Direct Publishing ( https://kdp.amazon.com/ ).
- Lulu Press Inc. ( http://www.lulu.com/create/ebooks ).
- Nook Press ( https://www.nookpress.com/ebooks ).
- Other sites could be searched for by searching for publishing ebooks on your search engine.
Most of those sites will give you two options: a free publishing option, where you have to do most of the work yourself, including formatting your manuscript, designing your graphics to make them print- and display-suitable, cover design (Amazon provides an online cover design helper), and so on. The other option is paid publishing, where a team of professionals will help your with the said tasks for a given price.
This is all good, but it still is limited. Amazon Kindle Publishing will publish your books for Amazon Kindle devices. That means your book will not be available for users without those devices (not entirely true, though, as there are Kindle emulators). Other book formats will need an eBook reader in order to view the book on the target device. Many eBook readers are available as both free and paid software.
So, either you limit your reader base to a set of defined users, or bind the user to install an eBook reader, which is a trivial task on most occasions. But there is more.