0% found this document useful (0 votes)
196 views

Android App Development

The document thanks the author's tutor and coordinator from DIO for their guidance during the author's summer training project in Android app development. It also thanks a friend for helping with problems during the project. The author expresses gratitude for the opportunity to complete the project and learn.

Uploaded by

naman sethi
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
196 views

Android App Development

The document thanks the author's tutor and coordinator from DIO for their guidance during the author's summer training project in Android app development. It also thanks a friend for helping with problems during the project. The author expresses gratitude for the opportunity to complete the project and learn.

Uploaded by

naman sethi
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 40

ACKNOWLEDGEMENT

I wish to express my gratitude to,my tutor at DIO HIMANSHU SIR Consultancy


for providing me an opportunity to do my Summer Training and project work in
“Android App Development”. Under his guidance I have completed my project
and tried my best to implement what I had learnt till now.

I sincerely thank Himanshu sir, our (DIO) co-ordinator for their guidance and
encouragement to do my Summer Training. He also help me by updating us about
the information of what to do and not to do during our Summer Training and help
us with all.I also thanks my friend for helping me with my problem that I face in
my project.
Certificate
Introduction

1.1 What is an app?


App is an abbreviated form of the word "application". An application is a software
program that is designed to a specific function directly for the user which can be access
easily.

1.2 What is an Android?

Android is an open source operating System for mobile devices such as


smart-phones and tablet,computers. Android offers a unified approach to
application development for mobile devices which means developers need to
develop only for Android, and their applications should be able to run on different
devices powered by android.
Android was developed by the Open Handset Alliance(OHA) , led by Google, and
other companies.Android is mainly based on direct manipulation ,using touch
gestures that looses correspond to real world actions. It provide us with the
manipulate
on-screen object,along with a virtual keyboard for text input.

1.3 History of Android :

Android was initially developed by Android Inc., the code names of android ranges
from A to N.
Founded by Andy Rubin in Palo Alto,California, United States in Oct 2003.
Android word is actually reffered to as robot
Android was named after the nickname of Andy Rubin by their co-workers for his
love for robot.
Google acquired android Incorporation on 17th Aug,2005.
Android was developed by the Open Handset Alliance(OHA) for camera phone, led by
Google, and other companies.
But shifted to smart-phones due to low market of cameras at that time.
HTC launches the first android mobile.
In 2010,Google launched it’s Nexus series of devices in smart-phone world with
android OS.

1.4 Android Version:


1. Android 1.0, 1.1(Base,Base_1_1)
2. Android 1.5(Cupcake)
3. Android 1.6(Donut)
4. Android 2.0(Eclair)
5. Android 2.0.1(Eclair_0_1)
6. Android 2.1.x(Eclair_MR1)
7. Android 2.2.x(Froyo)
8. Android 2.3 - 2.3.2(Gingerbread)
9. Android 2.3.3 - 2.3.4(Gingerbread_MR1)
10. Android 3.0.x, 3.1.x, 3.2(HoneyComb, HC _MR1, HC_Mr2)
11. Android 4.0 - 4.0.2, 4.0.3 -
4.0.4((Ice_Cream_Sandwich,ICS_MR1) 12. Android 4.1 - 4.1.1, 4.2 -
4.2.2,4.3(Jelly_Bean, JB_MR1, JB_MR2)
13. Android 4.4, 4.4W (Kitkat, K_Watch)
14. Android 5.0, 5.1(Lollipop, L_MR1)
15. Android 6.0 (Marshmallow)
16. Android 7.0 (Nougat)
CHAPTER:2
KNOWINNG ANDROID

We will start our Android application development on any of the following operating
systems:
Microsoft Window XP or later version , Mac OS X 10.5.8 or later version with Intel chip
Linux including GNU Library with Intel chip.

2.1 Android App Development.


Android app is a combination of different source code in a single place whose action
can be performed just by a single touch.
Example:- Suppose if we want to add two no’s then we just have to click on the
calculator app and enter two no’s and the operand that we have to perform. It makes our
work much easier and this are much user friendly.
So what happen ? How it calculated the answer.
Android programming is based on java programming language so if we have basic
understanding on Java programming then it will be a fun to study Android app
development.

2.2 Java in Android App Development.


Java is a programming language that doesn’t compile to native processor code but rather
it refers to virtual machine which understands an intermediate format i.e; java byte-
code. Each platform that uses java to run needs a virtual device.
An android app uses a android application that runs on android platform. It build on
custom virtual machine that gives its user the addition usage and application power and
a user friendly environment. Android actual virtual machine is called Dalvik.

2.3 Android Software Development Kit(Android SDK) :


Apps that extend the functionality of device is written using Android SDK and often
using java programming language.The SDK includes a set of development tools,
including a debugger, software libraries,a handset emulator, sample code,etc.
Initially Google supported Integrated Development Environment(IDE) i.e; Eclipse
using the Android Development Tools(ADT) plugins. Other development tools are also
available such as Native Development Kit(NDK). Android Studio that is based on
Intellij IDEA developed by Google as its primary IDE for android app development.
Android is a selection of third-party application which can be acquired by users by
downloading and installing the Android Application Package(APK) file.

2.4 What is API Level ?


API Level is an integer value that uniquely identifies the framework API revision
offered by a version of the Android platform.

2.5 Features of Android :


a) It is an open source user friendly software

