This document provides an overview of mobile application development on the Android platform. It discusses Android architecture and features. It also covers topics related to setting up an Android development environment in Eclipse, the basic building blocks of Android applications like activities and intents, designing user interfaces with views and layouts, and handling user interactions with events. The document uses examples to demonstrate how to create a simple Android project in Eclipse with an activity that displays a text view and handles button click events.
2. APP–Market Fit PLATFORM (Android, Bada, Java, Symbian, Maemo, Blackberry; phone exclusive or open) PHONE BRAND (Samsung, Nokia, Sony, LG, BB, ?) PHONE TYPE (Feature phone, Smartphone) TELCO PLANS (variability of cost structures: voice ; text; data per-kb, per-hr) USERS (who, using which phone, on which telco or plan?)
3. Criteria for Good Apps Well-defined target market; (link to intangible qualities) Functionality: runs successfully and with ease on Android mobile phones, does what it’s supposed to do; Uniqueness in its application; doing something out of the common Creativity in design and in the use of available technologies( UI, graphics, etc) Usefulness in addressing users’ needs and problems, with high potential for adoption by customers Usability, interface and navigation designed for ease and comfort of user Platform and modular design.
4. Intangible Qualities of Good Products What is its magnet – why will it attract the user? What is its anchor – what will hold the user to it? Does it have a profit engine for the user – will it make the relationship pay? How is it spiced it up to make for a satisfying customer experience?
5. Business Models Sale of app Share of telco billings (voice, text, data) Subscription (per-use, per month) % of sales Sponsorship or ads (Paid web hosting – service provider or cloud)
7. Topics to be discussed... Introduction to the Android Platform Overview of the Android SDK in Eclipse Working with the User Interface Working with Data Storage Sharing information between applications Networking Advance phone features Publishing applications Best Practices
8. Topics to be discussed... Introduction to the Android Platform Overview of the Android SDK in Eclipse Working with the User Interface
9. What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
10. What are the features of Android? Application framework Dalvik virtual machine Integrated browser Optimized graphics SQLite Media support GSM Telephony Bluetooth, EDGE, 3G, and WiFi Camera, GPS, compass, and accelerometer Rich development environment
12. Working with Android Development Tools (ADT) The Android Development Tools (ADT) plugin for Eclipse adds powerful extensions to the Eclipse integrated development environment. It gives you access to other Android development tools from inside the Eclipse IDE. It provides a New Project Wizard It automates and simplifies the process of building your Android application. It provides an Android code editor that helps you write valid XML for your Android manifest and resource files. It will even export your project into a signed APK, which can be distributed to users.
13. Installing ADT To install in Eclipse 3.5 (Galileo) Start Eclipse, then select Help> Install New Software In the Available Software dialog, click Add.... In the Add Site dialog that appears, enter a name for the remote site (for example, "Android Plugin") in the "Name" field. Enter location https://dl-ssl.google.com/android/eclipse/ Back in the Available Software view, you should now see "Developer Tools" added to the list. Select the checkbox next to Developer Tools, which will automatically select the nested tools Android DDMS and Android Development Tools. Click Next. In the resulting Install Details dialog, the Android DDMS and Android Development Tools features are listed. Click Nextto read and accept the license agreement and install any dependencies, then click Finish. Restart Eclipse.
18. Application Fundamentals Applications are written using Java The Android Asset Packaging Tool generates apk (Android Package) files containing the code and any data and resources needed Each application runs in its own Linux process Each application has its own VM Each application has its own user id, permissions are set accordingly
19. Application Components A central feature of Android is that one application can make use of elements of other applications (provided those applications permit it) Android applications don't have a single entry point for everything in the application (no main() function, for example) They have essential components that the system can instantiate and run as needed
20. Application Components Activities - An activity presents a visual user interface for one focused endeavor the user can undertake. Services - A service doesn't have a visual user interface, but rather runs in the background for an indefinite period of time. Broadcast Receivers - A broadcast receiver is a component that does nothing but receive and react to broadcast announcements Content Providers - A content provider makes a specific set of the application's data available to other applications. The data can be stored in the file system, in an SQLite database, or in any other manner that makes sense. Intent - An intent is an Intent object that holds the content of the message
30. Starting with an Activity The main starting point of most applications There is no concept of “main” program Each activity can be executed or invoked at any time One application can have multiple “activities” An example of acrivity would be “Searching for an application in the store” An Activity can have several “Views” or “View Groups” to define its user inteface.
33. What is R.layout.main? <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
34. Views in an Activity The user interface is built using View and ViewGroup objects Basic units of user interface expression on the Android platform View class serves as the base for subclasses ViewGroupclass serves as the base for subclasses called "layouts"
36. The different layouts Linear Layout Relative Layout Table Layout Grid View Tab Layout List View
37. Handling Events in an Activity public class main extends Activity implements OnClickListener Button myButton = (Button) findViewById(R.id.hello_button);myButton.setOnClickListener(this); @Overridepublic void onClick(View v) {}