Customization for Mobile Ebook Readers
Total Page:16
File Type:pdf, Size:1020Kb
CUSTOMIZATION FOR MOBILE EBOOK READERS _______________ A Thesis Presented to the Faculty of San Diego State University _______________ In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science _______________ by Swathi R. Simmula Summer 2013 iii Copyright © 2013 by Swathi R. Simmula All Rights Reserved iv DEDICATION Dedicated to my Sai, Parents and Friends. v I climbed and climbed where is the peak my lord, I ploughed and ploughed where is the knowledge treasure my load, I sailed and sailed where is the island of peace my lord, almighty bless my nation with vision and sweat resulting into happiness -Dr. A. P. J. Kalam vi ABSTRACT OF THE THESIS Customization for Mobile EBook Readers by Swathi R. Simmula Master of Science in Computer Science San Diego State University, 2013 Today’s mobile phone users are often extensively dependent upon applications to accomplish their daily needs. Mobile applications help the users in the following ways: accessing email, navigation, chatting, reading e Books etc. All these purposes are fulfilled only when there is a framework, which provides a complete mobile platform to achieve these tasks. Android is one of the mobile application based platforms for providing a wide range of applications that are reliable. An electronic book (variously, e-book, eBook, digital book, or even e-editions) is a book-length publication in digital form, consisting of text, images, or both, and produced on, published through, and readable on computers, Mobiles or other electronic devices. E-book websites can include the ability to translate books into many different languages, making the works available to speakers of languages not covered by printed translations. Depending on the device, an e-book may be readable in low light or even total darkness. Many newer readers have the ability to display motion, enlarge or change fonts, use Text-to- speech software to read the text aloud for visually impaired, partially sighted, elderly or dyslectic people or just for convenience, search for key terms, find definitions, or allow highlighting bookmarking and annotation. This research paper describes how these features can be achieved with an android application. It also describes what methods are used and what the limitations were, while the application was being built. Specifically this thesis develops an Android Application titled Customization for Mobile E-book Readers. The features developed include font changes, searches, social media posting, light mode change, background image change, bookmarks, and text-to-speech and reminder alarms. vii TABLE OF CONTENTS PAGE ABSTRACT ............................................................................................................................. vi LIST OF TABLES ................................................................................................................... xi LIST OF FIGURES ................................................................................................................ xii ACKNOWLEDGEMENTS ................................................................................................... xiv CHAPTER 1. INTRODUCTION .........................................................................................................1 1.1 Research Objectives ...........................................................................................2 1.2 Existing System & Analysis ..............................................................................2 1.3 Proposed System (Application) .........................................................................4 2. ANDROID MOBILE APPLICATION AND ANDROID ARCHITECTURE .............5 2.1 Introduction ........................................................................................................5 2.2 Statistics and Facts .............................................................................................6 2.3 Overview of the Mobile Application System (Market) .....................................6 2.4 Analysis of Android Operating System .............................................................7 2.5 Acquisition by Google .......................................................................................9 2.6 Open Handset Alliance ......................................................................................9 2.7 Version history .................................................................................................10 2.7.1 Android 1.5 (Cupcake)............................................................................10 2.7.2 Android 1.6 (Donut) ...............................................................................10 2.7.3 Android 2.1 (Eclair) ................................................................................10 2.7.4 Android 2.2 (Froyo) ................................................................................10 2.7.5 Android 2.3 (Gingerbread) ......................................................................10 2.7.6 Android 3.0 – 3.2 (Honeycomb) .............................................................10 2.7.7 Android 4.0 (Ice Cream Sandwich) ........................................................11 2.7.8 Android 4.1 & 4.2 (Jelly Bean) ...............................................................11 2.8 Android Architecture .......................................................................................11 2.8.1 Applications ............................................................................................11 viii 2.8.2 Application Framework ..........................................................................11 2.8.3 Libraries ..................................................................................................13 2.8.4 Android Runtime ....................................................................................13 2.8.5 Linux Kernel ...........................................................................................13 2.9 Application components ..................................................................................15 2.9.1 Activities .................................................................................................15 2.9.2 Services ...................................................................................................16 2.9.3 Content providers ....................................................................................16 2.9.4 Broadcast Receivers ................................................................................16 2.10 Activating Components .................................................................................17 2.11 Application Resources ...................................................................................18 2.11.1 Internal Application Organization ........................................................19 2.11.2 Activity Life Cycle of an Android Application and its States ..............19 2.12 Native Application Interface ..........................................................................19 2.13 Dalvik Virtual Machine .................................................................................20 2.14 Garbage Collection ........................................................................................23 2.15 Power Management .......................................................................................23 2.16 Application Framework .................................................................................23 3. APPLICATION DESIGN ............................................................................................25 3.1 Introduction ......................................................................................................25 3.2 Software Development Model: (Water Fall Model) ........................................25 3.2.1 Requirements ..........................................................................................25 3.2.2 Design .....................................................................................................26 3.2.3 Construction ............................................................................................26 3.2.4 Testing.....................................................................................................26 3.2.5 Installation...............................................................................................27 3.2.6 Maintenance ............................................................................................27 3.3 Front End or User Interface Design .................................................................27 3.4 About Java Programming Language ................................................................28 3.4.1 Platform Independent ..............................................................................28 3.4.2 Simple .....................................................................................................29 3.4.3 Object Oriented .......................................................................................29 ix 3.4.4 Robust .....................................................................................................29 3.4.5 Distributed...............................................................................................29 3.4.6 Portable ...................................................................................................29 3.4.7 Dynamic ..................................................................................................30 3.4.8