Introduction to android development


Published on

Do you want to know the secrets of Android Mobile Programming and Development and use it for the advancement of your career in IT? Do you have problems in your thesis or research about Mobile apps or games? Here is an instant solution for your problem. Avail the Android Mobile Programming and Development Training package of Prof Erwin Globio and get free tips about Android Mobile Platform Secrets. For more free information about Android and Android Training visit the following sites: You may contact the Android Trainer at 09393741359 or 09323956678. Call now and be one of the Android Experts.

Published in: Education, Technology
1 Comment
1 Like
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Symbian Nokia Samsung Bada Nokia Maemo
  • Symbian Nokia Samsung Bada Nokia Maemo
  • Symbian Nokia Samsung Bada Nokia Maemo
  • Symbian Nokia Samsung Bada Nokia Maemo
  • Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
  • It declares which permissions the application must have in order to access protected parts of the API and interact with other applications. It also declares the permissions that others are required to have in order to interact with the application's components.
  • It lists the Instrumentation classes that provide profiling and other information as the application is running. These declarations are present in the manifest only while the application is being developed and tested; they're removed before the application is published. In software engineering , program profiling , software profiling or simply profiling , a form of dynamic program analysis (as opposed to static code analysis ), is the investigation of a program's behavior using information gathered as the program executes. The usual purpose of this analysis is to determine which sections of a program to optimize - to increase its overall speed, decrease its memory requirement or sometimes both.
  • Introduction to android development

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