





























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Jabajakakakakbnana jaiajaja jakanana ajajjaan ahahabbaba aajannajaa ajajajjw wwjna aha aab a
Typology: Assignments
1 / 37
This page cannot be seen from the preview
Don't miss anything!






























VI Semester
Syllabus
Syllabus
Android Platform ๏ (^) Android is a mobile operating system based on a modified version of the Linux kernel and other open source software. ๏ (^) Designed primarily for touchscreen mobile devices such as smartphones and tablets. ๏ (^) Android is developed by a consortium of developers known as the Open Handset Alliance and commercially sponsored by Google. ๏ (^) It was unveiled in November 2007, with the first commercial Android device launched in September 2008. ๏ (^) It is free and open source software; its source code is known as Android Open Source Project (AOSP), primarily licensed under the Apache License.
History of Android ๏ (^) Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. ๏ (^) The early intentions of the company were to develop an advanced operating system for digital cameras. ๏ (^) Five months later it had diverted its efforts and was pitching Android as a handset operating system. ๏ (^) In July 2005,Google acquired Android Inc. ๏ (^) At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. ๏ (^) On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, HTC, Motorola and Samsung, wireless carriers such as Sprint and T-Mobile, Qualcomm and Texas Instruments, unveiled itself, with a goal to develop "the first truly open and comprehensive platform for mobile devicesโ.
Android Software Stack
Android software stack ๏ (^) Linux kernel: It is the heart of android architecture that exists at the root of android architecture. Linux kernel is responsible for device drivers, power management, memory management, device management and resource access. ๏ (^) Native libraries: On the top of linux kernel, there are Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc. ๏ (^) The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats. ๏ (^) Android Runtime: In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android application. DVM is like JVM but it is optimized for mobile devices. It consumes less memory and provides fast performance.
Application Fundament als ๏ (^) Android apps can be written using Kotlin, Java, and C++ languages. ๏ (^) The Android SDK tools compile your code along with any data and resource files into an APK, an Android package, which is an archive file with an .apk suffix. ๏ (^) One APK file contains all the contents of an Android app and is the file that Android-powered devices use to install the app. ๏ (^) Each Android app lives in its own security sandbox, protected by the following Android security features: ๏ (^) The Android operating system is a multi-user Linux system in which each app is a different user. ๏ (^) By default, the system assigns each app a unique Linux user ID (the ID is used only by the system and is unknown to the app). The system sets permissions for all the files in an app so that only the user ID assigned to that app can access them. ๏ (^) Each process has its own virtual machine (VM), so an app's code runs in isolation from other apps. ๏ (^) By default, every app runs in its own Linux process. The Android system starts the process when any of the app's components need to be executed, and then shuts down the process when it's no longer needed or when the system must recover memory for other apps.
App components ๏ (^) App components are the essential building blocks of an Android app. Each component is an entry point through which the system or a user can enter your app. Some components depend on others. ๏ (^) There are four different types of app components: ๏ (^) Activities ๏ (^) Services ๏ (^) Broadcast receivers ๏ (^) Content providers ๏ (^) Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed.
App components Services ๏ (^) A service is a general-purpose entry point for keeping an app running in the background for all kinds of reasons. It is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might play music in the background while the user is in a different app, or it might fetch data over the network without blocking user interaction with an activity. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it.
App components ๏ (^) Broadcast receivers ๏ (^) A broadcast receiver is a component that enables the system to deliver events to the app outside of a regular user flow, allowing the app to respond to system-wide broadcast announcements. Because broadcast receivers are another well-defined entry into the app, the system can deliver broadcasts even to apps that aren't currently running. So, for example, an app can schedule an alarm to post a notification to tell the user about an upcoming event... and by delivering that alarm to a BroadcastReceiver of the app, there is no need for the app to remain running until the alarm goes off. 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. Apps can also initiate broadcastsโfor example, to let other apps know that some data has been downloaded to the device and is available for them to use. Although broadcast receivers don't display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs. ๏ (^) A broadcast receiver is implemented as a subclass of BroadcastReceiver and each broadcast is delivered as an Intent object.
Android Virtual Device (AVD) ๏ (^) Android Virtual Device (AVD): It is used to test the android application without the need for mobile or tablet etc. It can be created in different configurations to emulate different types of real devices. ๏ (^) Android Emulator: The Android emulator is an Android Virtual Device (AVD), which represents a specific Android device. We can use the Android emulator as a target device to execute and test our Android application on our PC. The Android emulator provides almost all the functionality of a real device.
Activity ๏ (^) An activity is the entry point for interacting with the user. ๏ (^) It represents a single screen with a user interface. ๏ (^) For example, an email app might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. ๏ (^) Although the activities work together to form a cohesive user experience in the email app, each one is independent of the others. ๏ (^) As such, a different app can start any one of these activities if the email app allows it. For example, a camera app can start the activity in the email app that composes new mail to allow the user to share a picture.