b) It has beautiful user interface


c) It reduced cost of development
d) It has rich development environment
Inter application Integration
e) It support single and bi-directional text
f)It uses Dalvik virtual machine- optimized version for mobile
2.6 Android Application :

They are generally developed in the java language using the Android
SDK Android applications can be packaged easily and sold out either
through a store such as Google play,etc.
There are many android applications that we already know and uses them few
are music,news,weather,etc
Many android application are also available for free most of them are already
available in play store.
This apps are compatible with almost every platform but few are also available for the
specific platform..
CHAPTER 3:
OVERVIEW AND STARTING
WITH
ANDROID

3.1 Overview
Android applications are freely available and can be downloaded from the Web.
Following is the list of software's you will need before you start your Android
application programming.
This all software required in the installation of Android application.This setup is
required for the configuration with RAM less or more than 4gb:
Java JDK5 or JDK6
Download the latest version of Java JDK and install the JDK and set the
environmental path for it.
Android SDK
Download Android SDK from Android’s official website :
http://developer.android.com/sdk/index.html
If you install SDK either on Mac OS or Linux, follow the instruction and setup the
environment path.
Launch Android SDK Manager using option All Program>Android SDK Tools>SDK
Manager
Eclipse IDE for Java Developers
Check for the version that is compatible with your device and install it.
Or, Android Development Tools (ADT) Eclipse Plugin
This step will help you in setting Android Development Tool plugin for Eclipse.
Let's start with launching Eclipse and then, choose Help > Software Updates > Install
New Software
3.2 Android Virtual Device
To test our android application we will need a virtual Android device. Before start
writing our code we create an Android Virtual Device Android operating system is a
stack of software components which is roughly divided into five sections and four
main layers :
Application
You will find all the Android application at the top layer. You will write your
application to be installed on this layer only
Application Framework
The Application Framework layer provides many higher-level services to applications in
the form of Java classes.
Libraries
There is a set of libraries including open-source Web browser engine WebKit, well known
library libc, SQLite database,etc.
And , Android Runtime :
This is the third section of the architecture and available on the second layer from the
bottom. This section provides a key component called Dalvik Virtual Machine which is
a kind of Java Virtual Machine specially designed and optimized for Android
Linux Kernel
At the bottom of the layers is Linux,This provides basic system functionality like
process management, memory management, device management like camera, keypad,
display etc.

3.3 Application Component


Application components are the essential building blocks of an Android application.
These component are loosely coupled by the application manifest file, i.e;
Android-
-Manifest.xml

Following four main component that can be used within an Android application :
1) Activities :- They dictate the UI and handle the user interaction to the smartphone
screen public class MainActivity extends Activity
{ }
2) Services :- They handle background processing associated with an application
public class MyService extends Service
{ }

3) Broadcast Receivers :- They handle communication between Android OS and


applications public class MyReceiver extends BroadcastReceiver
{ }
4) Content Providers :- They handle data and database management
issues. public class MyContentProvider extends ContentProvider
{ }

3.4 Additional Component :


There are additional components which will be used in the construction of above
mentioned entities, their logic, and wiring between them.They are :
1) Fragments :- Represent a behavior or a portion of user interface in an Activity.
2) Views :- UI elements that are drawn onscreen including buttons, lists forms etc
3) Layouts :- View hierarchies that control screen format and appearance of the views
4) Intents :- Messages wiring components together.
5) Resources :- External elements, such as strings, constants and drawable pictures
6) Manifest :- Configuration file for the application
3.5 Creating our first android app : Displaying “Hello World” :

