Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android development training programme Day 1


Published on

Published in: Education

Android development training programme Day 1

  1. 1. 1Day 1Session 1What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware and key applications.  Android gives you a world-class platform for creating apps and games for Android usersAndroid version  Android 1.0  Android 1.1  Cupcake 1.5  Donut 1.6  Éclair 2.0/2.1  Froyo 2.2.x  Gingerbread 2.3.x  Honeycomb 3.x  Ice Cream Sandwich 4.0.x  Jelly Bean 4.1 Being an Android user you may know how the basic functions such as making a call, sending a text message, changing the system settings, install or uninstall apps etc. Well! All Android users know these, but not enough for a developer. Then what else details are a developer required to know about Android, I’ll explain. To be a developer, you should know all the key concepts of Android. That is, you should know all the nuts and bolts of Android OS. @COPYRIGHTS BY Dhiraj P. karalkar (
  2. 2. 2Android ArchitectureThe above figure shows the diagram of Android Architecture. The Android OS can be referred to as asoftware stack of different layers, where each layer is a group of sveral program components. Togetherit includes operating system, middleware and important applications. Each layer in the architectureprovides different services to the layer just above it. We will examine the features of each layer in detail.Linux KernelThe basic layer is the Linux kernel. The whole Android OS is built on top of the Linux 2.6 Kernel withsome further architectural changes made by Google. It is this Linux that interacts with the hardware andcontains all the essential hardware drivers. Drivers are programs that control and communicate with thehardware. For example, consider the Bluetooth function. All devices has a Bluetooth hardware in it.Therefore the kernel must include a Bluetooth driver to communicate with the Bluetooth hardware. TheLinux kernel also acts as an abstraction layer between the hardware and other software layers. Androiduses the Linux for all its core functionality such as Memory management, process management,networking, security settings etc. As the Android is built on a most popular and proven foundation, itmade the porting of Android to variety of hardware, a relatively painless task. @COPYRIGHTS BY Dhiraj P. karalkar (
  3. 3. 3LibrariesThe next layer is the Android’s native libraries. It is this layer that enables the device to handledifferent types of data. These libraries are written in c or c++ language and are specific for aparticular hardware.Some of the important native libraries include the following:Surface Manager: It is used for compositing window manager with off-screen buffering. Off-screenbuffering means you cant directly draw into the screen, but your drawings go to the off-screen buffer.There it is combined with other drawings and form the final screen the user will see. This off screenbuffer is the reason behind the transparency of windows.Media framework: Media framework provides different media codecs allowing the recording andplayback of different media formatsSQLite: SQLite is the database engine used in android for data storage purposesWebKit: It is the browser engine used to display HTML contentOpenGL: Used to render 2D or 3D graphics content to the screenAndroid RuntimeAndroid Runtime consists of Dalvik Virtual machine and Core Java libraries.Dalvik Virtual MachineIt is a type of JVM used in android devices to run apps and is optimized for low processing power andlow memory environments. Unlike the JVM, the Dalvik Virtual Machine doesn’t run .class files, insteadit runs .dex files. .dex files are built from .class file at the time of compilation and provides hifgerefficiency in low resource environments. The Dalvik VM allows multiple instance of Virtual machine tobe created simultaneously providing security, isolation, memory management and threading support. It isdeveloped by Dan Bornstein of Google.Core Java LibrariesThese are different from Java SE and Java ME libraries. However these libraries provides most of thefunctionalities defined in the Java SE libraries. @COPYRIGHTS BY Dhiraj P. karalkar (
  4. 4. 4Application FrameworkThese are the blocks that our applications directly interacts with. These programs manage the basicfunctions of phone like resource management, voice call management etc. As a developer, you justconsider these are some basic tools with which we are building our applications.Important blocks of Application framework are:Activity Manager: Manages the activity life cycle of applicationsContent Providers: Manage the data sharing between applicationsTelephony Manager: Manages all voice calls. We use telephony manager if we want to access voicecalls in our application.Location Manager: Location management, using GPS or cell towerResource Manager: Manage the various types of resources we use in our ApplicationApplicationsApplications are the top layer in the Android architecture and this is where our applications are gonna fit.Several standard applications comes pre-installed with every device, such as:  SMS client app  Dialer  Web browser  Contact managerAs a developer we are able to write an app which replace any existing system app. That is, you are notlimited in accessing any particular feature. You are practically limitless and can whatever you want to dowith the android (as long as the users of your app permits it). Thus Android is opening endlessopportunities to the developer. @COPYRIGHTS BY Dhiraj P. karalkar (
  5. 5. 5Session 2Setting android environment Please refer the PDF Day_1_Set up Andoid Environment.pdfCreate project using Eclipse @COPYRIGHTS BY Dhiraj P. karalkar (
  6. 6. 6@COPYRIGHTS BY Dhiraj P. karalkar (
  7. 7. 7Session 3Understanding an android application structuresrc:in the src we keep all the java fileres: we dump the resources into the res folder where we keep all the images , layouts and more ondrawable: here we keep all the images required for an applicationlayout: in the layout folder we keep all the layout related xml filesvalue : in the value folder we add the parameters such as String , dimen , stylesUnderstanding the LDPI , MDPI , HDPI  small screens are at least 426dp x 320dp  normal screens are at least 470dp x 320dp  large screens are at least 640dp x 480dp  xlarge screens are at least 960dp x 720dp @COPYRIGHTS BY Dhiraj P. karalkar (
  8. 8. 8Session 4Introduction to android components  Activities  Services  Content providers  Broadcast receivers Activity  Activity : In Android, an activity is represent a single screen.  Most applications have multiple activities to represent different screens.  Any user interface screen is called as an activity. Service  A Service is a component which runs in the background, without interacting with the user.  For example, a service might handle network transactions, play music, perform file I/O, or interact with a content provider, all from the background. Content Providers  Content Providers are the only way to share data across Android applications. They store and retrieve data thus making it accessible to all.  Android platform provides default implementations of content providers for data types like audio, video, images, contact information etc. Broadcast receivers  A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the system—  For example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured. @COPYRIGHTS BY Dhiraj P. karalkar (