Mobile Application Development

Full text

(1)

Mobile Application

Development

Mr. Mustafa Ghanem Saeed

Cihan University - Sulaimaniyah

Lecture One

Computer science Department

Introduction

to Android

(2)

Lecture outlined

What is Android?

Android versions and its feature set

The Android architecture

The various Android devices on the market

The Android Market application store

How to obtain the tools and SDK for developing

Android applications

(3)

What is Android?

3

Android is an open source and Linux-based Operating

System for mobile devices such as smartphones and

tablet computers. Android was developed by the Open

Handset Alliance, led by Google, and other companies.

• Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android.

(4)

What is Android?

Android is an open source and Linux-based Operating

System for mobile devices such as smartphones and

tablet computers. Android was developed by the Open

Handset Alliance, led by Google, and other companies.

• Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android.

(5)

Open Handset Alliance (OHA)

included several companies

(6)
(7)

What is A Features of Android?

7

Feature Description

Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface.

Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. Storage SQLite, a lightweight relational database, is used for data storage purposes. Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG,

PNG, GIF, and BMP

Messaging SMS and MMS

Wi-Fi Direct A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer connection. Android Beam A popular NFC-based technology that lets users instantly share, just by touching two NFC-enabled

(8)

Features of Android

Con

Web browser

Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3.

Multi-touch

Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero.

Multi-tasking

User can jump from one task to another and same time various application can run simultaneously.

Resizable widgets

Widgets are resizable, so users can expand them to show more content or shrink them to save space

Multi-Language

Supports single direction and bi-directional text.

GCM

Google Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution.

(9)

Android Applications

9

• 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.

(10)
(11)

What is API level?

11

API Level is an integer value that uniquely identifies the

framework API revision offered by a version of the Android platform. The Android platform provides a framework API that applications can use to interact with the underlying Android system. The framework API consists of: A core set of packages and classes.

Note: always choose the minimum API Level that has all

the features that your apps needs, so you can reach as many devices as possible.

(12)

APL level of Android

Code name Version number Initial release date API level

1.0 September 23, 2008 1 1.1 February 9, 2009 2 Cupcake 1.5 April 27, 2009 3 Donut 1.6 September 15, 2009 4 Eclair 2.0–2.1 October 26, 2009 5–7 Froyo 2.2–2.2.3 May 20, 2010 8 Gingerbread 2.3–2.3.7 December 6, 2010 9–10 Honeycomb[a] 3.0–3.2.6 February 22, 2011 11–13

Ice Cream Sandwich 4.0–4.0.4 October 18, 2011 14–15

Jelly Bean 4.1–4.3.1 July 9, 2012 16–18

KitKat 4.4–4.4.4, 4.4W– 4.4W.2 October 31, 2013 19–20 Lollipop 5.0–5.1.1 November 12, 2014 21–22 Marshmallow 6.0–6.0.1 October 5, 2015 23 Nougat 7.0-7.1.2 August 22,2016 24-25 Oreo 8.0 August 21,2017 26

(13)

Global Android version distribution since

December 2009 to September 12, 2018

13

Version Codename API Distribution

2.3.3 -2.3.7 Gingerbrea d 10 0.3% 4.0.3 -4.0.4 Ice Cream Sandwich 15 0.3% 4.1.x Jelly Bean 16 1.2% 4.2.x 17 1.8% 4.3 18 0.5% 4.4 KitKat 19 8.6% 5.0 Lollipop 21 3.8% 5.1 22 15.4% 6.0 Marshmall ow 23 22.7% 7.0 Nougat 24 20.3% 7.1 25 10.5% 8.0 Oreo 26 11.4% 8.1 27 3.2%

(14)

Which APL level should I choose?

Note: always choose the minimum API Level that has all

the features that your apps needs, so you can reach as many devices as possible.

(15)

List of Android

Devices

• Phones • Photo Frames • Printers • Smartbooks • Tablets • TVs • Ultra Mobile PCs • Vehicles 15 • Appliances • E-Readers • Gaming Devices • Google TV Devices • GPS Receivers • Home Audio • Home Phones • Media Players • Netbooks http://www.androidtapp.com/list-of-android-devices/

(16)

Android

Studio

-Environment Setup

Installation

• Window

o 1. Download and install JDK (Java Development Kit) version 8 o 2. Download Android Studio

o 3. Launch Android Studio.exe then mention JDK path and download the latest SDK

• Linux

o 1. Download and install JDK (Java Development Kit) version 8 o 2. Download Android Studio

o 3. Extract the zip file

o 4. Open terminal, cd to the extracted folder, cd to bin (example cd android-studio/bin)

(17)

Set-up Java Development Kit

(JDK)

17

• You can download the latest version of Java JDK from Oracle's Java site.

(18)

Set-up Java Development Kit

(JDK)

(19)

Android Studio and Android

SDK

19

(20)

Features of Android

Studio

Intelligent code editor

• At the core of Android Studio is an intelligent code editor capable of advanced code completion, refactoring, and code analysis.

• The powerful code editor helps you be a more productive Android app developer.

(21)

Features of Android

Studio

Con.

21

Code templates and GitHub integration

• New project wizards make it easier than ever to start a new project.

• Start projects using template code for patterns such as navigation drawer and view pagers, and even import Google code samples from GitHub.

(22)

Features of Android

Studio

Con.

Multi-screen app development

• Build apps for Android phones, tablets, Android Wear, Android TV, Android Auto and Google Glass.

• With the new Android Project View and module support in Android Studio, it's easier to manage app projects and resources.

(23)

Features of Android

Studio

Con.

23

Virtual devices for all shapes and sizes

• Android Studio comes pre-configured with an optimized emulator image.

• The updated and streamlined Virtual Device Manager provides pre-defined device profiles for common Android devices.

(24)

Features of Android

Studio

Con.

Android builds evolved, with Gradle

• Create multiple APKs for your Android app with different features using the same project.

• Manage app dependencies with Maven.

(25)

The User Interface

(26)

The Android

Developer Community

Here are some developer communities/sites that you can turn to for help if you run into problems while working with Android:

Stack Overflow

(www.stackoverflow.com) — Stack Overflow is a collaboratively edited question and answer site for developers. If you have a question about Android, chances are someone at Stack Overflow is probably already discussing the same question and someone else had already provided the answer. Best of all, other developers can vote for the best answer so that you can know which are the answers that are trustworthy.

Google Android Training

(http://developer.android.com/training/index.html) — Google has launched the Android Training site that contains a number of useful classes grouped by topics. At the time of writing, the classes mostly contain useful code snippets that are very useful to Android developers once they have started with the basics. Once you have learned the basics in this book, I strongly suggest you take a look at the classes.

Android Discuss

(http://groups.google.com/group/android-discuss) — Android Discuss is a discussion group hosted by Google using the Google Groups service. Here, you will be able to discuss the various aspects of Android programming. This group is monitored closely by the Android team at Google, and so this is good place to clarify your doubts and learn new tips and tricks.

(27)

Slide 27

Figure

Updating...

Related subjects : Mobile application development