Difference between revisions of "MAP524/DPS924 Lecture 3"

From CDOT Wiki
Jump to: navigation, search
(Activity)
(Android Development Building Blocks (Components))
Line 12: Line 12:
 
** Event Handler: the actual method that handles the event.
 
** Event Handler: the actual method that handles the event.
 
** Easiest way (if available) is to register the event handler via the layout xml file.
 
** Easiest way (if available) is to register the event handler via the layout xml file.
* '''Layout''': [[#Layout|see below]].
+
* '''Layout''': We'll look at several types of layouts in detail next week.
 
* Fragment: created using an XML layout file that looks like a sub-layout and behaves like a sub-activity. We'll look at fragments next week.
 
* Fragment: created using an XML layout file that looks like a sub-layout and behaves like a sub-activity. We'll look at fragments next week.
 
* '''Content Provider''': One way for an application to provide access to data it holds. It's one form of IPC usually used for more standard types of data. See a list of tutorials at the [http://developer.android.com/guide/topics/providers/content-providers.html bottom of this page]. We'll also look at them more closely after the break.
 
* '''Content Provider''': One way for an application to provide access to data it holds. It's one form of IPC usually used for more standard types of data. See a list of tutorials at the [http://developer.android.com/guide/topics/providers/content-providers.html bottom of this page]. We'll also look at them more closely after the break.

Revision as of 13:08, 12 July 2015

Android Development Building Blocks (Components)

This week we're looking at the primary components used for building an Android app. We're finally starting to write code. But first we'll need an overview of:

  • Application Manifest: XML based file that the application outlines the activities, services, broadcast receivers, data providers and permissions that make up the complete application. Used to also hold some information that's now in build.gradle.
  • Activity: see below.
  • Intent: a messaging object you can use to request an action from another app component. One of the primary ways to do IPC on Android. See overview on Android developers.
  • Broadcast Receiver: Enable applications to receive intents that are broadcast by the system or by other applications. See ths BroadcastReceiver tutorial.
  • Service: an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. We'll also look at them more closely after the break.
  • Event handling: See this nice Android Event Handling tutorial
    • Event Listener: a class specialized that contains a single callback method.
    • Event Handler: the actual method that handles the event.
    • Easiest way (if available) is to register the event handler via the layout xml file.
  • Layout: We'll look at several types of layouts in detail next week.
  • Fragment: created using an XML layout file that looks like a sub-layout and behaves like a sub-activity. We'll look at fragments next week.
  • Content Provider: One way for an application to provide access to data it holds. It's one form of IPC usually used for more standard types of data. See a list of tutorials at the bottom of this page. We'll also look at them more closely after the break.
  • Menu: Used to be a critical part of any android application until the menu button's been removed from Android tablets and later phones. Now is still used but isn't as prevalent.
  • Resource: an additional file and static content that your code uses, such as bitmaps, layout definitions, user interface strings, animation instructions, and more.
  • Notification: a news channel that alerts the user to important events as they happen or a log that chronicles events while the user is not paying attention. See the developer guide.
  • Settings and Shared Preferences: display (Settings) and store (Shared Preferences) simple configuration data (strings, numbers) for your application.
  • R.java: A dynamically-generated class named R containing references to resources.

Activity

An actifity is kind of like a screen, and kind of like an application, but is actually something in between. Every application with a user interface needs at least one activity that will display the layout for one screen.

Then an application may choose to start more activities. The following diagram is the reason for many, many crashes of apps on the Android Market because it's so complicated:

Android activity lifecycle.png

Because Android tries to save as much battery power as possible - it puts applications to sleep all the time, and sometimes even kills them alltogether.

Making sure that your user experience is still nice despite that you need to navigate the diagram above to figure out when to load, unload, save, reload both data and the state of the UI.