Mobile Programming Summer 2012
Lecture 1 - Getting Started
Today's Agenda
About the Eclipse IDE Hello, World! Project Android Project Structure Intro to Activities, Layouts, and Widgets Editing Files in Eclipse SDK Tools
About the Eclipse IDE
Eclipse is an IDE as Visual Studio is an IDE
It's a great tool, but you will have a few problems with it
Hello, World! Project - navigation
From the Eclipse main menu
File > New > Project
Android > Android Project > Next
Hello, World! Project - project details
Project Name: Your app's display name, e.g. "Hello World". click Next
Build Target: Check your phones Settings > About phone > Android version to determine your version Package Name: must be a Java namespace with at least two components
e.g. edu.fsu.cs.mbrown.hello
Always check Create Activity: enter the name of your initial class
Minimum SDK: What's the earliest version of Android you want to support?
Hello, World! Project - target devices
Allow your apps to run on your physical Android device
Settings > Applications > Development > USB debugging
Alternatively, run apps in an Android Virtual Device
Window > AVD Manager > New Name: e.g. "My ICS Device" Target: Which version of Android you want to emulate Size: be generous if you can. 512MB - 1GB? Click on Create AVD
Hello, World! Project - execution
To run your project Ctrl + F11 or
If necessary Click Yes to launch a new virtual device Choose to run as Android Application
Project Structure
bin/ stores the compiled app res/ contains drawable files, layouts, string values src/ contains your source code AndroidManifest.xml file describes the application tabs at the bottom after opening this file make modifications easy! R.java - do not modify this! generated whenever the project compiles more on this later
Activities - Examples
3 different apps, 3 different activities
Activities - Examples
1 app (Google Maps), 3 different actitivies
Activities - Examples
1 app (Clock), 3 different actitivies
Activities
An Activity is a single, focused thing that the user can do To create an Activity, you must create a subclass of Activity (or an existing subclass of it) Main point of entry
int main() is the main point of entry in C++ public static void main(string args[]) is for Java public void onCreate(Bundle savedInstance) for Android!
Layouts
Defines the layout structure and holds all elements in an Activity
Layouts
LinearLayout
We'll only talk about this one today
RelativeLayout TableLayout TabLayout
Layouts - LinearLayout
Layouts - LinearLayout
button, textbox, checkbox, etc.
Layouts - LinearLayout
1 2
Layouts - LinearLayout
1 2 3
Layouts - LinearLayout
1 2 3 4
Layouts - LinearLayout
1 2 3 4 5
Widgets
Widgets are UI elements that appear in an Activity (inside of Layouts!) Buttons TextViews (labels) CheckBoxes Many more!
Editing Files in Eclipse
XML Files Plain XML editor edit XML files directly Form based editor allows you to modify XML files indirectly using forms Content Assist similar to Intellisense, autocomplete When in doubt, press Ctrl + Spacebar Quick fixes e.g. import a package without typing anything WYSIWYG editor Allows you to drag and drop Widgets into your Layouts "What You See Is What You Get"
SDK Tools
Development and debugging tools for Android SDK Manager
Allows you to install tools necessary to develop for specific Android platforms
In Eclipse
Window > SDK manager
References
The Busy Coder's Guide to Android Development - Mark Murphy
Android Developers
The Mobile Lab at Florida State University