290 likes | 585 Views
Handheld Device Open Source OS. Agenda. Android Overview Wireless application Protocol (WAP) Open Handset Alliance Android Platform Differences Android Platform Developing our first Android App. Android Overview. Linux based operating system Andy Rubin, Rich Miner,
E N D
Agenda • Android Overview • Wireless application Protocol (WAP) • Open Handset Alliance • Android Platform Differences • Android Platform • Developing our first Android App
Android Overview • Linux based operating system • Andy Rubin, Rich Miner, Nick Sears and Chris White founded Android in October 2003 • Google bought Android Inc. in 2005 • Intended for smartphones and tablets
Wireless Application Protocol (WAP) • Standard used in mobile wireless networks for accessing information • WAP Browser is used by mobile phones to access the Internet • Micro-browser just similar to the existing web browsers • Mark-up Language WML • Gateway feature • Telephony functions
WAP Applications • Real-time traffic reporting, hotel recommendations • Travelling reservation systems • Bill payment, fund transfers • Online gaming • Online Shopping, location based offers
Open Handset Alliance (OHA) • Consortium of various members in order to develop an open standard • Google provides a more open environment for users and developers • Internet Model provides freedom of choice • Manufacturers, Mobile Operators, Content Providers • Advantages of Android?
Android Platform • Complete • Open • Free • Familiar & Inexpensive development tools • Android Market i.e. Google Play Store
Android Platform • Each handset runs on a Linux OS • Linux 2.6 Kernel handles core system services. • Hardware Abstraction Layer (HAL) • Functions of the Linux Kernel • Low level memory management • Process Management • Permission and Security • Accessing device drivers for display, camera etc.
Architecture • Android App runs in a separate process on a Dalvik Virtual Machine (DVM) • A new user profile is associated with an application. Each App runs a different user • Provides a secure computing environment
Development • Android apps are written in JAVA • Code can be written in C or C++ and later integrated using Native Development Kit (NDK) • Interaction with OS and underlying hardware • Location Manager • Connection Manager
Configuring Developing Environment • Android Apps can be developed on Windows, Macintosh, and Linux based systems • Requirements: • Java Development Kit (JDK) • Java Integrated Development Environment (IDE) • Android Software Development Kit (SDK) • Android Development Tools (ADT)
Documentation • Home: General Starting point. Important announcements and links • SDK: Different SDK versions available • Dev guide: Application design & development • Reference guide: Android API along with classes • Resources: Android technical articles and sample applications • Videos: Access to online videos related to App development • Blog: Access to online blog published by Android Development Team
Android Development Tools Android SDK and AVD Manager • Management of multiple versions of Android SDK • Android Virtual Device (AVD) Configurations
Android Development Tools Android Emulator • Emulates your mobile device on your computer.
Android Development Tools Dalvik Debug Monitor Server (DDMS) • Command line tool integrated in Eclipse • View and manage processes and threads running on a device Android Debug Bridge • Client Server tool to debug your Android Code on the emulator Android Hierarchy Viewer • Laying out components while developing the GUI
Creating, Running & Debugging • Install Java Development Kit (JDK) • Download and Install Android SDK from http://developer.android.com/sdk/index.html • Installing the Eclipse Plug-in • Installing the SDK Components
Installing the Android Plug-in Help Install New Software
Installing the Android Plug-in http://dl-ssl.google.com/android/eclipse
Configuring the Android Plug-in • Click on Windows Preferences Android • Browse to where Android SDK Tools are located • Click Apply, then OK
Hello, World • Starting Eclipse • Starting New Project • Writing JAVA Code • Setting up Emulator