Android OS and its Features


Published on

This presentation gives an idea about Android OS and its features

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Android OS and its Features

  1. 1. 23 Sept 2013 Harshad Lokhande Android OS
  2. 2. Contents Contents 4. Advanced Domains Services Audio & Video Camera & Sensors Future Scopes 3. Beyond Basics Telephony & SMS Data Storage Concepts Content Provider Network Services 2. Application Concepts Application Structure Understanding Manifest Working with Activities Intents 1. Basics Introduction History OS Architecture Components Android OS
  3. 3. Contents - Basics Basics • Mobility OS • Market SharesIntroduction • How invented? • Acquired by Google • What's new? • First Open Source Mobile Platform History • Graphical View • Concepts • JAVA & DVM Concepts OS Architecture • Activity • Service • Broadcast Reciever • Content Provider Components 1 Android OS
  4. 4. Introduction Contents – Basics Mobility OS • A mobile operating system (OS) is a software that allows smart phones, tablet PCs and other devices to run applications and programs. • Coding in low-level C or C++, have needed to understand the specific hardware they were coding for, typically a single device • Platforms like Microsoft’s Windows Phone and the Apple iPhone also provide a richer, simplified development environment for mobile applications Android OS
  5. 5. Contents – Basics - Introduction Market Shares Worldwide Mobile’s Market Share Analysis Comparison between Features of Different Mobile OS
  6. 6. History Contents – Basics How Invented ? • Android Inc. was founded in Palo Alto, California in October, 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. • It was a college project. Acquired By Google • Google acquired Android Inc. in August, 2005 • On October 21st, 2008, Android 1.0 became available to the public Android OS First Mobile with Android 1.0
  7. 7. Contents – Basics - History What’s New ? • Android is the first complete, open, and free mobile platform., • low-level interface with the hardware, memory management, and process control, all optimized for mobile and embedded devices First Open Source Mobile Platform • Android is open source and Google releases the code under the Apache License Android OSOHA Systems Android Releases…..!!
  8. 8. OS Architecture Contents – Basics Graphical View & Concepts • The key layers and components that make up the Android open source software stack Android OS •Linux provides the hardware abstraction layer for Android
  9. 9. Contents – Basics – OS Architecture JAVA & DVM Concepts Android OS Different executions based on Type Building Block of App Execution
  10. 10. Components Contents – Basics Activity & Services • An activity is a user interface screen • An intent is a mechanism for describing a specific action, such as ―pick a photo,‖ ―phone home,‖ or ―open the pod bay doors. • A service is a task that runs in the background without the user’s direct interaction Broadcast Receiver & Content Provider • A content provider is a set of data wrapped up in a custom API to read and write it. • Broadcast Receivers enable your application to listen for Intents that match the criteria you specify in real-time Components Android OS
  11. 11. Application Concepts Android Introduction • Exploring Project Application Structure • Building Blocks Application Structure • Closer look • Editing inside • Drawables , Resources & Layouts Understanding Manifest • What’s Activity? • Life Cycle • Activity Callbacks Activities • Introduction • Explicit Intents • Implicit Intents • Returning Result Based Intents Intents Contents – Application Concepts 2 Android OS
  12. 12. App Structure Contents – Application Concepts Exploring Project Application Structure • The folder structure of application is as shown in image. code images files UI layouts constants Autogenerated resource list Application Structure Formation of executable file ―.apk‖ Android OS
  13. 13. Contents – Application Concepts – App Structure Building Blocks Different components of GUI • Following are different components required to build an application. Android OS
  14. 14. Understanding Manifest Contents – Application Concepts Closer look The following XML snippet shows a typical manifest node: <manifest xmlns:android=‖‖ package=―com.demo.myapp― android:versionCode=―1― android:versionName=―0.9 Beta― android:installLocation=―preferExternal―> [ ... manifest nodes ... ] </manifest> Importance of Manifest File Actual View of Setting Manifest File Android OS
  15. 15. Contents – Application Concepts – Understanding Manifest Editing inside • Each of the next three tabs contains a visual interface for managing the application, security, and instrumentation (testing) settings Drawables , Resources & Layouts • Can edit Simple Values, Strings , Colors, Dimensions , Text Fonts , Size ,Names , etc Types of Layout Resource Structure Android OS
  16. 16. Activities Contents – Application Concepts What’s Activity? • Each Activity represents a screen that an application can present to its users • Applications can define one or more activities to handle different phases of the program Life Cycle of Activity Life Cycle & Activity Callbacks • Android applications do not control their own process lifetimes • Run time handles the termination and management of an Activity’s process • The Activity class has a number of callbacks that provide an opportunity for an activity to respond to events such as suspending and resuming. Android OS
  17. 17. Intents Contents – Application Concepts Introduction • Intents are used as a message-passing mechanism that works both within your application and between applications. • Intents are also used to broadcast messages across the system. Explicit Intents & Explicit Intents • Use for Intents is to start new Activities, either explicitly (by specifying the class to load) or implicitly (by requesting that an action be performed on a piece of data). Example of Implicit Intent Android OS
  18. 18. Contents – Application Concepts - Intents Returning Result Based Intents • An Activity started via startActivity is independent of its parent and will not provide any feedback when it closes. • Where feedback is required, you can start an Activity as a sub-Activity that can pass results back to its parent. • When a sub-Activity is finished, it triggers the onActivityResult event handler within the calling Activity. • Native Actions are like ACTION_CALL , ACTION_DIAL , ACTION_PICK , ACTION_WEB_SEARCH ,etc. Code Snippet of Intent Android OS
  19. 19. Beyond Basics Android Introduction • Hardware Requirement • Initiating Phone Calls • Monitoring Changes • Sending SMS & MMS Telephony & SMS • Introducing Android Database • SQLite Database • Values and Cursors Data Storage Concepts • Interface with Data Sources • Content Resolver • Querying Content Provider • Introducing Connectivity Manager • Monitoring Network Connectivity • Bluetooth & WIFI • Using Internet Services Network Services Contents – Beyond Basics 3 Android OS
  20. 20. Telephony & SMS Contents – Beyond Basics Hardware Requirement • Some applications don’t make sense on devices that don’t have telephony support Initiating Phone Calls • Below code starts a dialer Activity that should be pre-populated with the number you specified • Android telephony architecture is split between java and native code. How to call number: Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:502310109" )); startActivity(intent); Permission: • android.permission.CALL_PHONETelephony Manager Android OS
  21. 21. Contents – Beyond Basics - Telephony & SMS Monitoring Changes • Can monitor Telephony changes in real-time. • Activity.RESULT_OK • SmsManager.RESULT_ERROR_GENERIC_FAILURE • PhoneStateListener.LISTEN_CALL_STATE • PhoneStateListener.LISTEN_CELL_LOCATION • PhoneStateListener.LISTEN_DATA_ACTIVITY Sending SMS & MMS • Android provides support for sending both SMS and MMS • But Android API does not include simple support for creating MMS Code Snippet of SMS Manager Code Snippet of MMS Manager Android OS
  22. 22. Data Storage Concepts Contents – Beyond Basics Introducing Android Database • Android provides structured data persistence through a combination of SQLite databases and Content Providers. • Every application can create its own databases over which it has complete control SQLite Database • Used to store application data using a managed, structured approach • SQLite is a well-regarded relational database management system (RDBMS). It is: • Open-source , Standards-compliant , Lightweight , Single-tier • SQLiteOpenHelper is an abstract class used to implement the best practice pattern for creating, opening, and upgrading databases. DB file in Project Values and Cursors • Content Values are used to insert new rows into tables • The Cursor class includes a number of navigation functions : • moveToFirst , moveToPrevious • getColumnNames , getPosition Android OS
  23. 23. Content Provider Contents – Beyond Basics Interface with Data Sources • Content Providers can be shared between applications, queried for results, have their existing records updated or deleted, and have new records added. Content Provider Content Resolver • Each application includes a ContentResolver instance, accessible using the getContentResolver method, as follows: • ContentResolver cr = getContentResolver(); • Content Resolvers are the corresponding class used to query and perform transactions on those Content Providers. Querying • Query results are returned as Cursors over a result Android OS
  24. 24. Network Services Contents – Beyond Basics Introducing Connectivity Manager • With the speed, reliability, and cost of Internet connectivity being dependent on the network technology used (Wi-Fi, GPRS, 3G, LTE, and so on). • Android networking is principally handled via the ConnectivityManager Monitoring Network Connectivity • The Connectivity Manager provides a high-level view of the available network connections • To monitor network connectivity, create a Broadcast Receiver that listens for : ConnectivityManager.CONNECTIVITY_ACTION Broadcast Intents,Supporting Platforms of Communication NFC Android OS
  25. 25. Contents – Beyond Basics - Network Services Bluetooth & WIFI • Bluetooth is a communications protocol designed for short-range, low-bandwidth peer-to-peer communications. • Bluetooth device is controlled via the BluetoothAdapter class • To modify any of the local device properties, the BLUETOOTH_ADMIN permission is also required • We manage the current Wi-Fi connection, scan for access points, and monitor changes in Wi-Fi connectivity by using WIFIManager class • Wi-Fi Direct is a communications protocol designed for medium-range, high-bandwidth peer-to-peer communications Bluetooth Comm. Layer Interface Android OS
  26. 26. Advanced Domains Android Introduction • Introducing Services • Service Life Cycle • Background Threads • Using Alarms Services • Data Types accessible by Android • Playing Audio & Video • Introducing Media Player & Media Effects Audio & Video • Taking Images from Camera Using Intents • Controlling Camera Parameters • Other Sensors like Ambient Light , Gyroscope , Accelerometer , etc Camera & Sensors • Google Gadgets • Security • Introduction to ADK & NDK • Augmented • In App Billing Future Scopes Contents – Advanced Domains 4 Android OS
  27. 27. Services Contents – Advanced Domains Introducing Services • Unlike Activities, which display graphical interfaces, Services run invisibly — doing Internet lookups, processing data, updating your Content Providers, firing Intents, and triggering Notifications • Services are started, stopped, and controlled from other application components, including Activities, Broadcast Receivers, and other Services. Service Life Cycle • The diagram on the left shows the lifecycle when the service is created with startService() and the diagram on the right shows the lifecycle when the service is created with bindService() Android OS
  28. 28. Contents – Advanced Domains - Services Background Threads • Additionally, a component can bind to a service to interact with it and even perform interprocess communication (IPC) • Alternatively, the AsyncTask class lets you define an operation to be performed in the background and provides event handlers that enable you to monitor progress and post the results on the GUI Thread Using Alarms • Alarms are a means of firing Intents at predetermined times or intervals. • Alarms that fire broadcast Intents, start Services, or even open Activities, without your application needing to be open or running Alarm App Activity Android OS
  29. 29. Audio & Video Contents – Advanced Domains Playing Audio & Video • Android API’s are capable of playing and recording a wide range of image, audio, and video formats, both locally and streamed. Data Types accessible by Android • Android 4.0.3 (API level 15) supports the following multimedia formats for playback as part of the base framework. AV Formats Audio Player Sample Video Player Sample Android OS
  30. 30. Contents – Advanced Domains - Audio & Video Introducing Media Player & Media Effects • Android 2.3 (API level 9) introduced a suite of audio effects that can be applied to the audio output of any Audio Track or Media Player. • Android 4.0.3, the following five AudioEffect subclasses : • Equalizer , Virtualizer , BassBoost , PresetReverb , EnvironmentalReverb Audio Framework Video Framework Android OS
  31. 31. Camera & Sensors Contents – Advanced Domains Taking Images using Intents • The easiest way to take a picture from within your application is to fire an Intent using the • MediaStore.ACTION_IMAGE_CAPTURE action: startActivityForResult( new Intent(MediaStore.ACTION_IMAGE_CAPTURE), TAKE_PICTURE); • This launches a Camera application providing your users with the full suite of camera functionality without you having to rewrite the native Camera application. Controlling Camera Parameters • To access the camera hardware directly, you need to add the CAMERA permission to your application manifest: • <uses-permission android:name=”android.permission.CAMERA”/> • Camera settings are stored using a Camera.Parameters object, accessible by calling the getParameters method on the Camera object Android OS :[get/set]SceneMode :[get/set]FlashMode :[get/set]WhiteBalance :[get/set]AutoWhiteBalanceLock :[get/set]FocusMode Camera Parameter API’s
  32. 32. Contents – Advanced Domains - Camera & Sensors Other Sensors • Android supports many other types of sensors like , Accelerometer , Gyroscope , Magnetometer , Ambient Light Sensor , Ambient Temp. Sensor , etc. • To identify the sensors that are on a device you first need to get a reference to the sensor service. • To monitor raw sensor data you need to implement two callback methods that are exposed through theSensorEventListener interface: onAccuracyChanged() and onSensorChanged() Android OSHow to check Sensor ? List of available sensors
  33. 33. Future Scopes Contents – Advanced Domains Google Gadgets • Google Glass is a wearable computer with an optical head-mounted display (OHMD) that is being developed by Google in the Project Glass research and development project • The main way to operate the glasses is through voice commands, and by tilting your head. Android OS
  34. 34. Contents – Advanced Domains – Future Scopes Introduction to ADK & NDK • The Accessory Development Kit (ADK) is a reference implementation for hardware manufacturers and hobbyists to use as a starting point for building accessories for Android • The ADK 2012 is based on the Arduino open source electronics prototyping platform, with some hardware and software extensions that allow it to communicate with Android devices • The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. • The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms. In App Billing • In-App Billing (IAB) is a Google Play service that can be used as an alternative to charging up-front for an application • IAB has proven to be a powerful new monetization option for application developers Android OS Security • Each Android package has a unique Linux user ID assigned to it during installation. This has the effect of sandboxing the process and the resources it creates, so that it can’t affect (or be affected by) other applications. Augmented Reality • Augmented Reality is the virtual technique , by which 3D images , maps , etc can be visualized by spotting camera on special codes.
  35. 35. Thank you