43
TOPICS TO BE COVERED •Introduction to android. •Setup android environment. •User interface development. •Interactive application development.

Introduction to android

Embed Size (px)

Citation preview

Page 1: Introduction to android

TOPICS TO BE COVERED

• Introduction to android.• Setup android environment.• User interface development.• Interactive application development.

Page 2: Introduction to android

OVERVIEW

• What is android?• History of android.• What is Open handset alliance?• Different Versions of android.

Page 3: Introduction to android

BRIEF HISTORY

• Android is a Linux-based open source software stack that comes along with: 1. operating system 2. middleware 3. native mobile applications

• It was designed primarily for touchscreen mobile devices such as smartphones, tablets.

• Initially developed by Android Inc.,(founded in 2003 and is based in Palo Alto, California) which operated as subsidiary of Google and later purchased by Google in 2005.

• Android was publically announced in 2007 and first phone was sold on October 2008.

Page 4: Introduction to android

VERSIONS OF ANDROID

Page 5: Introduction to android

NAMES & SPECIFICATION

• Initial two versions were called as beta versions specified as Android 1.0 & 1.1.

• Later on names of subsequent versions were based on some dessert & are in alphabetic orders e.g.1. 1.5 Cupcake2. 1.6 Donut3. 2.0/2.1 Éclair4. 2.2 Froyo5. 2.3 Gingerbread6. 3.0/3.1 Honeycomb7. 4.0 Ice-cream Sandwich8. 4.1 Jelly Bean9. 4.4 Kitkat

Page 6: Introduction to android

Open handset Alliance

Page 7: Introduction to android

What is activity ?

Page 8: Introduction to android

OPEN SOURCE

Industry• Software stack open-

sourced under Apache2.0 license

• Source available afterfirst handsets ship

• Anyone will be able tobuild a system image

Users• Users have control of their experience• They control what gets

installed• They choose the defaults

Developer • Don not need

permission to ship anapplication

• No hidden or privilegedframework APIs

• Can integrate, extendand replace existingcomponents

INDUSTRY

USER

DEVELOPER

Page 9: Introduction to android

ANDROID

Page 10: Introduction to android

USER INTERFACE

• User interface layout• View• View group• UI attributes and ID• Types of layouts• Basic Input controlsI. Buttons II. Textfields III. Radio buttonIV. CheckboxV. Toggle buttonVI. Spinners VII. Pickers

Page 11: Introduction to android

USER INTERFACE DESIGNING

Two ways:1. Programming 2. Drag & Drop (good and efficient)

Page 12: Introduction to android

View & view group

What is view?• All user interface elements in the android app are build using view

and view group objects.e.g. view contains: button, textfields, etc.

Page 13: Introduction to android

What is view group?

Page 14: Introduction to android

For Example Vertical layout in which Button and Text View look like this

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a Button" /></LinearLayout>

Page 15: Introduction to android

ATTRIBUTES

• Id: every view element has a unique id.Example android:id=“@+id/unique name”

Indicates xml should be parsed

Indicates new resource has to added to R.java file

Resource generated automatically

Page 16: Introduction to android

LAYOUT AND ITS TYPES

• Linear• Relative• Table layout• Grid layout• Grid view• List view

Page 17: Introduction to android

LINEAR LAYOUT

• LinearLayout is a view group that aligns all children in a single direction, vertically or horizontally. You can specify the layout direction with the android :orientation attribute.

Example:

Page 18: Introduction to android

• <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="vertical" > <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/to" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/subject" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" android:hint="@string/message" /> <Button android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="right" android:text="@string/send" /></LinearLayout>

Page 19: Introduction to android
Page 20: Introduction to android

RELATIVE LAYOUT

• Relative layout is a view group that displays child views in relative positions

Page 21: Introduction to android

• <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" > <EditText android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/reminder" /> <Spinner android:id="@+id/dates" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/times" /> <Spinner android:id="@id/times" android:layout_width="96dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_alignParentRight="true" />

<Button android:layout_width="96dp" android:layout_height="wrap_content" android:layout_below="@id/times" android:layout_alignParentRight="true" android:text="@string/done" /></RelativeLayout>

Page 22: Introduction to android

LIST VIEW

• List view a view group that displays a list of scrollable items. • The list using an adapter that pulls content from a source such as an

array or database query and converts each item result into a view that’s placed into the list.

Page 23: Introduction to android

GRID VIEW

• Grid view is a view group that displays items in a two dimensional, scrollable grid. The grid items are automatically inserted to the layout using list adapter.

Page 24: Introduction to android

Control Type Description Related Classes

Button A push-button that can be pressed, or clicked, by the user to perform an action.

Button

Text field An editable text field. You can use theAutoCompleteTextView widget to create a text entry widget that provides auto-complete suggestions

EditText,AutoCompleteTextView

Checkbox An on/off switch that can be toggled by the user. You should use checkboxes when presenting users with a group of selectable options that are not mutually exclusive.

CheckBox

