Monday, 20 July 2015

Android Application components

                                         Application component are the building block of android app.Each component is a different point through which the system can enter your app.Some component depends on each other but each one exits as it own entity and plays a specific role. There are five main components.They are
                                                 
                                              ACTIVITY

                                              SERVICE
                                              CONTENT PROVIDER
                                              BROADCAST RECEIVERS
                                              INTENT   
1. ACTIVITY           
                          Activity is individual user interface  screen in an android application where visual elements called view can be placed and the user can perform various action by interacting with it.
   

                            

Wednesday, 15 July 2015

Android Architecture


  • Android OS is made up of different layers.
  • Each layer provides different  services to the layer just above it.
                                  Android architecture consist of five layers. They are
                                   
                                                 1. Linux kernel
                                                 2. Libraries
                                                 3. Android run-time
                                                 4. Application framework
                                                 5. Application 
 
                                             


Fig:: Architecture of android OS

1.  LINUX KERNEL                                                                                                     
                                 Linux kernel is one of the largest open source project in the world. The whole android os is built on the top of the Linux kernel with some architectural changes. It simply says android is the core of linux kernel  but you cannot run any linux packages in android. Linux kernel contains all the necessary hardware drivers, Drivers are the program which can control and communicate the hardware devices. For EX all the device have audio function so the kernel needs to include the audio driver  to communicate with the audio hardware. 

2.  LIBRARIES
                                 It is the layer that enables the device to handle different types of data. These libraries are written in C or C++ language. Some of the important libraries are explained below,
  

  • Surface Manager:: It is used for composting window manager with off-screen buffering. This off-screen buffering is the reason behind the transparency of windows.  

  • Media framework:: It provides different media codes for allowing the recording and playback of different media format.
  • SQlite:: It is a android database engine for data storage purpose.
  • Webkit:: It is the browser engine used to display the HTML content.
  • OpenGL:: It is used to render the 2D and 3D graphic content to the screen.
3. ANDROID RUN TIME
                             
                                 Android Run time consist of Delvik Virtual Machine and Libraries core.
       
      1. Delvik Virtual Machine(DVM)
                                  It is a android virtual machine optimized for mobile devices.It optimize the virtual machine for memory, performance and battery life. It doesn't run  .class file like JVM , instead of that it runs .dex (Delvik executable) file. Dex compiler converts the .class file into .dex file.

                            
                                          ART(Android Run Time)  completely replaced  DVM in the newest version of android (lollipop).

 2. Libraries core
                                 These are different from java SE and java ME libraries.

4. APPLICATION FRAMEWORK
                                        
                                          These are the blocks that our application directly interact with. These programs manages the basic functions of phones like resource management, call  management etc..
Some of the important blocks are

  • Activity manager:: Manages the activity life cycle of application.
  • Location manager::Location management using GPS and cell towers.        
  • Telephony manager::It manages all the voice calls. Telephony manager is used if we want to access the video calls in the application.
5.APPLICATION
       
                                      It is the top layer in the architecture of the android OS and this is where our our application gonna fix init.Several standard application are pre-installed in the device. Some of them are 
                      


                                                                   1. SMS client app
                                                                   2. Dialer
                                                                   3. Web browser

Monday, 13 July 2015

Today I learned some basic things like JVM, java class file and java compiler.


  • Javac(java compiler) command compiles the java source code in to  java byte code.
  • JVM(Java Virtual Machine) is a platform independent executable environment which executes the java byte code into machine language.                                                                                              
  • Java  class file is a file that contain the java byte code that can be executed by java virtual machine..                                                                                                                                                               
Yesterday I started to learn about android application.
Its very interesting to learn the new things...
I downloaded the latest SDK tool for the creation of android apps.
I installed it in my laptop and I successfully created  the first project "HELLO WORLD!". With out using real devices I got output in laptop itself with the help of the EMULATOR.

Successfully I  finished my B.E in computer science. 
Now  I started to learn about android programs. 
I wish to share  my learning through this blog..