Mobile Application
Development
Mr. Mustafa Ghanem Saeed
Cihan University - Sulaimaniyah
Lecture One
Computer science Department
Introduction
to Android
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
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.
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.
Open Handset Alliance (OHA)
included several companies
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
Features of Android
ConWeb 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 spaceMulti-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.
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.
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.
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
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%
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.
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/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)
Set-up Java Development Kit
(JDK)
17
• You can download the latest version of Java JDK from Oracle's Java site.
Set-up Java Development Kit
(JDK)
Android Studio and Android
SDK
19
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.
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.
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.
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.
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.
The User Interface
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.
Slide 27