Top Banner

Click here to load reader

of 22

Getting started with android

Apr 12, 2017

Download

Technology

amitgb
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Getting Started With Android

Getting Started With Android

History of AndroidIn 2007, a group of manufacturers, wireless carriers & software developers formed the Open Handset AllianceSome of these includeBroadcom CorporationHTCIntelLGMotorolaSamsungT-MobileGoogle

History of AndroidThe goal was to develop the next generation of wireless platformThe new platform would be nonproprietary & based on open standardsThis would lead to lower development costs & increases profitsRIM Blackberry & Apple iOS were proprietary platforms, so the mobile development community eagerly waited for this new potential platformIn 2008, the OHA announces the Android platform and launched a beta program for developers.

History of AndroidSeveral pre-release versions of the Android SDK were releasedThe first Android handset (T-Mobile G1) began shipping in late 2008

History of AndroidAlmost all major manufacturers have Android based handsetsThe following companies do not have Android PhonesAppleRIMNokia

Easy DevelopmentAndroid breaks the proprietary concept of mobile developmentUnlike with other mobile platforms, there are virtually no costs to developing Android ApplicationsThe Android SDK and tools are freely available on the Android developer websitehttp://developer.android.comThe freely available Eclipse is the most popular IDE for Android DevelopmentSo basically the setup itself is very cheap

Easy DevelopmentThe best part is the development languageAndroid applications are written in Java LanguageJava being the popular language among the developer communityThe learning curve for developers is quite less since they already know JavaThe main thing that they have to understand is the SDK and Tools for development

Some pre-requisites for AndroidJava LanguageXML Eclipse IDESDK

What is Android?Android is a software stack for mobile devices that includes an operating systemMiddlewarekey applicationsThe Android SDK provides the tools and APIs necessary to begin developing applications.

Features of AndroidApplication framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage

Features of AndroidMedia support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Android Architecture

ApplicationsAndroid provides a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.

Application FrameworkAndroid offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar & much moreDevelopers have full access to the same framework APIs used by the core applications

Application FrameworkThe application architecture is designed to simplify the reuse of componentsAny application can publish its capabilities and any other application may then make use of those capabilitiesThis same mechanism allows components to be replaced by the user

Application FrameworkUnderlying all applications is a set of services and systems, including: A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browserContent Providers that enable applications to access data from other applications (such as Contacts), or to share their own dataA Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout filesA Notification Manager that enables all applications to display custom alerts in the status barAn Activity Manager that manages the lifecycle of applications and provides a common navigation backstack

LibrariesAndroid includes a set of libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:Media Libraries - the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNGLibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view3D libraries - an implementation based on OpenGL ES 1.0 APIs;FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications

Android RuntimeEvery Android application runs in its own process, with its own instance of the Dalvik virtual machine (DVM)Dalvik has been written so that a device can run multiple VMs efficiently.The Dalvik VM executes files which are optimized for minimal memory footprint.The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Linux KernelAndroid relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model.The kernel also acts as an abstraction layer between the hardware and the rest of the software stack

Android Development Tools PluginADT Plugin is available for EclipseIt provides the following:-Android project wizardAndroid specific resource editorsAndroid SDK & AVD (Android Virtual Device) ManagerDDMS (Dalvik Debug Monitor Service) perspective for debugging/monitoring appsIntegration with Android LogCat LoggingAutomated builds & application deployment to Android emulators and handsetsApplication packaging and code signing tools for release deployment

Eclipse ?Is Eclipse Necessary for development?NODevelopers can develop Android apps without using the Eclipse IDEHowever by doing so, they are missing the ease of development that Eclipse provides

RememberWhen developing any mobile application, always remember:Screen Size is smallProcessing power is lessResources should be managed properly