0% found this document useful (0 votes)
107 views15 pages

Android Dissertation Assignment

This document provides an overview of Android: - It begins with a brief history of Android's origins as a digital camera operating system project in 2003, its transition to smartphones in 2004, and its acquisition by Google in 2005. - Key details about Android versions 10, 11, and 12 are summarized, highlighting new user and developer features. - The advantages of Android include customization, easy publishing and access to apps, while disadvantages include more complex coding, security issues, and device fragmentation. - It discusses Android's architecture including the Linux kernel, libraries, application framework and runtime layers.

Uploaded by

Ayanda Paige
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views15 pages

Android Dissertation Assignment

This document provides an overview of Android: - It begins with a brief history of Android's origins as a digital camera operating system project in 2003, its transition to smartphones in 2004, and its acquisition by Google in 2005. - Key details about Android versions 10, 11, and 12 are summarized, highlighting new user and developer features. - The advantages of Android include customization, easy publishing and access to apps, while disadvantages include more complex coding, security issues, and device fragmentation. - It discusses Android's architecture including the Linux kernel, libraries, application framework and runtime layers.

Uploaded by

Ayanda Paige
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

COMMERCE AND

COMPUTER COLLEGE OF
SOUTH AFRICA (PTY) LTD
PROGRAMMING 4a- Android

NAME: AYANDA PAGE


SURNAME: MAGCABA
EMAIL ADDRESS: [email protected]
CONTENTS

1. Provide a brief history of Android, ....................3


2. Comparison between the last three..................4
3. Advantages and Disadvantages of.....................6
4. Common Interoperability and Co......................7
5. Detailed discussion on the Android...................7
6. Provide a discussion on the Android..................8
7. Discuss the ability of Android to run..................9
8. Discuss the differences between Android..........10
9. Explain in detail the programming language......11
10. Discuss the security concerns of the .........12
11. Memory Management of the Android.......13
1. ANDROID.
- Operating system for cellular telephones and tablet computers.
Android began in 2003 as a project of the American technology
company Android Inc, to develop an operating system for
digital cameras. In 2004 the project changed to become an
operating system for smartphones. Android Inc, was bought by
the American search engine company Google Inc, in 2005. At
Google, the Android team decided to base their project on
Linux, an open-source operating system for personal
computers.

- On November5, 2007, Google announced the founding of the


Open Handset Alliance, a Consortium of dozens of technologies
and mobile telephone companies, including Intel Corporation,
Motorola, Inc., NVIDIA Corporation, Texas Instruments
Incorporated, LG Electronics, Inc., Samsung Electronics, Sprint
Nextel Corporation, and T-Mobile (Deutsche Telekom). The
consortium was created in order to develop and promote
Android as a free open-source operating system with support
for third-party applications. Android-based devices use wireless
networks in order to take full advantage of features such as
one-touch Google searches, Google Docs (e.g., word editors,
spreadsheets), and Google Earth (satellite mapping software).

- The first cellular telephone to feature the new operating


system was the T-Mobile G1, released on October 22, 2008. In
2012 Android became the most popular operating system for
mobile devices, surpassing Apple’s iOS, and, as of 2020, about
75 percent of mobile devices run Android.
2. Android 10
- Released 2019 September 3.

Key user features added


- Better privacy support:
 Require permissions to access location or files in background.
 Limit access to unique device identifiers.
- Access system settings directly from apps using floating panel.
- New audio/video codec support: AV1, HDR10+, Opus.
- WPA3 Wi-Fi support.
- Foldable phones support
- Dark theme
- Gesture navigation

Key developer features added


- MIDI API
- Notification Bubbles
- In apps Biometric authentication

API Level
- 29

Version Name
- Queen Cake

Android 11
- Released 2020 September 8.

Key user features added


- Screen recording
- Better permissions settings
- Messaging bubbles
- Ethernet Tethering

Key developer features added


- 5G app support
- Captive portal API
- Shared datasets
- Wireless debugging

API Level
- 30

Version name
- Red Velvet Cake

Android 12
- Released 2021 Q3

Key user features added


- More customizable UI (could adjust the whole UI depending on
the selected wallpaper)
- Security and privacy enhancements like a timeline to know
what data your applications

Key developer features added


- “Material You” design language
- Android Private Compute Core
- AV1 image File Format support (AVIF)

API Level
- 31
Version name
- Snow Cone

