You are on page 1of 25

CHAPTER -1

INTRODUCTION

Android is an open source operating system, based on Linux kernel and used in mobile devices like
smartphones, tablets etc. Further, it was developed for smart watches and Android TV. Each of them
has a specialized interface. Android was developed by the company Open Handset Alliance (OHA),
led by Google. The Open Handset Alliance (OHA) is consortium of multiple companies like
Samsung, Sony, Intel and many more to provide a service and deploy handsets using android
platform. Because it is Android Open Source Project (AOSP) licensed under the Apache license,
many developers have been contributed in android development. The primary goal of the android
project is to create product that can be implemented in user’s life. Initially, Android development was
started by Android Inc., later bought by Google in year 2005. It’s first commercial version was
released in September 2008. Since then, different number of versions have been released with
extraordinary features. Android first beta version of the Android Software Development Kit (SDK)
released in 2007 and the first commercial version of Android 1.0 (Alpha), was released in
September 2008.

Android application development is the process by which applications are created for devices
running the Android operating system. "Android apps can be written using Kotlin, Java,
and C++ languages" using the Android software development kit (SDK), while using other languages
is also possible. All non-JVM languages, such as Go, JavaScript, C, C++ or assembly, need the help
of JVM language code, that may be supplied by tools, likely with restricted API support. Some
programming languages and tools allow cross-platform app support (i.e. for both Android and iOS).
Third party tools, development environments, and language support have also continued to evolve
and expand since the initial SDK was released in 2008. The official Android app distribution
mechanism to end users is Google Play; it also allows staged gradual app release, as well as
distribution of pre-release app versions to testers.

An application, often shortened to app, is a program or set of programs that allows end users to
perform various functions. An android application is a software application running on the android

1
platform. These are the applications which we use in our everyday lives either to communicate with
our loved ones, order things from our smartphones, or to make our everyday lives easier.

Apps can have many functions and can be used in various fashions; an app can be a personal
app, a corporate app for a company, a government app, an organizations or restaurants apps, etc.
Apps have made many things easily available and accessible at home convenience like E-Shopping,
E-banking, E-teaching, E-booking, E-ticketing, E-library etc.

1.1 PROJECT AIMS AND DESCRIPTION

My project is an android application titled “Book Hub” is the end user’s own personal library and
book review in our own device. It is a basic android mobile application made by the use of all the
basic concepts of android app development. This app consists of a list of some books with some
of the details mentioned about that book like the book’s name, it’s author’s name, it’s price and
ratings. Clicking on any book name in the list takes up to its description activity where a description
about the book has been mentioned. An option to add or remove any book to favourites has also
been given inside the description page. The list of books chosen as favourites can be accessed in
the favourites activity. There is also a profile page which consists some details about the developer
of the app. This app has been made according to the training provided by the Internshala’s training
through it’s android application development training program.

2
CHAPTER -2

BACKGROUND STUDY

Android is a Linux based operating system designed primarily for touch screen devices such as
smartphones, tablets and computers. It was released in 2008 and it is now owned by Google.
Android is an operating system like windows, Linux, MacOS, Ubuntu etc. A lot of devices run on
android these days like smartphones, tablets, laptops, watches, televisions, cars etc. As of today, over
2 billion devices use android. Each year, android releases a new version with better features, better
security and better user experience. Android apps are available at Google Play store which is a
marketplace for android apps and which contains all the apps that we download and use. It has
approximately over 2.6 million apps and more being created each day. There were approximately 750
billion of downloads of android apps last year. Android applications are the applications which we
use in our everyday lives either to communicate with our loved ones, order things from our
smartphones, or to make our everyday lives easier.

2.1 HISTORY

Android, Inc. was founded in October 2003 California by the efforts of Andy Rubin who was co-
founder of Danger, Rich Miner who was co-founder of Wildfire Communications, Inc., Nick Sears
was once VP at T-Mobile, and Chris White which headed design & interface development of
WebTV.
The motive of the company was to develop an advanced operating system which can be used digital
cameras, but when they realized that the market required for that was not large enough to capture,
and they diverted their efforts in producing the operating system which to rival Symbian and others.
Despite the founders past accomplishments, Android Inc. secretly operated, revealing it was
working on mobile phones software. Google buys out Android Inc. on 17 August 2005. Android
Inc. key employees- Rubin Miner and White stayed in the company after the google acquisition.
Many assumed that android Inc. at that time was planned to enter the market of mobile phone. At
Android team led by Rubin developed Linux kernel powered mobile phone operating system.
Google demonstrated the operating system to handset makers and carriers with the vision of
3
providing a flexible & upgradable system. The Google has taken a series of h/w component and s/w
partners and signaled to carriers that they are open up more co-operation.
On 5 November 2007 Android’s powered mobile device platform built on the Linux kernel version
2.6.25 is launched. HTC Dream was first commercially available android powered Smartphone
released on October 22, 2008.
In 2010 Google launched series of devices named-Nexus.

