Android application development


Published on

Published in: Education
  • Be the first to comment

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

No notes for slide

Android application development

  1. 1. Introduction toApplication Development Surendra Bajracharya Feb 4th, 2013
  2. 2. Android Development Agenda• What is Android?• Installation (Eclipse)• Android Application Fundamentals• Hello World/Android Demo using Eclipse• Demo using IntelliJ (Login UI)• Google Maps application demo• Comments/Feedback
  3. 3. Android Development What is Android?• Android is an open source operating system, createdby Google specifically for use on mobile devices (cellphones and tablets)• Linux based (2.6 kernel)• Can be programmed in C/C++ but most appdevelopment is done in Java (Java access to C Librariesvia JNI (Java Native Interface))
  4. 4. Android Development Android System Architecture
  5. 5. Android Development Different Android VersionsEach major release is named in alphabetical order after a dessert or sugary treat; forexample, version 1.5 Cupcake was followed by 1.6 Donut.Most Android devices to date still run the older OS version 2.3 Gingerbread that wasreleased on December 6, 2010, due to most lower-end devices still being released with it.
  6. 6. Android Development Installation (30 min ~ 1 hr)• Eclipse – – 3.5 or later version – Classic or a Java edition• Android SDK and Android Development Tools (ADT)Plugin –• JDK, version 5, 6, or 7
  7. 7. Android Development Android ADT Plugin and SDK• In Eclipse: – Navigate to Help | Install New Software – Follow the instructions on the android site to install the plugin.• Point Eclipse to the location of the Android SDK: – In Eclipse, navigate to Preferences | Android – Browse to or enter the location in the “SDK Location” text field. – Apply, then OK
  8. 8. Android Development
  9. 9. Android Development Install packages•In Eclipse, navigate to Window | Android SDK Manager• Install packages from the list – At least 2.2 and 2.3 for current phone development – One tablet package.
  10. 10. Android Development
  11. 11. Android Development IntelliJ IDEA (another IDE)•IntelliJ IDEA 12 offers advanced support for development Androidapplications with the latest Android 4.2 SDK.•Code Assistance•Refactorings•Deploy, run and debug Android applications either in emulator or ona real device.•UI Designer: With IntelliJ IDEA you can build rich UI for your Androidapplications easily by drag and drop. The designer provides supportfor layouts, custom components, device profiles, refactorings,morphing and quick-fixes.
  12. 12. Android Development Android Application Fundamentals•Android Applications are Collections of reusablecomponents.•An Android App may have multiple entry points, and mayuse components from other applications.•In Android, the flow of user interaction across one ormore applications is called a “Task.”
  13. 13. Android Development Application Components Activity ◦ Present a visual user interface for one focused endeavor the user can undertake ◦ Example: a list of menu items users can choose from Services ◦ Run in the background for an indefinite period of time ◦ Example: calculate and provide the result to activities that need it Broadcast Receivers ◦ Receive and react to broadcast announcements ◦ Example: announcements that the time zone has changed Content Providers ◦ Store and retrieve data and make it accessible to all applications ◦ Example: Android ships with a number of content providers for common data types (e.g., audio, video, images, personal contact information, etc.) Intents ◦ Hold the content of a message ◦ Example: convey a request for an activity to present an image to the user or let the user edit some text
  14. 14. Android Development AndroidManifest.xml•An applications contents are described in the AndroidManifest.xmlfile.•All Activities, Services, Content Providers, and Broadcast Receivers inan app must have an entry in this file.•Activities register the Intents they respond to using “Intent Filters”.•Security permissions, version info, and the minimum sdk version arealso registered in AndroidManifest.xml.
  15. 15. Android Development Resources• An applications resources are described in .xml files in the /respath• Include UI layouts, drawables, values (such as strings and styles),and even raw .xml files and other data.• Resources are accessed using Context.getResources() and theR class – The R class is defined in, which is generated for each application. – Each resource is assigned a public static final int id (compile – time constant) in the R class.
  16. 16. Android Development Activities• An Activity is a unit of user interaction within an androidapplication.• Activities are represented by the Activity class – All android apps subclass Activity – Activities have methods that can be overridden to detect stages in the activity lifecycle.
  17. 17. Android Development Default android app package com.sourceallies.helloworldandroidapp; 1. The Activity import; import android.os.Bundle; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello); } } 2. onCreate is a lifecycle method of the Activity3. The content view of theActivity is set to main.xml
  18. 18. Android Development Lifecycle methods of Activity•onCreate()•onStart()•onResume()•onPause()•onRestart()•onStop()•onRestart()All lifecycle methods mustcall through to super!More Information:
  19. 19. Android Development Android Emulator: 2.2 Device
  20. 20. Android Development Hello World/Android Demo...• Create a new AVD (Android Virtual Device)• Setup a new Android Project in Eclipse• Write/run the program Setting up an AVD• Open Eclipse and go to the Window tab• Select the AVD manager from the dropdown• Once the AVD manager is open, click New• Name your AVD, and then select a version of the Android API forthe device to use• Click “Create AVD” – let’s say myAVD•Cant find AVD or SDK manager in Eclipse - solve it by going to Window ->Customize Perspective, and under Command Groups Availability tab check the Android SDKand AVD Manager
  21. 21. Android Development Making an Android Project• In Eclipse, go to File->New->Project• Next, open the Android Folder and select Android Project• Setup your project, so itll run on your AVD (name it, select API,etc...)
  22. 22. Android Development Producing an Android App javacJava code Byte code dx .java .class Dalvik exe classes.dex aapt Byte code <xml> Other .class files AndroidManifest.xml .apk Android Package Kit <str> Resources
  23. 23. Android Development
  24. 24. Android Development Writing the Program• Open the .java file created by the project• Initially the code should look like this:
  25. 25. Android Development Writing the Program...continuedAfter the initial code of the .java file is generated, edit the code sothat it then looks like this:
  26. 26. Android Development Running the App• Once the program is complete, save it, and then go up to Run.• Eclipse will then start an appropriate AVD and load the app onto theemulator• Once the file is installed on the AVD, itll launch and you will havecompleted your first HELLO world/Android app!
  27. 27. Android DevelopmentRunning the App R.javaDo notmodify! activity_hello.xml strings.xml
  28. 28. Android Development AndroidManifest.xml
  29. 29. Android Development Important Filessrc/ Activity which is started when app executesres/layout/activity_hello.xml Defines & lays out widgets for the activityres/values/strings.xml String constants used by appgen/ (Don’t touch!) Auto-generated file with identifiers from activity_hello.xml, strings.xml, and elsewhereAndroidManifest.xml Declares all the app’s components Names libraries app needs to be linked against Identifies permissions the app expects to be granted
  30. 30. Android Development Various Layouts
  31. 31. Android Development Various Widgets
  32. 32. Android Development Demo Using IntelliJ IDEA 12.0.1
  33. 33. Android Development Google Maps Demo Maps API Key: 0qMq9sUdrh4V367erwY0h76w-hXBG9kzeV1R8bg
  34. 34. Android Development
  35. 35. Android Development THANKS!!! Comments/Feedback