0% found this document useful (0 votes)
26 views22 pages

Lesson 2

The document provides information about mobile operating systems and introduces Android. It discusses Android architecture including the Linux kernel, libraries, runtime, framework and applications. It also describes installing the Android studio, SDK tools, creating an AVD and testing apps using the emulator or Genymotion. The assignment asks students to set up an Android development environment on Windows and emulate an app that sends an SMS from one device to another.

Uploaded by

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

Lesson 2

The document provides information about mobile operating systems and introduces Android. It discusses Android architecture including the Linux kernel, libraries, runtime, framework and applications. It also describes installing the Android studio, SDK tools, creating an AVD and testing apps using the emulator or Genymotion. The assignment asks students to set up an Android development environment on Windows and emulate an app that sends an SMS from one device to another.

Uploaded by

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

Mobile Application Development

ENVIRONMENT

BSC 402

Lecture # 2
Mobile Operating Systems
• A mobile OS is an operating system for smartphones, tablets, PDAs, or other mobile devices.
• Mobile OSs combine features of a personal computer OS with other features useful for mobile or
handheld use; EG
touchscreen, cellular, Bluetooth, Wi-Fi, GPS mobile navigation, camera, video camera, speech
recognition, voice recorder, music player, etc.
Some Current software platforms
• Android (based on the Linux Kernel) is from Google Inc.
• Fire OS is an operating system launched by Amazon based on Google.
• iOS (previously known as iPhone OS) is from Apple Inc.
• Windows Phone (Soon to be Windows 10 Mobile) is from Microsoft.
• BlackBerry 10 (based on the QNX OS) is from BlackBerry.
• Firefox OS is from Mozilla.
Introduction to Android
• Android is an OS based on Linux with a Java programming interface. It is a comprehensive open
source platform designed for mobile devices.
• First beta version of Android Software Development Kit (SDK) was released by Google in 2007 where
as first commercial version, Android 1.0, was released in September 2008.
Features of Android
• Beautiful UI, Connectivity, Media support, Messaging, Web browser, Multi-touch, Multi-tasking,
Resizable widgets, Multi-Language, Wi-Fi Direct,
• Android Applications
• Android applications are usually developed in the Java language using the Android Software
Development Kit.
• Once developed, Android applications can be packaged easily and sold out either through a store
such as Google Play, SlideME, Opera Mobile Store, Mobango, F-droid and the Amazon Appstore.
Introduction to Android
History of Android

Categories of Android applications


Requirements for Android
OS
• Android application development on either of the following operating systems:
• Microsoft Windows.
• Mac OS X 10.5.8 or later version with Intel chip.
• Linux.
Tools
• All the required tools to develop Android applications are freely available and can be downloaded from
the Web. Following is the list of software's you will need before you start your Android application
programming.
1. Java JDK5 or later version
2. Android Studio / Android SDK and Eclipse IDE for Java Developers (optional) and Android
Development Tools (ADT) Eclipse Plug-in (optional)
Requirements for Android
Download Android Studio
• From http://developer.android.com/sdk/installing/index.html
System Requirements for Windows
• Microsoft® Windows® 8/7/Vista (32 or 64-bit)
• 2 GB RAM minimum, 4 GB RAM recommended
• 400 MB hard disk space
• At least 1 GB for Android SDK, emulator system images, and caches
• 1280 x 800 minimum screen resolution
• Java Development Kit (JDK) 7
• Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel®
64), and Execute Disable (XD) Bit functionality
ANDROID ARCHITECTURE
LINUX KERNEL
• Device drivers
• Memory management
• Process management
• Networking
LINUX KERNEL
• A kernel is simply a resource manager;
• the resource being managed may be a process,
memory or hardware device.
• It manages and arbitrates access to the resource
between multiple competing users.
• For the user space to communicate with the kernel
space,
• Libraries are incorporated which provides a forum for
the system call interface to connect to the kernel
space and allow transition back to the userspace.
LINUX KERNEL
The Linux kernel can be categorized into three primary levels:
• The system call interface; topmost and undertakes the basic
actions such as read and write.
• The kernel code; is located below the system call interface, is
sometimes defined as architecture-independent kernel code.
• The architecture-dependent code; it is under the
architecture-independent code, forms what is usually referred to as a
Board Support Package (BSP) – this contains a small program called
the bootloader that places the Operating System and device drivers
into memory.
LINUX KERNEL
• The architectural perspective of the Linux kernel
consists of:
• System call interface,
• Process Management,
• the Virtual File system,
• Memory Management,
• Network Stack,
• Architecture and the Device Drivers.
LINUX KERNEL
• System call interface; is a thin layer that is used to undertake
function calls from user space into the kernel. This interface may
be architecture dependent
• Process management; is mainly there to execute the
processes.
• Memory management; memory is managed in what are
known as pages for efficiency.
• Virtual file system; it provides a standard interface abstraction
for the file systems. It provides a switching layer between the
system call interface and the file systems supported by the kernel.
LINUX KERNEL
• Network stack; is designed as a layered architecture
modeled after the particular protocols.
• Device drivers; a significant part of the source code in the
Linux kernel is found in the device drivers that make a
particular hardware device usable. Device driver tutorial
LIBRARIES
• C/C++ libraries
• Interface through Java
• Surface manager – Handling UI Windows
• 2D and 3D graphics
• Media codecs, SQLite, Browser engine
ANDROID RUNTIME
• Dalvik VM
– Dex files
– Compact and efficient than class files
– Limited memory and battery power
• Core Libraries
– Java 5 Std edition
– Collections, I/O etc…
APPLICATION FRAMEWORK