2.2 FEATURES OF ANDROID

Android is a powerful open source operating system which provides immense features and some of
these are listed below.

• Android Open Source Project so we can customize the OS based on our requirements.
• Android supports different types of connectivity for GSM, CDMA, Wi-fi, Bluetooth etc. for
telephonic conversation or data transfer.
• Using Wi-Fi technology, we can pair with other devices while playing games or using other
application.
• It contains multiple APIs to support a location-tracking services such as GPS.
• We can manage all data storage related activities by using file manager.
• It contains a wide range of media supports like AVI, MKV, FLV, MPEG4 etc. to play or record
variety of audio / video.
• It also supports different image formats like JPEG, PNG, GIF, BMP, MP3, etc.
• It supports multimedia hardware control to perform playback or recording using camera and
microphone.
• Android has an integrated open source webkit layout-based web browser to support User
Interface like HTML5, CSS3.
• Android supports a multi-tasking means we can run multiple application at a time and can switch
in between them.
• It provides support for virtual reality or 2D/3D Graphics

4
2.3 ANDROID VERSIONS

Google launched the first version of Android platform on Nov 5, 2007. Since then, Google released
a lot of android versions such as Apple Pie, Banana Bread, Cupcake, Donut, Éclair, Froyo,
Gingerbread, Jellybeans, KitKat, Lollipop, marshmallow, Nougat, Oreo etc. with extra functionalities
and new features.

Following table shows the version details of android which is released by Google from 2007 to till
date:

CODE NAME VERSION API LEVEL RELEASE DATE

Apple Pie Android 1.0 1 September 23, 2008

Banana Bread Android 1.1 2 February 9, 2009

Cupcake Android 1.5 3 April 30, 2009

Donut Android 1.6 4 September 15, 2009

Éclair Android 2.0 – 2.1 5-7 October 26, 2009

Froyo Android 2.2 – 2.2.3 8 May 20, 2010

Gingerbread Android 2.3 – 2.3.4 9-10 December 6, 2010

Honeycomb Android 3.0.x – 3.2.x 11 – 13 February 22, 2011

Ice Cream Sandwich Android 4.0 – 4.0.4 14 – 15 October 18, 2011

Jelly Bean Android 4.1 – 4.1.2 16 – 18 July 9, 2012

5
CODE NAME VERSION API LEVEL RELEASE DATE

KitKat Android 4.4 – 4.4.4 19 July 9, 2012

Lollipop Android 5.0 – 5.1 21 – 22 October 17, 2014

Marshmallow Android 6.0 – 6.0.1 23 October 5, 2015

Nougat Android 7.0 – 7.1 24 – 25 August 22, 2016

Oreo Android 8.0 26 August 21, 2017

Pie Android 9.0 27 August 6, 2018

2.4 Android Architecture


Android architecture contains different number of components to support any android device needs.
Android software contains an open-source Linux Kernel having collection of number of C/C++
libraries which are exposed through an application framework services. Among all the components
Linux Kernel provides main functionality of operating system functions to smartphones and Dalvik
Virtual Machine (DVM) provide platform for running an android application.

The main components of android architecture are following: -

• Applications
• Application Framework
• Android Runtime
• Native/ Platform Libraries
• Linux Kernel

6
Pictorial representation of android architecture with several main components and their sub
components –

Fig. 2.1 Android Architecture

7
2.4.1 Applications

On the top of android framework, there are applications. All applications such as home, contact,
settings, games, browsers are using android framework that uses android runtime and libraries.
Android runtime and native libraries are using Linux kernel.

Fig. 2.2 Applications

2.4.2 Application Framework

On the top of Native libraries and android runtime, there is android framework. Android framework
includes Android API's such as UI (User Interface), telephony, resources, locations, Content
Providers (data) and package managers. It provides a lot of classes and interfaces for android
application development.

Fig. 2.3 Application Framework

2.2.3 Android Runtime

In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible
to run android application. DVM is like JVM but it is optimized for mobile devices. It consumes less
memory and provides fast performance.

8
Fig. 2.4 Android Runtime

2.4.4 Native libraries

On the top of Linux kernel, there are Native libraries such as Webkit, OpenGL, Free Type, SQLite,
Media, C runtime library (libc) etc. The Web Kit library is responsible for browser support, SQLite
is for database, Free Type for font support, Media for playing and recording audio and video formats.

Fig. 2.5 Native Libraries

2.2.5 Linux kernel

It is the heart of android architecture that exists at the root of android architecture. Linux kernel is
responsible for device drivers, power management, memory management, device management and
resource access.

Fig. 2.6 Linux Kernel

9
CHAPTER -3

DESIGN OF PROJECT

Now that we’re aware of android, and architecture of the android which had been the background
pillars or concept used in the development of this project. Therefore, now we’ll discuss about the
operation environment and the various technologies used in this project.

3.1 DEVELOPMENT ENVIRONMENT

1. Hardware Configuration

• Processor: Intel Core i5

