CS5103 Software Engineering Lecture 08 Android Development II.

Post on 26-Dec-2015

221 views 4 download

Tags:

Transcript of CS5103 Software Engineering Lecture 08 Android Development II.

CS5103 Software

Engineering

Lecture 08Android Development II

2

Last class

Projects Process and Evaluation

Requirements Calendar

SMS Messenger Contact Manager Book Shelf

Android Development I Android system & Emulator

Environment Setup

3

Today’s class

Basic Android Development Structure of an android project

Basic UI Components

Activities and Lifecycle

Action bars

4

Play with Emulator

Set environment variables On the Emulator Android Debug Bridge Telnet Interface

5

Set environment variables

Set Android_SDK_Home: %Android_SDK_Home%/.android will be the

place all virtual devices stored

You may set your sdk directory as Android_SDK_Home

Add dirs to PATH env variable Your sdk directory/tools

Your sdk directory/platform-tools

6

Structure of an Android Project

Source code Generated code Manifest file Resource files

7

Source code & generated code

Source code The code you will work on

Activities

Typically mainly implementing system call backs

Generated code The code generated by the system according to your

resource files

R.java Including references to all fields in resource files Do not edit it

8

Main components of android apps

Main Components Activities

Services

Broadcast Receivers

They usually can be executed directly with intents

Intents Messages sent and received between

components

System intents

9

Activities

Most important component of an android app An activity is basically everything showed at one

time on the screen

Like window or frame in the desktop UI applications

Explore an app by trigger different activities

An activity has its own resource files

10

Manifest file

Package name Versions targeted at Activities Intent filters Permissions

Uses-permissions

Declare permissions

11

Permissions

System permissions Network

Reading/Writing/Sending/Receiving sms

Making/Receiving calls

Reading/writing contacts

Reading/writing SD cards

http://developer.android.com/reference/android/Manifest.permission.html

User defined permissions

12

Resource files

Source code The code you will work on

Activities

Typically mainly implementing system call backs

Generated code The code generated by the system according to your

resource files

R.java Including references to all fields in resource files Do not edit it

13

Resource files

Drawable Icons used in the app

Layout An xml file describing the layout of an activity Eclipse-ADT provides a graphics layout, and

maintain the consistency

Menu An xml file describing the menu of an activity

14

Resource files

Values Dimensions

Strings

Styles (color, fonts, etc.)

A project usually has multiple value folders for different targeted devices Dimensions for different device size

Strings for different languages

15

Today’s class

Basic Android Development Play with Emulator

Structure of an android project

Basic UI Components

Activities and Lifecycle

Action bars

16

Basic UI Components

Views Basic UI component

Button, Checkbox, MenuItem, etc.

ViewGroup A invisible container that holds views

Determines how views are placed in the container

LinearLayout, GridLayout, AbsoluteLayout, etc.

17

Views and View Groups

18

Basic UI Components

Views Basic UI component

Button, Checkbox, MenuItem, etc.

ViewGroup A invisible container that holds views

Determines how views are placed in the container

LinearLayout, RelativeLayout, GridView, ListView

19

Add views/viewgroups to a project

All views and view groups can be added by Editing layout resource file of an activity

(recommended) Edit the graphics layout

Set main attributes Height Width Text / hint

20

Layouts

Linear layouts Views are placed in a vertical or horizontal

list

The default size of views are “wrap_content”

You may set weight for views to make them occupy more spaces

21

Layouts

Relative layouts Views are placed relative to their neighbors

Views are places from top-left corner by default

Avoid too much hierarchies

22

Layouts

List Views Bind to ListActivity

A vertical list of scrollable items

Use Adaptor to build and manage items

23

Layouts

Grid Views Display items in a two-dimensional scrollable

grid

Use adaptors to build view and manage items

24

An example of input and display messages

25

Respond to UI components

Add the onclick attribute The content of the attribute is the name

of method to be executed Access data in the current activity

Find view by id

Do not forget to set an id for the views you want to get data from

26

Respond to UI components

Requirement to the responding method Public

Return type is void

Has a single parameter: android.view.View

Otherwise the system will not be able to call the responding method

27

Start another activity

Create a new activity Add it to multiple places (done

automatically by eclipse) Source code

Manifest file

Resource files for the new activity

Generate an intent to start the activity

28

Activity life cycles

Create

Start The activity become fully visible to the user

Pause: The activity is partially visible, e.g., pop-up window

Resume The activity is fully visible again

Stop The activity is hidden

Destroy

29

Activity life cycles

30

Menus

Menus are by default in the project Each activity has a menu resource file A empty action called settings is listed in

the menu Since phone screens are quite small,

menu provide a place to put extra buttons that cannot be put onto the screen

31

Add items to menus

Add item to the resource file Add ids to each item

Implement the method: onOptionsItemSelected(MenuItem item)

32

Today’s class

Basic Android Development Play with Emulator

Structure of an android project

Basic UI Components

Activities and Lifecycle

Action bars

33

Thanks!

34

Start an emulator

In eclipse Go to device manager

Click Start

In command line emulator –avd ‘virtual device name’

35

On the emulator

Use your keyboard to input text

Useful Shortcuts Home -> Home

Esc -> back

F2 -> Menu

Ctrl + F12 -> change orientation

Manage Apps Go to menu -> manage apps

Operating everything as on a phone

36

Adb interface

A very useful tool for controlling emulator adb devices: show all running emulators

Install and uninstall apps

adb push & pull: transfer data between the host system and the emulator

adb logcat: print the system log of the emulator

adb shell: access the file system of the emulator Manage files in the virtual device adb shell pm: List all installed apps

37

Telnet interface telnet localhost <port number>

Simulate a number of events Phone calls

gsm call <number>

SMS sms send <number> <“text”>

Power level power status charging / not-charging, power capacity <percentage>

Set GPS geo fix <longitude> <latitude>

38

Today’s class

Basic Android Development Play with Emulator

Structure of an android project

Basic UI Components

Activities and Lifecycle

Action bars