The first step is to create a simple Android Application using Android Studio.Follow
the option File -> New -> New Project ->Enter application name in the pop-up
window.Then select a Empty activity->next->Activity name->Finish.

(I) Empty Activity selected


(II) Activity name, it automatically create a layout name file related to your activity

Fig. 3.1 Creating Activity

Java coding for hello world : MainActivity.java


(I) MainActivity.java file
(II) Coding and design view of xml file
Fig. 3.2 File extension for MainActivity is activity_main.xml
Result on the Android Virtual Device is :

Fig. 3.3 Android Virtual Device Showing result


My Project- News App:

Functionality of this app:

1) WELCOME PAGE:-
This will be the first page which gets displayed when the user opens the app. This page will contain
the app name and/or app logo.

2) LOG IN PAGE:-
The login page is displayed after the welcome page. The user should be able to enter the mobile
number and password to login into the app. It should perform validations which checks for the length
of mobile number, password and also authenticates the login with the API
REGISTRATION PAGE:-
The page should contain the following fields namely:
Username Email Password and Comfrm password which users will input and register for the app. The
registration process will send the details to the server(Firebase).

If the registration process is successful the app should take the user to the home page which is the page
listing all the newsapps.
Firebase

Firebase is a platform developed by Google for creating mobile and web applications. It was originally
an independent company founded in 2011. In 2014, Google acquired the platform and it is now their
flagship offering for app development

Firebase helps you build and run successful apps · Products and solutions you can rely on through
your app's journey ·

Firebase is a mobile platform that helps you quickly develop high-quality apps, grow your user
base, and earn more money. Firebase is made up of complementary features that you can mix-and-
match to fit your needs, with Google Analytics for Firebase at the core
Connect to Firebase

Firebase is a mobile platform that helps you quickly develop high-quality apps, grow
your user base, and earn more money. Firebase is made up of complementary features
that you can mix-and-match to fit your needs, with Google Analytics for Firebase at the
core. You can explore and integrate Firebase services in your app directly from Android
Studio using the Assistant window

First make sure you have installed Google Repository version 26 or higher, using the
following steps:
1. Click Tools > SDK Manager.

2. Click the SDK Tools tab.

3. Check the Google Repository checkbox, and click OK.

4. Click OK to install.

5. Click Background to complete the installation in the background, or wait for the


installation to complete and click Finish.
You can now open and use the Assistant window in Android Studio by following these
steps:
1. Click Tools > Firebase to open the Assistant window.

2. Click to expand one of the listed features (for example, Analytics), then click
the Get Started tutorial to connect to Firebase and add the necessary code to your app.
 
Add Firebase using the Firebase console
Step 1: Create a Firebase project
Before you can add Firebase to your Android app, you need to create a Firebase project to
connect to your Android app. Visit Understand Firebase Projects to learn more about
Firebase projects.
Create a Firebase project
Step 2: Register your app with Firebase
To use Firebase in your Android app, you need to register your app with your Firebase
project. Registering your app is often called "adding" your app to your project.

1. Go to the Firebase console

2. In the center of the project overview page, click the Android icon (plat_android)


or Add app to launch the setup workflow.

3. Enter your app's package name in the Android package name field.


4. Click Register app.

Step 3: Add a Firebase configuration file

1. Add the Firebase Android configuration file to your app:

a) Click Download google-services.json to obtain your Firebase Android config file


(google-services.json).
b) Move your config file into the module (app-level) directory of your app.

2. To enable Firebase products in your app, add the google-services plugin to your


Gradle files.

a) In your root-level (project-level) Gradle file (build.gradle), add rules to include the
Google Services Gradle plugin. Check that you have Google's Maven repository, as
well.
b) In your module (app-level) Gradle file (usually app/build.gradle), apply the
Google Services Gradle plugin:

Step 4: Add Firebase SDKs to your app


1. Using the Firebase Android BoM, declare the dependencies for the Firebase
products that you want to use in your app. Declare them in your module (app-level)
Gradle file (usually app/build.gradle).

2. Sync your app to ensure that all dependencies have the necessary versions.
Choose Mode of News

Choose Mode of News will be the homepage of the app, meaning when the app is
launched and the user has already once logged into the app then the
user will see the ‘Offline & Online’.