Radio button Similar to checkboxes, except that only one option can be selected in the group.

RadioGroup RadioButton

Toggle button An on/off button with a light indicator. ToggleButton

Spinner A drop-down list that allows users to select one value from a set.

Spinner

Pickers A dialog for users to select a single value for a set by using up/down buttons or via a swipe gesture. Use aDatePickercode> widget to enter the values for the date (month, day, year) or a TimePicker widget to enter the values for a time (hour, minute, AM/PM), which will be formatted automatically for the user's locale.

DatePicker,TimePicker

Page 25: Introduction to android

TEXTFIELD

• <EditText android:layout_width="match_parent“

android:layout_height="wrap_content" android:hint="@string/subject" />

Page 26: Introduction to android

BACKGROUND COLOR

android:background=“hex-value”

Page 27: Introduction to android

TEXT COLOR

android:textColor=“hex-value”

Page 28: Introduction to android

HINT

android:hint=“string”

Page 29: Introduction to android

TEXT

• android:text=“string”

Page 30: Introduction to android

BUTTON

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_text" ….>

Page 31: Introduction to android

HOW TO MAKE APP INTERACTIVE?Two ways:

1. onclick event2. onclick listerner

Page 32: Introduction to android

Onclick event

• <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send"

android:onClick=“name_of_event" />

Page 33: Introduction to android

public void sendMessage(View view){ // Do something in response to button click}The method you declare in the android:onClick attribute must have a signature exactly as shown above. Specifically, the method must:• Be public• Return void• Define a View as its only parameter

Page 34: Introduction to android

USING Onclicklistener

Button button = (Button) findViewById(R.id.button_send);button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Do something in response to button click }});

Page 35: Introduction to android

CHECKBOX public void onCheckboxClicked(View view) { // Is the view now checked? boolean checked = ((CheckBox) view).isChecked(); // Check which checkbox was clicked switch(view.getId()) { case R.id.checkbox_meat: if (checked) // Put some meat on the sandwich else // Remove the meat break;

case R.id.checkbox_cheese: if (checked) // Cheese me else // I'm lactose intolerant break; // TODO: Veggie sandwich }}

Page 36: Introduction to android

RADIO BUTTONS

Page 37: Introduction to android

ONCLICK EVENTpublic void onRadioButtonClicked(View view) {

// Is the button now checked?

boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked

switch(view.getId()) {

case R.id.radio_pirates:

if (checked)

// Pirates are the best

break;

case R.id.radio_ninjas:

if (checked)

// Ninjas rule

break;

}}

Page 38: Introduction to android

Important Folders• Whenever we create any Application, there are a number of folders which are created by default.

• These folders contain subfolders and important files associated to them which play a key role in proper UI designing as well as coding.

1. src (source code of activities)

2. Android 4.4 (contains all library files)

3. gen ( auto generated files (R.java))

4. Res (resource)

1. it contains all Drawable components

2. layouts ( it contains the xml file)

3. menu

4. values – string.xml

dimens.xml

style.xml

5. Android Manifest File1. Sdk (min to max)2. Application (contain main activity details)

a. Activityb. Intent filterc. Providersd. Servicese. Receivers etc.

Page 39: Introduction to android
Page 40: Introduction to android

Image View

1. If we want to add an Image in our activity, we need to copy the image to the “Drawable folder” in “res folder”.

2. Drawable folder contains subfolders :1. hdpi ( 240 dpi) is High density pixels %2. ldpi ( 120 dpi) is Low density pixels %3. mdpi ( 160 dpi) is medium density pixels %4. xhdpi ( 320 dpi) is extra high density pixels %

3. Add <imageView> and define different parameters in it.

Page 41: Introduction to android

Toast Message (notification)

• Toast provides simple feedback about an operation in a small popup.

• It only fills the amount of space required for the message and the current activity remains visible and interactive.

• Toast automatically disappears after timeout.

Syntax : Toast toast=Toast.makeText (context, text, duration);

toast.show();

Note:- Toast is instantiated by using makeText() method.

Page 42: Introduction to android

Activity 1 Background= #F00000

text="@string/button_01" textStyle="bold" fontFamily="times new roman" background="#68AD00" textColor="#000000"

text="@string/button_02" textStyle="bold" fontFamily="times new roman" background="#FFF000" textColor="#000000"

Button

Button

Page 43: Introduction to android

Activity 2 layout_width=”30dp” ems="10" hint="@string/Textview" inputType="text" textColor="#000000" background="#FF00FF”

layout_width=”30dp” ems="10" hint="@string/Textview" textColor="#000000" background="#00FF00” inputType= “date”

layout_width=”30dp” ems="10" hint="@string/Textview" textColor="#000000" background="#663300” inputType= “time”

layout_width=”130dp”android:text="Submit"android:textColor="#FFFFFF"android:background="#FF0000"

layout_width=”30dp” ems="10" hint="@string/Textview" textColor="#000000" background="#009900”

Background= #FFFF66