Lesson of Computing For Students
Lesson of Computing For Students
Benjamin Odoi-Lartey
[email protected]
0244361636
8
Features of Android
• Popularity (High market share)
• Enabled SMS
• Enabled GPS
• Cameras & microphones
• Open source apps
• Development with Java
• Linux based
• Short learning curve with IDE
Java Eclipse IDE for Android
app development
• Easy deployment to mobile
device
• Easy to distribute apps via
Android Market
Share app, Sell app,
Download & reuse open source
apps
• In 2020 one of the consequences of the COVID-19 pandemic,
was a dramatic spike of demand for certain mobile app
categories.
• Number of downloads for Zoom, Google’s Meet, Microsoft’s
Teams went through the roof and, at some point, capitalization
of Zoom surpassed Boing.
• Mobile apps that were helping people to adapt and cope with the
disease became extremely popular and – to meet quickly rising
demand – companies had to heavily invest in development of
these apps to increase their capacity and bring new features.
Mobile applications developer
Developing mobile applications requires extensive knowledge of the
various mobile platforms currently available and how to develop
applications that will work on Android, iOS, Windows, and other
operating systems.
• Each is implemented as a
subclass of the base Activity class
Service
• A service is an application component that implements
and performs long running operations in the background
without any need to interact with the user.
• Services also handle the background processing
associated with the application. A service started by an
application will be continuing to running in background
even when user switches to another application
component.
• You can bind to an existing service, control its operation,
and run in background
• Services execute background processing, no visual
interface
Ex: Downloads, Playing Music, TCP/UDP Server, Play
music, alarm clock, etc.
• Secured if using permissions
• Callers may need to verify that service is the correct one
Content provider
• Content providers : manages access to a central repository of
data and are intended to be used by other applications which uses
a provider client object.
• Content Provider also are data storage facilities which supports
data exchange between applications by making data available to
other applications
• Transfer data between applications in Android and sends data to
widgets.
21
System level protection for Android app
• Each app runs as a unique user identity such that Android
can limit the potential damage of programming flaws.
• Each app runs in own VM sandbox using unique UID
• Each app requests a simple permission label assignment
model to restrict access to resources and other
applications if necessary
• Ex. of permission: Internet, camera, GPS
• Permission specifies an access policy to protect its
resources.
Android App Signature
• Application signing allows developers to identify the author of the application and to update
their application without creating complicated interfaces and permissions.
• Every application that is run on the Android platform must be signed by the developer but are
usually self-signed
• Why self signing?
– Market ties identity to developer account
– No CA in Google, Google does not have central control over the app’s signature
certificates
– No applications are trusted. No "magic key"