Choose Mode of News

a) OFFLINE

b) ONLINE

OFFLINE NEWS :-
If The User Choose offline Mode of News.

In the app bar it will show the hamburger , setting & home button option.

Offline mode of news will be shown in the linear layout vertical .

NAVIGATION DRAWER:-
The navigation drawer is needed so that the user can navigate to different pages inside
the app. The user should be able to access the navigation drawer on all the app screens
by clicking the hamburger button on the left side of the toolbar or by swiping right from
the left edge. It will have a header section at the top which contains the app logo and
below it should be the name of the Company .
Second Choose Mode of news :- ONLINE NEWS
it Fetch the data From API :- "https://newsapi.org/v2/"

Now the user when click on the online mode of News ...

online news will be shown in linear layout horizontal

It fetch the data from the API "https://newsapi.org/v2/"


CHAPTER 4:
SOME IMPORTANT CONCEPT IN ANDROID

Before going to project that I made we need to know some basic concept of Android
for better understanding.
Since every project that we do in android studio must contain this files:-
.java file
.xml file
AndroidMenifest
file

4.1 .javaFile :
This file include all the codes and logic written in it.
We can open it in the android project -> app -> java -
> com.example.username.filename -> MainActivity.java
When we run our program methods that are called :
- onCreate(Bundle) :- It is used to initialize our activity.
-setContentView(int) :- It is a layout resource defining our User
Interface.
-findViewById(int) :- It is used to retrieve widgets in the that UI that
we need to interact.
-onPause() :- Where we deal with the user leaving activity.

4.2 .xmlFile :
It is used to define the actual User Interface of our application.
We can open the .xml from app -> res ->layout -> ActivityName.xml
We can find all the elements or the tools that we want to use in our project.
It has two different layout i.e; a coding layout where we can code for our required
elements needed like buttons, text views,etc.
Or, we can directly drag and drop the required elements in the given design layout.
The Android framework gives us the flexibility to use either or both
of these methods for declaring and managing our apps UI.

4.3 Manifest File :


Every application must have an AndroidManifest.xml file in its root directory.
It provides an essential information about app to the android system.
It provides us the information about the permission that we hav
given the app to access our device.
No. of activities we have use in our app

4.4ANDROID UI WIDGETS :
A widget is a simple application extension that is often part of a
larger application that are already inbuilt.
It comes in all shapes and sizes, and are customizable and are
available for quick access.

4.5 Some of1UI Widget are:


Button : Android Button represents a push-button. The
android.widget. Button is subclass of TextView class and Compound-Button is the
subclass of Button class. Types of button are : RadioButton , ToggleButton,
ImageButton, etc.

Spinner : Android Spinner is like the drop-down box of AWT or Swing.


It can be used to display the multiple options to the user in which only one item can
be selected.
Android Spinner class is the subclass of AsbSpinner class.

ToggleButton : Android ToggleButton and Switch both are the subclasses of


CompoundButton class.
Android Toggle Button can be used to display checked/unchecked state on
the button.
It is beneficial if user have to change the setting between two
states. Exp : Bluetooth on/off, music sound on/off, etc.

CheckBox : Android CheckBox class is also the subclass of


CompoundButton class.
Android CheckBox can be either checked or unchecked.
We can use more no. of CheckBox.

Many Android application uses our device component such as camera,


Bluetooth,etc. For that all we have to give special permission in the manifest file.

4.6 Camera :
We can directly integrate the camera into your application via the Camera API.
Using the camera on the Android device can be done via integration of the
existing Camera application. In this case you would start the existing Camera
application via an Intent and to get the data after the user returns to our
application.
4.7 Permission given:
In the manifest file we give the following permission to the application to access
the hardware component i.e; camera :
<uses-feature
android:name="android.hardware.Camera"/
>
<uses-permission android:name="android.permission.CAMERA" />
After giving permission to the app we also have to give the special permission to
the app through our device to the location ,
Setting -> apps -> open app -> permission -> camera allow -> close setting
CONCLUSI
ON

After completing this project, I concluded


that this project was the good opportunity to
implement my information that I have learnt
during my Summer Training program.This
project is more informative and more helpful for
understanding the concept of the android app
development.This project is only a small and
easy one but it is enough to implement my
concept. I can further try much harder to make
much more efficient and useful app that can
benefit to other.

You might also like