• API interface
• Activity manager – manages application
life cycle.
APPLICATIONS

• Built in and user apps


• Can replace built in apps
Installation
Java
1. Visit http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Install it.
Android Studio
3. Visit http://developer.android.com/sdk/index.html
4. click the button Download Android Studio.
5. Accept terms, and click Download.
6. Run executable file of setup.
7. Follow the setup wizard to install Android Studio and any necessary SDK tools.
8. On some Windows systems, the launcher script does not find where Java is installed. If you encounter
this problem, you need to set an environment variable indicating the correct location.
9. Select Start menu > Computer > System Properties > Advanced System Properties. Then open
Advanced tab > Environment Variables and add a new system variable JAVA_HOME that points to
your JDK folder, for example C:\Program Files\Java\jdk1.7.0_45
Installation
0. The individual tools and other SDK packages are saved outside the Android Studio application
directory. If you need to access the tools directly, use a terminal to navigate to the location where they
are installed. For example:
1. \Users\<user>\sdk\
2. Android Studio is now ready and loaded with the Android developer tools, but there are still a couple
packages you should add to make your Android SDK complete.
Run
1. Run Android Studio as Administrator.
2. Before you create new project, click Configure from splash screen. Click SDK Manager.
3. Don’t select all. In bottom, in Extra section, select Intel x86 Emulator Accelerator.
4. Click Install button.
Android Emulator
• The Android SDK includes a mobile device emulator — a virtual mobile device that runs on your
computer. The emulator lets you develop and test Android applications without using a physical
device.
Limitations
• No support for placing or receiving actual phone calls. You can simulate phone calls (placed and
received) through the emulator console, however.
• No support for USB connections
• No support for device-attached headphones
• No support for determining network connected state
• No support for determining SD card insert/eject
• No support for Bluetooth
AVD Manager
• The AVD Manager provides a graphical user interface in which you can create and manage Android
Virtual Devices (AVDs), which are required by the Android Emulator.
Android Studio
• Tools > Android > AVD Manager
Optional Installation - Genymotion
Genymotion
• It is a fast third party Android emulator for app testing and presentation on Windows that can be used
instead of the default Android emulator. In some cases it's as good as or better than developing on
actual devices!
1. Visit https://www.genymotion.com
2. Click Free version. Click Get Genymotion.
3. Create a Genymotion account, sign in.
4. Download and install Genymotion.
Run Genymotion
1. First time you have to sign in with your credentials. It will connect with cloud and provide available
virtual devices.
2. Add your desired virtual device.
ASSIGNMENT 1

CREATE AN ANDROID DEVELOPMENT ENVIRONMENT ON YOUR WINDOWS OS MACHINES AND


EMULATE AN ANDROID APPLICATION THAT WILL SEND AN SMS FROM ONE DEVICE TO
ANOTHER.

DUE DATE: 1st April

You might also like