2. Definitions
• Android is an operating system has been adopted to
work on Mobile Devices. That is, it’s software that
connects hardware to software and provides general
services.
• it’s a mobile specific operating system: an OS
designed to work on mobile
3. History
• 2003: The platform was originally founded by a start-up
“Android Inc.”
• 2005: Android was acquired by Google, who was looking
to get into mobile.
• 2007: Google announces the Open Handset Alliance, a
group of tech companies working together to develop
“open standards” for mobile platforms. the HTC Dream
(a.k.a. T-Mobile G1). Members included phone
manufacturers like HTC, Samsung, Sony and others.
• 2008: First Android device is released.
• 2010: First Nexus device is released: the Nexus One.
These are Google developed “flagship” devices, intended
to show off the capabilities of the platform.
5. Legal Battles
• The biggest Battle was between Oracle vs. Google.
• In a nutshell, Oracle claims that the Java API is
copyrighted (that the method signatures themselves
and how they work are protected), so because Google
uses that API in Android, Google is violating the
copyright.
• One interesting side effect of this battle: the Android
Nougat and later uses the OpenJDK implementation of
Java, instead of Google’s own inviolation-but-fair-use
implementation
6. Building Apps
the official and best IDE for Android programming is Android
Studio. Which is a Java IDE customized for Android
development.
Steps to download and install this IDE.
download the Android Studio bundle that includes the
Android SDK (Standard Development Kit): the tools and
libraries needed for Android development.
In particular, the SDK comes with a number of useful
command line tools.
7. Building Apps
These are number of included useful command line tools. :
– adb: the “Android Device Bridge”, which is a connection between
your computer and the device (physical or virtual). This tool is used for
console output. It help us do diagnostics and debugging.
– Emulator, which runs the Android emulator: a virtual machine of
an Android device.
make sure that you have the SDK tools (the tools and platform-tools
folder) available on your computer’s PATH so you can use them from the
command line.
By default, the SDK is found at (/Users/$USER/Library/Android/sdk ) on
a Mac, and at(C:Users$USERNAMEAppDataLocalAndroidsdk)
on Windows.
8. Building Apps
the Minimum SDK level
is the oldest version of Android your application will be able to run on.
Target SDK
is the version of Android your application has been tested and designed
against
The Target SDK indicates what set of API features you have considered/
coded against,….. even if your app can fall back to older devices
that don’t include those features.
Activities
are the basic component of Android, each of which acts as a “screen” or
“page” in your app.
9. Android SDK Platform Tools :
contains important tools like adb, and Sqlite
Sqlite3: can be used when we create applications that use databases,
plus a couple of other tools.
Support Repository:
used to write code that targets Android Wear, Android TV, or Google
Cast, also contains local Maven repository for support libraries.
HAXM Installer:
When using a macOS, or a PC with Intel processor, you can use this.
It is an accelerator for the Android Emulator,
KVM (Kernel-based Virtual Machine) : will be used in Linux instead of
HAXM.
10. App Source Code
Android view: organizes the files thematically.
In the Android view, files are organized as follows:
App: is a folder contains our application source code. Contains:
1– manifests/ contains the Android Manifest files (“config” file )
2– java/ contains the Java source code for your project (May also contains
Kotlin code)
3– res/ contains XML resource . Where layout/appearance information are
put.
Gradle Scripts: contains scripts for the Gradle build tool, used to help
compile the source code.
11. XML Resources
The res/ folder: contains resource files.
Resource files: used to define the “user interface” and other
media assets (images, etc). for the application.
• res/drawable/: contains graphics (PNG, JPEG, etc) be“drawn”
on the screen.
• res/layout/: contains user interface XML layout files for the
app’s content.
• res/mipmap/: contains launcher icon files in different
resolutions to support different devices.
• res/values/: contains XML definitions for general constants
Editor's Notes
Android is an operating system. That is, it’s software that connects hardware to software and provides general services.
it’s a mobile specific operating system: an OS designed to work on mobile
2003: The platform was originally founded by a start-up “Android Inc.”
2005: Android was acquired by Google, who was looking to get into mobile.
2007: Google announces the Open Handset Alliance, a group of tech companies working together to develop “open standards” for mobile platforms.
2008: First Android device is released: the HTC Dream (a.k.a. T-Mobile G1).
2010: First Nexus device is released: the Nexus One. These are Google developed “flagship” devices, intended to show off the capabilities of the platform.
XML Resources: The res/ folder contains resource files. Resource files are used to define the “user interface” and other media assets (images, etc). for the application.
Using separate files to define the application’s interface than those used for the application’s
logic (the Java code) helps keep appearance and behavior separated.