290 likes | 445 Views
Hello World on the Android Platform. Getting the Tools Setup. Need to Install… Eclipse (the IDE) Android SDK Java JDK (not just the JRE) Quick Start Guide is Here: http://developer.android.com/sdk/index.html. Integration.
E N D
Getting the Tools Setup • Need to Install… • Eclipse (the IDE) • Android SDK • Java JDK (not just the JRE) • Quick Start Guide is Here: http://developer.android.com/sdk/index.html
Integration • Then you need to integrate Eclipse and The Android Developer Toolkit http://developer.android.com/sdk/eclipse-adt.html
Android SDK Versions • You then need to download SDK versions of Android to run your program against • The Android SDK Manager in Eclipse will do this • You don’t need the latest version – it’s slow • API 7 (Android 2.1) is good & compatible with most devices
The AVD • An Android Virtual Device (a simulator) needs to be created. • You will specify this in Eclipse • Includes the features that this virtual phone will have, such as touch screen, etc.
The Tutorial http://developer.android.com/resources/tutorials/hello-world.html
The Result • Android Virtual Device can be a little quirky and take time to load
Getting the Tools Setup • Assuming you have Eclipse • And the SDK setup
Android Online Tutorial • http://developer.android.com/guide/topics/fundamentals.html
App Fundamentals • Apps are stored in an .apk file • Components in a Program • Activities – most important part • Services • Broadcast Receivers • Content Providers • Intents – a message that is sent • Widgets • Notifications
Activities • A GUI element • An activity can contain views such as buttons or check boxes • One Activity is designated (in the Manifest) as where to “start” the application • These are the “forms” of the application – the presentation layer
Services • Not part of the GUI • A background process • Playing audio • Network communication • Can be spawned in another thread
Broadcast Receivers • A “listener” that receives announcements • From the system – battery is low • Broadcast Receivers could notify the user of something, for example • A broadcast receiver receives an “Intent” – a message, and respond to create an event-driven application
Content Providers • A method of interprocess communication to make data from your app available to other apps • Or, vice-versa • Implemented through a ContentProvider and a ContentResolver (to get the data). • Example: The Contacts list in the phone – your application could access this.
Intents • The actual message that is sent • An Intent to a Broadcast Receiver might announce that a picture has been taken • You can send an Intent to another application as well. • Intents are commonly used to launch a second Activity (screen)
Widgets • Visual components that can be added to the user’s home screen • Special broadcast receivers
Notifications • Signal a user without interrupting the current activity. • Example – text message comes in. • We can trigger those notifications programmatically
The Result • Think about apps as a collection of these independent pieces, passing messages to one another.
The Application Class • Your app will extend the Application class • Your application object is a singleton (only one object may be instantiated)
Application Class public class MyApplication extends Application{ private static MyApplication singleton; @Override public final void onCreate() { super.onCreate(); // call the parent singleton = this; // any other of my code } @Override public final void onTerminate() { super.onTerminate(); // call the parent // now my code }
MyApplication class • I can override… • onCreate( ) • onTerminate( ) – no guarantee this gets called • onLowMemory( ) • onConfigurationChanged( ) • Need to call the superclass methods in each of your overridden methods • Sometimes the system kills your app w/ no notice
Android Activity • The basis for the application • The program will start running here, and we can add user interface elements (such as Views) to the Activity • This is done in xml files in the ‘res’ folder
Android Activities import android.app.Activity; import android.os.Bundle; public class MyActivity extends Activity{ // override the base class onCreate() }
Activities -> Views • We need to add a view to our activity to create a GUI
Resources • The /res folder contains xml files • We can specify in xml • GUI elements (using xml is preferred to using code) • String constants to be used in the program • Other resources the program needs, such as sounds or images
DroidDraw • DroidDraw can help with the screen layouts • http://www.droiddraw.org/
Styles and Themes • You can also create a style for all of the Activities in your app • Similar to css for web pages • http://developer.android.com/guide/topics/ui/themes.html