Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS5103 Software Engineering

Similar presentations


Presentation on theme: "CS5103 Software Engineering"— Presentation transcript:

1 CS5103 Software Engineering
Lecture 07 Android Development II

2 Last class 2 Projects Android Development I Process and Evaluation
Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 2

3 Today’s class Basic Android Development 3
Structure of an android project Basic UI Components Activities and Lifecycle Action bars 3

4 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 4

5 Structure of an Android Project
Source code Generated code Manifest file Resource files 5

6 Source code & generated 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 6

7 Main components of android apps
Activities Services Broadcast Receivers They usually can be executed directly with intents Intents Messages sent and received between components System intents 7

8 Activities Most important component of an android app 8
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 8

9 Manifest file Package name Versions targeted at Activities
Intent filters Permissions Uses-permissions Declare permissions 9

10 Permissions 10 System permissions User defined permissions
Network Reading/Writing/Sending/Receiving sms Making/Receiving calls Reading/writing contacts Reading/writing SD cards User defined permissions 10

11 Resource files 11 Source code Generated 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 11

12 Resource files Drawable Layout Menu 12 Icons used in the app
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 12

13 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 13

14 Today’s class Basic Android Development 14 Play with Emulator
Structure of an android project Basic UI Components Activities and Lifecycle Action bars 14

15 Basic UI Components Views ViewGroup 15 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. 15

16 Views and View Groups 16

17 Basic UI Components Views ViewGroup 17 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 17

18 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 18

19 Layouts Linear layouts 19
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 19

20 Layouts Relative layouts 20
Views are placed relative to their neighbors Views are places from top-left corner by default Avoid too much hierarchies 20

21 Layouts List Views 21 Bind to ListActivity
A vertical list of scrollable items Use Adaptor to build and manage items 21

22 Layouts Grid Views Display items in a two-dimensional scrollable grid Use adaptors to build view and manage items 22

23 An example of input and display messages
23

24 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 24

25 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 25

26 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 26

27 Activity life cycles 27 Create Start Pause: Resume Stop Destroy
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 27

28 Activity life cycles 28

29 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 29

30 Add items to menus Add item to the resource file Add ids to each item
Implement the method: onOptionsItemSelected(MenuItem item) 30

31 Today’s class Basic Android Development 31 Play with Emulator
Structure of an android project Basic UI Components Activities and Lifecycle Action bars 31

32 Thanks! 32

33 Start an emulator In eclipse In command line 33 Go to device manager
Click Start In command line emulator –avd ‘virtual device name’ 33

34 On the emulator 34 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 34

35 Adb interface 35 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 35

36 Telnet interface 36 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> 36

37 Today’s class Basic Android Development 37 Play with Emulator
Structure of an android project Basic UI Components Activities and Lifecycle Action bars 37


Download ppt "CS5103 Software Engineering"

Similar presentations


Ads by Google