3. ADVANTAGES
ANDROID
- Android is more Customizable can change almost anything.
- In Android, any new publication can be done easily and without
any review process.
- Use a Different Messaging App for SMS.
- Android offers an open Platform.
- Easy access to the Android App Market.
- Cost Effective.
- Upcoming versions have a support to save RAW images.
- Built in Beta Testing and staged rollout.
- Native integration with Google cloud storage. 15GB free,
$2/mo. for 100GB, 1TB for $10. Apps available for Amazon
Photos, OneDrive and Dropbox.
- Booming Job Prospects.

DISADVANTAGES
- Usually, you need more code on Java than Objective-C.
- Complex layouts and animations are harder to code in Android.
- Applications contains virus also present in Android Market.
- A lot of “process” in the background that led to the battery
quickly drains.
- Advertise, will always be ads on display, either the top or
bottom of the application.
- Low Security and fake apps can be installed to steal your
information from unknown resources.
- High device fragmentation.
4. Android is designed to run on many different types of devices,
from phones to tablets and televisions. As a developer, the
range of devices provides a huge potential audience for your
app. In order for your app to be successful on all these devices,
it should tolerate some feature variability and provide a flexible
user interface that adapts to different screen configurations.

 To facilitate your effort toward that goal, Android provides a


dynamic app framework in which you can provide
configuration-specific app resources in static files (such as
different XML layouts for different screen sizes). Android then
loads the appropriate resources based on the current device
configuration. So with some forethought to your app design
and some additional app resources, you can publish a single
application package (APK) that provides an optimized user
experience on a variety of devices.

 If necessary, however, you can specify your app’s feature


requirements and control which types of devices can install
your app from Google Play Store.

5. Application
- Application is the top layer of android architecture. The pre-
installed application like home, contacts, camera, gallery etc.
And third-party applications downloaded from the play store
like WhatsApp, games etc. Will only be installed in this layer.
Linux Kernel
- At the bottom of the layers in Linux. Linux 3.6 with appropriate
115 patches. This provides a level of abstraction between the
device hardware and it contains all the essential hardware
drivers like camera, keypad, display etc. Also, that Linux is really
good at such as networking and a vast array of device drivers,
which take the pain out of interfacing to peripheral hardware.

Libraries
- On top of Linux kernel there is a set of libraries including open-
source Web browser engine Web Kit, well known library libc,
SQLite database which is a useful repository for storage and
sharing of application data, libraries to play and record audio
and video, SSL libraries responsible for Internet security etc.

Android Libraries
- This category encompasses those Java-based libraries that are
specific to Android development. Examples of libraries in this
category include the application framework libraries in addition
to those that facilitate user interface building, graphics drawing
and database access. A summary of some key core Android
libraries available to the Android developer is as follows:
android. App, android. Content, android. Database, android.
Opengl, android. Os, android. Text, android. View, android.
Widget, android. Web kit.

Application Framework
- The application framework layer provides many higher-level
services to applications in the form of Java classes. Application
developers are allowed to make use of these services in their
applications. Android framework includes the following key
services: Activity Manager, Content Providers, Resources
Manager, Notifications Manager, View System.

Android Runtime
- This is the third section of the architecture and available on the
second layer from the bottom. This section provides a key
component called Dalvik virtual Machine which is a kind of
Java Virtual Machine specially designed and optimized for
Android.
- The Dalvik VM makes use of Linux core features like memory
management and multi-threading, which is intrinsic in the Java
language. The Dalvik VM enables every Android application to
run in its own process, with its own instance of the Dalvik
virtual machine.
- The Android runtime also provides a set of core libraries which
enable Android application developers to write Android
applications using standard Java programming language.

6. API level: Minimum android version supported, its mostly


known by the developer. There have been many major changes
between APIs in Android. Support v4 and v7-compat libraries
do help a lot, but they don't cover all aspects.
- Device capabilities: note down all the features your app uses.
(Like has touch screen, has camera, accelerometer, network
connectivity etc).
- RAM: use DDMS/ANDROID STUDIO to see real time memory
usage, on emulator and on a real device. Try to use as much as
ram you can use, by triggering various functions of the App,
keep it running for long intervals of time.

7. App is a common term for an application, especially for simple


applications that can be downloaded inexpensively or even for
free. Many, apps are also available for mobile devices and even
some TVs.
Mobile Apps
- Desktop and laptop computers aren’t the only devices that can
run applications. You can also download apps for mobile
devices like smartphones and tablets. Here are some examples
of mobile apps.
 Gmail: you can use the Gmail app to easily view and send
emails from your mobile device. It's available for Android and
iOS devices.
 Instagram: you can use Instagram to quickly share photos with
your friends and family. It’s available for Android and iOS.

8. IOS is a closed system whereas Android is more open. User


