Top Banner
Getting started with Android Introduction to android application development session by By @AlSayedGamal #GMansoura
24

G|Mansoura Android

Oct 14, 2014

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: G|Mansoura Android

Getting started with AndroidIntroduction to android application development

session byBy @AlSayedGamal

#GMansoura

Page 2: G|Mansoura Android

Agenda

What’s Android. [Business]

No really, what’s android.[Technology]

Android internals.

Hello, Android.

Page 3: G|Mansoura Android

1.What’s Android

Android is software stack for mobile devices that includes an operating system, middleware and kep applications.

Page 4: G|Mansoura Android

HistoryAug 2005

Google acquired Android.

Nov 2007

OHA* announced that Android SDK is available.

Sept 2008

HTC and T-Mobile announced G1

Oct 2008

Android SDK 1.0

Android Market goes live

G1 is available in the retail store.

*OHA is (Open Handset Alliance) including top OEM and operators {Motorolla, intel, htc, T-Mobile, Samsung, LG, Google, etc..

Page 5: G|Mansoura Android

OHAOpen Handset Alliance

Mobile Operators

SemiconductorCommercialization

Software

Handset Manufacturers

Mobile Operators

SemiconductorCommercialization

Software

Handset Manufacturers

Mobile Operators

SemiconductorCommercialization

Software

Handset Manufacturers

Mobile Operators

SemiconductorCommercialization

Software

Handset Manufacturers

OEM

Semi-conductors

Commercialization

Software

Mobile Operators

SemiconductorCommercialization

Software

Handset Manufacturers

operator

Page 6: G|Mansoura Android

Dec 2011

Page 7: G|Mansoura Android

OS Shares worldwide*

52%

17%

15%

11%

2%1%1%

Android SymbianiOS RIMBada MicrosoftOthers

*According to Gartner Nov 2011

Page 8: G|Mansoura Android

Devices (not telephones)

Cellphones

Tablets

TV

more

Page 9: G|Mansoura Android

2.No really, what’s android

Android is based on the almighty linux kernel.

Android comes with great libraries and APIs for your special hardware to make full use of you device.

Android has rich development tool set including emulator, debugging tools, GUI composer,etc..

Android is ready for i18n.

Page 10: G|Mansoura Android

Technical prerequisites for Android development.

Java* = Java SE - Swing - AWT - reflection + some API(s).

HTML5 is an option (nice option if you are going cross platform).

Others (nice for RAD and cross platform).

*We are interested in that option today

Page 11: G|Mansoura Android

Android the platform

Android the OS is the largest part but it’s not everything.

Android emulator and AVD.

DVM (Dalvik Virtual Machine).

ADB (Android Debug Bridge).

Page 12: G|Mansoura Android

3.Android Internals

Page 13: G|Mansoura Android

Android internals

Linux Kernel

DisplayDriver Camera Driver Bluetooth

DriverFlash Memory

DriverBinder (IPC)

Driver

Power ManagementUSB Driver Keypad Driver WiFi Driver Audio

Drivers

Linux Kernel

Libraries

FreeType

SGL SSL

SQLite

WebKit

libc

Surface Manager

OpenGL | ES

MediaFramework

Android Runtime

Dalvik Virtual Machine

Core Libraries

Linux Kernel

Libraries Android Runtime

Application Framework

ViewSystem

Content Providers

Resource Manager GTalk ServiceLocation

Manager

Activity Manager

Package Manager

WindowManager

TelephonyManager

NotificationManager

Linux Kernel

Libraries Android Runtime

Application Framework

Linux Kernel

Libraries

Applications

Home PhoneContacts Browser ...

Page 14: G|Mansoura Android

Everything is an application

Your app is first class citizen

Page 15: G|Mansoura Android

Android development tools

Eclipse ADT plugin

DDMS

AVD

more..

Page 16: G|Mansoura Android

Application building blocks

Activity: Can be considered a screen of your app.

Intent / IntentReciever: set and respond to notifications ot status and can pass messages between activities.

Service: background tasks

ContentProvider: Enable applications to share data

Page 17: G|Mansoura Android

Application Directory Structure

src : your code lives here.

res : your layout and resource files are here.

gen: by name it’s generated content mostly it maps to layouts and resources.

bin : output files and APK (Android Package) executable file.

manifest.xml: general configuration file.

Page 18: G|Mansoura Android

The Android Package

APKmeet the

Page 19: G|Mansoura Android

The APK|--AndroidManifest.xml  |-- META-INF  |   |-- CERT.RSA  |   |-- CERT.SF  |   `-- MANIFEST.MF  |-- classes.dex  |-- res  |   |-- drawable  |   |   `-- icon.png  |   `-- layout  |       `-- main.xml  `-- resources.arsc

file.apk

Page 20: G|Mansoura Android

4.Hello, Android Application(s)

Page 21: G|Mansoura Android

5. What next?Giving layout types and drawables more focus.

Developing application as basic as moving data between activities and accessing service or two.

Background services and dealing with system intents.

Using contacts, dictionary and other content providers.

Using database and generally persistence data layer.

Dealing with internet application.

Practice, practice, practice, practice ..!

Page 22: G|Mansoura Android

SummaryAndroid is now and future.

It’s opensource and fun.

Android stack and rich development tools.

Everything is an application and your application is 1st class citizen.

Android application development terminology.

Android development road map.

Page 23: G|Mansoura Android

Questions & Answers

Page 24: G|Mansoura Android

Thank you!