• RAM: 8GB

2. Software Configuration

• Operating System: Windows 10


• Development Environment: KOTLIN, XML
• Software used: Android Studio

Fig. 3.1 Android Studio


10
3.2 TECHNOLOGIES USED
There are several tools or technologies available that can be used to develop the front-end
and back -end of a app.

• XML (EXTENSIBLE MARKUP LANGUAGE)


XML, or Extensible Markup Language, is a markup language that you can use to create your own
tags. It was created by the World Wide Web Consortium (W3C) to overcome the limitations of
HTML, the Hypertext Markup Language that is the basis for all Web pages. XML is a markup
language that defines a set of rules for encoding documents in a format that is both human-readable
and machine- readable. The design goals of XML focus on simplicity, generality, and usability across
the Internet. It is a textual data format with strong support via Unicode for different human languages.
Although the design of XML focuses on documents, the language is widely used for the representation
of arbitrary data structures such as those used in web services.

1. XML stands for extensible Markup Language


2. XML is a markup language like HTML
3. XML is designed to store and transport data
4. XML is designed to be self-descriptive

Fig. 3.2 XML

11
● KOTLIN

Kotlin is a statically typed, general-purpose programming language developed by JetBrains, that has
built world-class IDEs like IntelliJ IDEA, Php Storm, App code, etc. It was first introduced by
JetBrains in 2011 and a new language for the JVM. Kotlin is object-oriented language, and a “better
language” than Java, but still be fully interoperable with Java code.
Kotlin is sponsored by Google, announced as one of the official languages for Android
Development in 2017.

Fig. 3.3 Kotlin

12
CHAPTER - 4

IMPLEMENTATION OF PROJECT

Fig: 4.1 Project Implementation flow diagram

13
4.1 XML layouts (Front-end):

1. Activity_description.xml
2. Activity_main.xml
3. Drawer_header.xml
4. Fragment _dashboard.xml
5. Fragment_favourites.xml
6. Fragment_profile.xml
7. Recycler_dashboard_single_row.xml
8. Recycler_favourite_single_row.xml

4.2 Kotlin Files (Back-end):

• Activity
1. DescriptionActivity.kt
2. MainActivity.kt

• Adapter
3. DashboardRecyclerAdapter.kt
4. FavouriteRecyclerAdapter.kt

• Database
5. BookDao.kt
6. BookDatabase.kt
7. BookEntity.kt

• Fragment
8. AboutAppFragment.kt
9. DashboardFragment.kt
10. FavouritesFragment.kt
11. ProfileFragment.kt
14
CHAPTER -5

RESULTS OF THE PROJECT

• DASHBOARD

Fig5.1 Dashboard Activity Fig5.2 Dashboard Activity

15
• BOOK HUB NAVIGATION DRAWER

Fig5.3 Navigation Drawer

16
• BOOK DETAILS

Fig5.4 Book Details Fig5.5 Book Details

17
Fig5.6 Book Details Fig5.7 Book Details

18
Fig5.8 Book Details Fig5.9 Book Details

19
Fig5.10 Book Details Fig5.11 Book Details

20
Fig5.12 Book Details Fig5.13 Book Details

21
• FAVOURITES • PROFILE

Fig5.14 Favourites Fig5.15 Profile

22
• ABOUT APP • Without Internet Connection

Fig5.16 About App Fig5.17 Without Internet Connection

23
CHAPTER -6

CONCLUSION AND FUTURE SCOPE

To conclude, the application has been made by using the basic languages like XML and Kotlin
and by using basic concepts of android application development but still many features can be
added to the same application by learning many more higher functionalities and concepts.

But still, the project has a very vast scope in future. The project can be released on google play store
in future. It can be used by the end users as a book review app. The project can be updated in near
future as and when requirement of the same arises, as it is very flexible in terms of expansion. The
future scope of the project is that it can be converted to an E-library application which will contain
the details and ratings of the book along with a direct book buying option which can be made
available in the project. Even more books can be added in the book list along with the details where
every information of the book is clearly mentioned. The user can feel the transparency while using
the application. So that, the customer or the end user can easily access any book from the list, get
its details, read it and buy it.

24
REFERENCES

[1] https://internshala.com/

[2]https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-
v2/unit-1-get-started/lesson-1-build-your-first-app/1-0-c-introduction-to-android/1-0-c-
introduction-to-android.html

[3] https://www.geeksforgeeks.org/android-system-architecture/?ref=lbp

[4] https://www.tutorialspoint.com/android/index.html

[5]https://encycolorpedia.com/a4c639#:~:text=The%20hexadecimal%20color%20code%20%23a
4c639,%25%20green%20and%2022.35%25%20blue

[6] https://developer.android.com/reference/android/graphics/Color

[7] https://en.wikipedia.org/wiki/Android_software_development

[8] https://www.youtube.com/results?search_query=android+development+using+kotlin

[9] Android Application Development with Kotlin, Hardik Trivedi

25

You might also like