have barely any system permissions iOS but in Android, users
can customize their phones easily.
- Android software is available for many manufacturers such as
Samsung, LG etc. And this may lead to some quality problems
in the cheaper phones.
- The Android applications are obtained from Google Play while
iOS applications are available in the Apple app store.
- Integration with other devices is better in Apple iOS as
compared to Google Android.
- There are different voice assistants for iOS and Android namely
Siri and Google Assistant. Google assistant is much more
powerful than Siri.
- The running speed of iOS devices remains consistent with time.
In contrast to this, the performance of Android devices may
decline over time.

9. JavaScript
- Is used to develop interactive web applications. JavaScript can
power featured like interactive images, carousels, and forms.
The language can to use with back-end frameworks like Node.
Js to power the mechanics behind a web page, such as form
processing and payments. First appeared December 4, 1995; 26
years ago. Designed by Brendan Eich of Netspace initially;
others have also contributed to the ECMAScript standard.
Stable release ECMAScript 2021/ June 2021; 10 months ago.

Kotlin
- Is an open-source statically typed programming language that
targets the JVM, Android, JavaScript and Native. It’s developed
by JetBrains. The project started in 2010 and was open source
from very early on. The first official 1.0 release was February
2016.

React Native
-is an open-source UI software framework created by Meta
Platforms, Inc. It is used to develop applications for Android, Android
TV, iOS, Web, Windows and UWP by enabling developers to use the
React framework along with native platform capabilities. Developed
by Facebook and community. Released march 26, 2015, 7 years ago.

10. Google Play Malware


- One of the major security risks in the Android eco-system is the
risk of downloading apps from the Google makes it easy for
developers to add their apps to Google’s app store, which
creates a large and diverse selection of apps for Android users.

Insecure Apps
- Another security threat to Android devices comes from the
open nature of app submission for Google Play: apps do not
come with malicious code but employ an insecure software
design. When app developers leave security vulnerabilities in
their code, hackers or malware can exploit these vulnerabilities
to compromise your device. The malicious code uses the
permission you gave the insecure app to slip past your device’s
security, similar to the way thieves in movies steal key-cards
from unwitting employees.

Version fragmentation
- While Google incorporates the latest security fixes into the
latest version of Android, not every Android device runs the
latest version of the operating system. Different devices across
different carriers all run different versions of Android, and
individual carriers' control when their customers can upgrade
from version to version, or even install updates from Google for
their current version of Android. This version fragmentation
creates a situation in which wide segments of the Android
ecosystem remain vulnerable to security threats which Android
developers have already closed.

11. The Android platform runs on the premise that free


memory is wasted memory. It tries to use all of the available
memory at all times. For example, the system keeps apps in
memory after they've been closed so the user can quickly
switch back to them.

Types of memory
- RAM is the fastest type of memory, but is usually limited in size.
High-end devices typically have the largest amounts RAM.
- ZRAM is a partition of RAM used for swap space. Everything is
compressed when placed into zRAM, and then decompressed
when copied out of zRAM. This portion of RAM grows or
shrinks in size as pages are moved into or taken out of zRAM.
Device manufacturers can set the maximum size.
Memory pages
- RAM is broken up into pages. Typically, each page is 4KB of
memory.
- Pages are considered free or used. Free pages are unused RAM.
Used pages are RAM that the system is actively using, and are
grouped into the following categories:
 Cached: Memory backed by a file on storage (for example, code
or memory-mapped files). There are two types of cached
memory:
 Private: owned by one process and not shared
 Shared: used by multiple processes

Low memory management


- Android has two main mechanisms to deal with low memory
situations: the kernel swap daemon and low-memory killer.

Kernel swap daemon


- The kernel swap daemon is part of the Linux kernel, and
converts used memory into free memory. The daemon
becomes active when free memory on the device runs low. The
Linux kernel maintains low and high free memory thresholds.
When free memory falls below the low threshold, kswapd
starts to reclaim memory. Once the free memory reaches the
high threshold, kswapd stops reclaiming memory.
- Kswapd can reclaim clean pages by deleting them because
they’re backed by storage and have not been modified. If a
process tries to address a clean page that has been deleted, the
system copies the page from storage to RAM. This operation is
known as demand paging.
Open-Source Development Labs
- Open-source development labs was a non-profit organization
supported by a consortium to promote Linux for enterprise
computing. Founded in 2000, OSDL positioned itself as an
independent, non-profit lab for developers who are adding
enterprise capabilities to Linux.
Bibliography
1. https://www.digitalaptech.com
2. https://support.getupside.com
3. https://www.tutorialpoint.com
4. Https://en.m.wikipedia.org
5. https://careerkarma.com
6. https://kotlinlang.org

You might also like