Top Banner
FUNDAMENTALS ANDROID
18

Android introduction

Mar 21, 2017

Download

Technology

RaynaITSTEP
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: Android introduction

FUNDAMENTALSANDROID

Page 2: Android introduction

ANDROID IS A MOBILE OPERATING SYSTEM DEVELOPED BY GOOGLE, BASED ON THE LINUX KERNEL AND DESIGNED PRIMARILY FOR TOUCHSCREEN MOBILE DEVICES SUCH AS SMARTPHONES AND

TABLETS.

What is Android

Page 4: Android introduction

SCREEN SIZES AND DENSITIES

ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total

Small 1.1% 1.1%

Normal 2.5% 0.2% 36.1% 33.6% 16.3% 88.7%

Large 0.1% 3.7% 1.8% 0.4% 0.4% 6.4%

Xlarge 2.6% 0.6% 0.6% 3.8%

Total 1.2% 8.8% 2.0% 37.1% 34.6% 16.3%

Page 5: Android introduction

IF YOU WANT TO GET STARTED WITH APPLICATION DEVELOPMENT, GOOGLE PROVIDES A JAVA API TO GET STARTED AND COMPILES YOUR FILES INTO CLASSES. WHY DID ANDROID PREFER JAVA FOR ITS DEVELOPMENT PLATFORM? THERE ARE MULTIPLE REASONS SUCH AS;

JAVA IS A COMMONLY USED LANGUAGE AND MANY PROGRAMMERS KNOW IT, IT CAN RUN ON A VIRTUAL MACHINE (VM) SO NO NEED TO RECOMPILE FOR DIFFERENT PHONES,

BETTER SECURITY, MANY DEVELOPMENT TOOLS AVAILABLE FOR JAVA, AND JAVA IS A KNOWN INDUSTRY LANGUAGE WITH MOST PHONES COMPATIBLE WITH IT.

What is Java for Android

Page 6: Android introduction

Android is an open source, Linux-based software stack created for a wide array of devices and form factors. The following diagram shows the major components of the Android platform.

ANDROID ARCHITECTURE

Page 7: Android introduction

THE ANDROID SDK (SOFTWARE DEVELOPMENT KIT) IS A SET OF DEVELOPMENT TOOLS USED TO DEVELOP APPLICATIONS FOR ANDROID PLATFORM. THE ANDROID SDK INCLUDES THE FOLLOWING:

•REQUIRED LIBRARIES •DEBUGGER •AN EMULATOR •RELEVANT DOCUMENTATION FOR THE ANDROID APPLICATION PROGRAM INTERFACES (APIS) •SAMPLE SOURCE CODE •TUTORIALS FOR THE ANDROID OS

Android SDK

Page 8: Android introduction

ANDROID STUDIO

Page 9: Android introduction

ART AND DALVIK ARE COMPATIBLE RUNTIMES RUNNING DEX BYTECODE, SO APPS DEVELOPED FOR DALVIK SHOULD WORK WHEN RUNNING WITH ART. HOWEVER, SOME TECHNIQUES THAT WORK ON DALVIK DO NOT WORK ON ART

CODE EXECUTION PROCESS. DALVIK VIRTUAL MACHINE. ART VIRTUAL MACHINE

Page 10: Android introduction

JAVA COMPILATION

public MainActivity() { super(); currentPosition = 0; }

public com.hfad.bitsandpizzas.MainActivity(); Code: 0: aload_0 1: invokespecial #5; //Method android/app/Activity."<init>":()V 4: aload_0 5: iconst_0 6: putfield #3; //Field currentPosition:I 9: return

Page 11: Android introduction

CONVERSION TO DALVIK BYTECODES

0x0000: iput-object v1, v0, Lcom/hfad/bitsandpizzas/MainActivity; com.hfad.bitsandpizzas.MainActivity$2.this$0 // field@4869 0x0002: invoke-direct {v0}, void java.lang.Object.<init>() // method@13682 0x0005: return-void

Page 12: Android introduction

PUT CLASSES.DEX AND RESOURCES INTO A PACKAGE FILE

The classes.dex file and the resources from your application, such as images and layouts, are then compressed into a zip-like file called an Android Package or .apk file. This is done with the Android Asset Packaging Tool or aapt:

Page 13: Android introduction

YOU MIGHT THEN ALSO SIGN THE .APK FILE

Page 14: Android introduction

• NATIVE APP • HYBRID APP

Types of Android application.

Page 16: Android introduction

ACTIVITY LIFE CYCLE

Page 17: Android introduction

VIEW AND VIEW GROUP

Page 18: Android introduction

• LINEAR LAYOUT - DISPLAYS VIEW-ELEMENTS AS A SINGLE ROW (IF IT IS HORIZONTAL) OR A SINGLE COLUMN (IF IT IS VERTICAL).

• TABLE LAYOUT - DISPLAYS ELEMENTS IN THE FORM OF A TABLE, WITH ROWS AND COLUMNS. • RELATIVE LAYOUT - EACH ELEMENT’S POSITION IS CONFIGURED RELATIVELY TO OTHER

ELEMENTS. • ABSOLUTE LAYOUT - EACH ELEMENT IS SPECIFIED AN ABSOLUTE POSITION ON THE SCREEN

IN THE COORDINATE SYSTEM (X, Y) • GRID LAYOUT - THE GRID IS COMPOSED OF A SET OF INFINITELY THIN LINES THAT SEPARATE

THE VIEWING AREA INTO CELLS. • PERCENT LAYOUT - SUBCLASS OF RELATIVELAYOUT THAT SUPPORTS PERCENTAGE BASED

DIMENSIONS AND MARGINS. YOU CAN SPECIFY DIMENSION OR A MARGIN OF CHILD BY USING ATTRIBUTES WITH "PERCENT" SUFFIX.

Layout types: