380 likes | 533 Views
CS5103 Software Engineering. Lecture 08 Android Development II. Last class. Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup. 2. Today’s class. Basic Android Development
E N D
CS5103 Software Engineering Lecture 08 Android Development II
Last class Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 2
Today’s class Basic Android Development Structure of an android project Basic UI Components Activities and Lifecycle Action bars 3
Play with Emulator Set environment variables On the Emulator Android Debug Bridge Telnet Interface 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 5
Structure of an Android Project Source code Generated code Manifest file Resource files 6
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 7
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 8
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 9
Manifest file Package name Versions targeted at Activities Intent filters Permissions Uses-permissions Declare permissions 10
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 11
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 12
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 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 14
Today’s class Basic Android Development Play with Emulator Structure of an android project Basic UI Components Activities and Lifecycle Action bars 15
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. 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, RelativeLayout, GridView, ListView 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 19
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 20
Layouts Relative layouts Views are placed relative to their neighbors Views are places from top-left corner by default Avoid too much hierarchies 21
Layouts List Views Bind to ListActivity A vertical list of scrollable items Use Adaptor to build and manage items 22
Layouts Grid Views Display items in a two-dimensional scrollable grid Use adaptors to build view and manage items 23
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 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 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 27
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 28
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 30
Add items to menus Add item to the resource file Add ids to each item Implement the method: onOptionsItemSelected(MenuItem item) 31
Today’s class Basic Android Development Play with Emulator Structure of an android project Basic UI Components Activities and Lifecycle Action bars 32
Thanks! 33
Start an emulator In eclipse Go to device manager Click Start In command line emulator –avd ‘virtual device name’ 34
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 35
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 36
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> 37
Today’s class Basic Android Development Play with Emulator Structure of an android project Basic UI Components Activities and Lifecycle Action bars 38