android starting app development

37
Android Starting App Development

Upload: paramvir-singh

Post on 21-Jan-2018

270 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Android  Starting App Development

AndroidStarting App Development

Page 2: Android  Starting App Development

Contents

Android Architecture

Creating New Layouts

UI components

Running and Debugging apps

Activity Navigation

Page 3: Android  Starting App Development
Page 4: Android  Starting App Development

Android Architecture

Linux Kernel

Libraries

Android Runtime and Core libraries

Application Framework

Applications

Page 5: Android  Starting App Development
Page 6: Android  Starting App Development

Linux Kernel

Provides Basic System Functionality such as process management, memory

management and device management.

Provides all device drivers to communicate all different hardware in device like

Camera, Sensors, Bluetooth, WiFi, Audio and others.

Page 7: Android  Starting App Development

Basic Libraries

Low level libraries which provide basic features like SQLite Database, web

browser, LibC, library for playing and recording Audio/Video etc.

Mainly written in C/C++.

Interact with device drivers to handle all the basic features of the OS.

Page 8: Android  Starting App Development

Android Core Libraries

Java based libraries that are specific to Android.

Interact with Basic libraries to perform desired functionality such as handling

recording of Audio and Video.

User interface building, Graphics design(2D and 3D) and Database access.

Page 9: Android  Starting App Development

Dalvik Virtual Machine

Each application run in its own instance of Dalvik Virtual machine.

Multiple instances of Dalvik VM’s can run efficiently.

Page 10: Android  Starting App Development

Application Framework

Application Manager

Activity Manager

Notification Manager

Location Manager

..and others

Page 11: Android  Starting App Development

Applications

All built in apps

And the third party apps

***

Page 12: Android  Starting App Development

“Till 29th September, 2015 Android activations were 1.4

billion.”

Page 13: Android  Starting App Development

Let’s Make Layouts - some basics

Height and Width - “match_parent” or “wrap_content” or digital value in “dp”

Unique id - “@+id/xxx”

Naming convention for Id’s - “@+id/tv_login_username”,

“@+id/button_login_submit”

Naming convention for layouts - activity_login.xml, activity_settings.xml

Page 14: Android  Starting App Development

ImageView

<ImageView

android:id="@+id/iv_orders_list_footer"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:layout_margin="20dp"

android:src="@drawable/icon"

/>

Page 15: Android  Starting App Development

Drawables

Located in res/drawable/filename.png

Support different size/resolution devices.

hdpi, mdpi, xhdpi, xxhdpi.

Referred in xml as “@drawable/abc” (for abc.png)

Usually prefer PNG images, can also use JPG images.

Page 16: Android  Starting App Development

EditText

<EditText

android:id="@+id/et_login_password"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="@string/passcode"

android:inputType="textPassword"

android:maxLength="30"

android:textSize="24dp"/>

Page 17: Android  Starting App Development

Button

<Button

android:id="@+id/button_login_submit"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:backgroundTint="@color/primary_dark"

android:text="Login"

android:textColor="@color/primary_text"

android:textSize="24dp"/>

Page 18: Android  Starting App Development

Button

OnClickListener

mButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//Do the required task

}

});

Page 19: Android  Starting App Development

Hands On

Login screen

***

Page 20: Android  Starting App Development

“Android share in Chinese mobile market is 76.5%”

Page 21: Android  Starting App Development

Running and Debugging

Android Studio features - Clean, Build, Run

Android Emulator(Android Virtual Device)

Third Party Simulator - Genymotion

Displaying Logs

***

Page 22: Android  Starting App Development

“Average daily Android subscription is 1.5 million.”

Page 23: Android  Starting App Development

Activities

Every Activity will inherit an “Activity”.

Inheritance

Page 24: Android  Starting App Development

Inheritance

Page 25: Android  Starting App Development

Inheritance

Extending a class.

Accessing inherited methods and member variables.

Overriding methods.

Page 26: Android  Starting App Development

Start Another Activity - Intents

Intent - “A message either to start another Activity or to communicate to another

Activity.”

Intent Actions - What it should do?

Passing Arguments to next Activity

Page 27: Android  Starting App Development

Sending Data To Activity

Intent Parameters

Page 28: Android  Starting App Development

Arrangement of Activities - Backstack

Page 29: Android  Starting App Development

Why Activities are Important

Application performance and behaviour.

Interview Questions!!

Page 30: Android  Starting App Development

Activity Lifecycle

Page 31: Android  Starting App Development

Activity Lifecycle - Callback methods

onCreate

onStart

onResume

onPause

onStop

onDestroy

Page 32: Android  Starting App Development

Activity Lifecycle

onCreate

onStart

onResume

onPause

onStop

onDestroy

Page 33: Android  Starting App Development

ListView

Page 34: Android  Starting App Development

PlayStore

Page 35: Android  Starting App Development
Page 36: Android  Starting App Development

But Not To Worry...

800,0000 apps have < 100 downloads.

Another 700,000 have < 1000 downloads.

Another 400,000 have < 10,000 downloads.

Only 35,000 apps are downloaded more than 500,000.

###

Page 37: Android  Starting App Development

Paramvir Singh, Android Developer and Trainer

[email protected]

https://in.linkedin.com/in/paramvir-singh-android-developer-b45b5321