Sunday, 9 September 2018

Android Beginners

What is Android

Before learning all topics of android, it is required to know what is android.

Android is a software package and linux based operating system for mobile devices such as tablet computers and smartphones.

It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly used to write the android code even though other languages can be used.

The goal of android project is to create a successful real-world product that improves the mobile experience for end users.

There are many code names of android such as Alpha , Beta , cupcake , Donut ,  Eclair , Froyo , Gingerbread , Honeycomb , Ice Cream Sandwich , Jelly Bean , Kitkat , Lolipop , Marshmallow , Nougat , Oreo  etc are lunched .


It contains a linux-based Operating System, middleware and key mobile applications.

It can be thought of as a mobile operating system. But it is not limited to mobile only. It is currently used in various devices such as mobiles, tablets, televisions electronic book readers, set-top boxes etc.

What is Open Handset Alliance (OHA)

It's a consortium of 84 companies such as google, samsung, AKM, synaptics, KDDI, Garmin, Teleca, Ebay, Intel etc.

It was established on 5th November, 2007, led by Google. It is committed to advance open standards, provide services and deploy handsets using the Android Plateform

Features of Android

After learning what is android, let's see the features of android. The important features of android are given below:

1)  It is open-source.
2)  Anyone can customize the Android Platform.
3)  There are a lot of mobile applications that can be chosen by the consumer.
4)   It provides many interesting features like weather details, opening screen, live RSS (Really Simple Syndication) feeds etc.
It provides support for messaging services(SMS and MMS), web browser, storage (SQLite), connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc.



Categories of Android applications

There are many android applications in the market. The top categories are:

·         Entertainment

·         Tools
·         Communication 
·         Productivity
·         Personalization

·         Music and Audio
·         Social 
·         Media and Video
·         Travel and Local etc.


History of Android

The history and versions of android are interesting to know. The code names of android ranges from A to J currently, such as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat and Lollipop. Let's understand the android history in a sequence.

1)   Initially, Andy Rubin founded Android Incorporation in Palo Alto, California, United States in October, 2003.

2)   In 17th August 2005, Google acquired android Incorporation. Since then, it is in the subsidiary of Google Incorporation.

3)   The key employees of Android Incorporation are Andy Rubin, Rich Miner, Chris White and Nick Sears.

4)   Originally intended for camera but shifted to smart phones later because of low market for camera only.

5)  Android is the nick name of Andy Rubin given by coworkers because of his love to robots.

6)  In 2007, Google announces the development of android OS.

In 2008, HTC launched the first android mobile


Android Versions, Code Name and API

Let's see the android versions, code names and API Level provided by Google.
      
Version Code Name API level
1.0
  No Code Name
1
1.1
  Petit Four
2
1.5
  Cupcake
3
1.6
  Donut
4
2.0 - 2.1
  Eclair
5 - 7
2.2 – 2.2.3    
Froyo
8
2.3 – 2.3.7
Gingerbread
9 - 10
2.3 – 2.3.7
Honeycomb
11 - 13
4.0 – 4.0.4
ice Cream sandwich
14 – 15
4.1 – 4.3.1
Jelly Bean
16 - 18
4.4 – 4.4.4
KitKat
19 – 20
5.0 – 5.1.1
Lollipop
21 - 22
6.0 – 6.0.1
Marshmallow
23
7.0 – 7.1.2
Nougat
24 - 25
8.0 – 8.1
Oreo
26 – 27
9.0
Pie
28



Android Architecture

android architecture or Android software stack is categorized into five parts:

1.      linux kernel

2.      native libraries (middleware),
3.      Android Runtime

4.      Application Framework
5.      Applications




1) 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.

2) Native Libraries


On the top of linux kernel, their are Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc.

The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats.


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.




4) Android 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.




5) 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 kernal.Android Virtual Device (AVD)
It is used to test the android application without the need for mobile or tablet etc. It can be created in different configurations to emulate different types of real devices



Android Emulator


Android Emulator is used to run, debug and test the android application. If you don't have the real device, it can be the best way to run, debug and test the application.

It uses an open source processor emulator technology called QEMU.

The emulator tool enables you to start the emulator from the command line. You need to write:

emulator -avd <AVD NAME>

In case of Eclipse IDE, you can create AVD by Window menu > AVD Manager > New.

we can Test And Run Any android application in  Any Android Device or Virtual Device Such as android emulator



Now days Many emulators are available on google such as Bluestacks , AMIDuOS ,
Jar of Beans ,  AMD AppZone , YouWave , GenyMotion etc..

To Make Android App android studio required.



 Before Making App we need to understand a android Life cycle



onCreate()
Called when the activity is first created. This is where you should do all of your normal static set up: create views, bind data to lists, etc. This method also provides you with a Bundle containing the activity's previously frozen state, if there was one. Always followed by onStart().

onRestart():
Called after your activity has been stopped, prior to it being started again. Always followed by onStart()

onStart():
Called when the activity is becoming visible to the user. Followed by onResume() if the activity comes to the foreground, or onStop() if it becomes hidden.

onResume():
Called when the activity will start interacting with the user. At this point your activity is at the top of the activity stack, with user input going to it. Always followed by onPause()

onPause ():
Called as part of the activity lifecycle when an activity is going into the background, but has not (yet) been killed. The counterpart to onResume(). When activity B is launched in front of activity A, this callback will be invoked on A. B will not be created until A's onPause() returns, so be sure to not do anything lengthy here.

onStop():
Called when you are no longer visible to the user. You will next receive either onRestart(), onDestroy(), or nothing, depending on later user activity.
Note that this method may never be called, in low memory situations where the system does not have enough memory to keep your activity's process running after its onPause() method is called.


onDestroy():
The final call you receive before your activity is destroyed. This can happen either because the activity is finishing (someone called finish() on it, or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between> these two scenarios with the isFinishing() method.

if You want learn more about it then go to this link 

No comments:

Post a Comment

Android Beginners