Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
1 ECOM 5341 Mobile Computing(Android) Eng.Ruba A. Salamah Lecture #1 Introduction Mobile Application 3 A mobile application, most commonly referred to as an app, is a type of application software designed to run on a mobile device, such as a smartphone or tablet computer. Mobile applications frequently serve to provide users with similar services to those accessed on PCs. Apps are generally small, individual software units with limited function . What Is Android? 4 Google’s Andy Rubin describes Android as: The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation. What Is Android? 5 “Android” specifically refers to a mobile operating system (based on Linux) that is developed by Google. It is open- source software, meaning that anyone can download the source code and use or modify it. Android was unveiled in 2007 with the founding of the Open Handset Alliance (OHA). The first publicly available smartphone running Android, the HTC Dream, was released on October 22, 2008. OPEN HANDSET ALLIANCE 6 A business alliance consisting of 47 companies to develop open standards for mobile devices OPEN HANDSET ALLIANCE 7 Phones 8 HTC G1, Droid, Tattoo Suno S880 Motorola Droid (X) Samsung Galaxy @2011 Mihail L. Sichitiu Sony Ericsson Tablets 9 Velocity Micro Cruz Dawa D7 Gome FlyTouch Toshiba Android SmartBook @2011 Mihail L. Sichitiu Acer beTouch Cisco Android Tablet Android Parts 10 Android is made up of several necessary and dependent parts : A hardware reference design (support the software stack). A Linux operating system kernel (low-level hardware interface). Open-source libraries for application development. A run time used to execute and host Android applications including (DVM). An application framework exposes system services to app layer. A user interface framework. Preinstalled applications. A software development kit (SDK) used to creat apps. NATIVE ANDROID APPLICATIONS 11 An e-mail client An SMS management application A full PIM (personal information management) eg. Calender contact list. A WebKit-based web browser A music player and picture gallery A camera and video recording application A calculator The home screen An alarm clock 12 Data collected during a 14-day period ending on June 3, 2013 Why Android 13 No certification is required to become an Android developer. Google Play provides free, up-front purchase, and inapp billing options for distribution and monetization of your applications. There is no approval process for application distribution. Developers have total control over their brands. Why Android 14 Why Android 15 Development Framework 16 Android applications are written using Java as the programming language but executed by means of a custom VM called Dalvik, rather than a traditional Java VM. The SDK The Android SDK includes everything you need to start developing, testing, and debugging Android applications with codes written in Java Native Development Kit also available (NDK) allows developers to implement parts of apps in native-code languages like C/C++ Plug in available to development environment use Eclipse integrated SDK 17 Android APIs libraries, provide developers access to the android stack Development tools, let you compile and debug your application to make it excutable. The Android Virtual Device Manager and emulator, The emulator runs within an Android Virtual Device (AVD) that simulates a device hardware configuration. Using the emulator you can see how your applications will look and behave on a real Android device. Full documentation Sample code to demonstrate possibilities available Android Architecture 18 Android Architecture Application 19 Android provides a set of core applications: Email Client SMS Program Calendar Maps Browser Contacts Etc All applications are written using the Java language. Android Architecture App Framework 20 These are the blocks that our applications directly interacts with. These programs manage the basic functions of phone like resource management, voice call management etc. As a developer, you just consider these are some basic tools with which we are building our applications. Android Architecture App Framework (continue..) 21 The Android framework includes the following key services Feature Role View System Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser Content Provider Enabling applications to access data from other applications or to share their own data Resource Manager Providing access to non-code resources (localized strings, graphics, and layout files) Notification Manager Enabling all applications to display customer alerts in the status bar Activity Manager Managing the lifecycle of applications and providing a common navigation backstack Android Architecture Libraries 22 Including a set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework Android Architecture Runtime 23 Core Libraries Providing most of the functionality available in the core libraries of the Java language APIs Data Structures Utilities File Access Network Access Graphics Etc Android Architecture Runtime (contiue..) 24 Dalvik Virtual Machine Providing environment on which every Android application runs Each Android application runs in its own process, with its own instance of the Dalvik VM. Dalvik has been written such that a device can run multiple VMs efficiently. Android Architecture Runtime (contiue..) 25 Dalvik Virtual Machine (Cont) Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint. Compilation Relying on the Linux Kernel for: Threading Low-level memory management Android Architecture Linex Kernel 26 Relying on Linux Kernel 2.6 for core system services Memory and Process Management Network Stack Driver Model Security Providing an abstraction layer between the H/W and the rest of the S/W st ack