Introduction to Android Development


Published on

Introduction to Android Development and Mobile Technologies by Prof. Erwin M. Globio, MSIT

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction to Android Development

  1. 1. Mobile Innovations<br />Prof. Erwin M. Globio, MSIT<br />
  2. 2. APP–Market Fit<br />PLATFORM (Android, Bada, Java, Symbian, Maemo, Blackberry; phone exclusive or open)<br />PHONE BRAND (Samsung, Nokia, Sony, LG, BB, ?)<br />PHONE TYPE (Feature phone, Smartphone)<br />TELCO<br />PLANS (variability of cost structures: voice ; text; data per-kb, per-hr)<br />USERS (who, using which phone, on which telco or plan?)<br />
  3. 3. Criteria for Good Apps<br />Well-defined target market; (link to intangible qualities)<br />Functionality: runs successfully and with ease on Android mobile phones, does what it’s supposed to do; <br />Uniqueness in its application; doing something out of the common <br />Creativity in design and in the use of available technologies( UI, graphics, etc)<br />Usefulness in addressing users’ needs and problems, with high potential for adoption by customers <br />Usability, interface and navigation designed for ease and comfort of user<br />Platform and modular design.<br />
  4. 4. Intangible Qualities of Good Products<br />What is its magnet – why will it attract the user?<br />What is its anchor – what will hold the user to it?<br />Does it have a profit engine for the user – will it make the relationship pay?<br />How is it spiced it up to make for a satisfying customer experience?<br />
  5. 5. Business Models<br />Sale of app<br />Share of telco billings (voice, text, data)<br />Subscription (per-use, per month)<br />% of sales<br />Sponsorship or ads<br />(Paid web hosting – service provider or cloud)<br />
  6. 6. Introduction to Android Development<br />Full of potential to be utilized<br />
  7. 7. Topics to be discussed...<br />Introduction to the Android Platform<br />Overview of the Android SDK in Eclipse<br />Working with the User Interface<br />Working with Data Storage<br />Sharing information between applications<br />Networking<br />Advance phone features<br />Publishing applications<br />Best Practices<br />
  8. 8. Topics to be discussed...<br />Introduction to the Android Platform<br />Overview of the Android SDK in Eclipse<br />Working with the User Interface<br />
  9. 9. What is Android?<br />Android is a software stack for mobile devices that includes an operating system, middleware and key applications.<br />
  10. 10. What are the features of Android?<br />Application framework<br />Dalvik virtual machine<br />Integrated browser<br />Optimized graphics<br />SQLite<br />Media support<br />GSM Telephony<br />Bluetooth, EDGE, 3G, and WiFi<br />Camera, GPS, compass, and accelerometer<br />Rich development environment<br />
  11. 11. Android Architecture<br />
  12. 12. Working with Android Development Tools (ADT)<br />The Android Development Tools (ADT) plugin for Eclipse adds powerful extensions to the Eclipse integrated development environment. <br />It gives you access to other Android development tools from inside the Eclipse IDE. <br />It provides a New Project Wizard It automates and simplifies the process of building your Android application. <br />It provides an Android code editor that helps you write valid XML for your Android manifest and resource files. <br />It will even export your project into a signed APK, which can be distributed to users.<br />
  13. 13. Installing ADT<br />To install in Eclipse 3.5 (Galileo)<br />Start Eclipse, then select Help> Install New Software<br />In the Available Software dialog, click Add....<br />In the Add Site dialog that appears, enter a name for the remote site (for example, "Android Plugin") in the "Name" field.<br />Enter location<br />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. <br />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. <br />Restart Eclipse. <br />
  14. 14. What do you get?<br />
  15. 15. Working with Eclipse (New Project)<br />
  16. 16. Working with Eclipse (New Project)<br />
  17. 17. Working with Eclipse (New AVD)<br />
  18. 18. Application Fundamentals<br /> Applications are written using Java <br />The Android Asset Packaging Tool generates apk (Android Package) files containing the code and any data and resources needed <br />Each application runs in its own Linux process <br />Each application has its own VM <br />Each application has its own user id, permissions are set accordingly<br />
  19. 19. Application Components<br /> A central feature of Android is that one application can make use of elements of other applications (provided those applications permit it) <br />Android applications don't have a single entry point for everything in the application (no main() function, for example) <br />They have essential components that the system can instantiate and run as needed<br />
  20. 20. Application Components<br />Activities - An activity presents a visual user interface for one focused endeavor the user can undertake. <br />Services - A service doesn't have a visual user interface, but rather runs in the background for an indefinite period of time. <br />Broadcast Receivers - A broadcast receiver is a component that does nothing but receive and react to broadcast announcements <br />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. <br />Intent - An intent is an Intent object that holds the content of the message<br />
  21. 21. Let’s create our first application<br />
  22. 22. The Application Manifest<br />
  23. 23. The Application Manifest<br />
  24. 24. The Application Manifest<br />
  25. 25. The Application Manifest<br />
  26. 26. The Application Manifest<br />
  27. 27. Looking at the project (Strings.xml)<br />
  28. 28. Looking at the project Layout(main.xml)<br />
  29. 29. Looking at the project (<br />
  30. 30. Starting with an Activity<br />The main starting point of most applications<br />There is no concept of “main” program<br />Each activity can be executed or invoked at any time<br />One application can have multiple “activities”<br />An example of acrivity would be “Searching for an application in the store”<br />An Activity can have several “Views” or “View Groups” to define its user inteface.<br />
  31. 31. Activity Lifecycle<br />
  32. 32. Activity Source<br />package;<br />import;<br />import android.os.Bundle;<br />publicclass Main extends Activity {<br /> @Override<br />publicvoid onCreate(Bundle savedInstanceState) {<br />super.onCreate(savedInstanceState);<br /> setContentView(R.layout.main);<br /> }<br />}<br />
  33. 33. What is R.layout.main?<br /><?xml version="1.0" encoding="utf-8"?><br /><LinearLayout xmlns:android=""<br /> android:orientation="vertical"<br /> android:layout_width="fill_parent"<br /> android:layout_height="fill_parent"<br /> ><br /><TextView <br /> android:layout_width="fill_parent"<br /> android:layout_height="wrap_content"<br /> android:text="@string/hello"<br /> /><br /></LinearLayout><br />
  34. 34. Views in an Activity<br />The user interface is built using View and ViewGroup objects<br />Basic units of user interface expression on the Android platform <br />View class serves as the base for subclasses <br />ViewGroupclass serves as the base for subclasses called "layouts"<br />
  35. 35. View Hierarchy<br />Activity must call the setContentView()<br />
  36. 36. The different layouts<br />Linear Layout<br />Relative Layout<br />Table Layout<br />Grid View<br />Tab Layout<br />List View<br />
  37. 37. Handling Events in an Activity<br />public class main extends Activity implements OnClickListener<br />Button myButton = (Button) findViewById(;myButton.setOnClickListener(this);<br />@Overridepublic void onClick(View v) {}<br />
  38. 38. Thank you!<br />