Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Overview

Android App Development Fundamentals I and II  LiveLesson video uses the same App-Driven Approach that Paul Deitel pioneered in his successful iPhone App Development LiveLesson video.  Viewers learn Android programming technologies in the context of 16 complete working Android apps. Each lesson presents one app and  is structured as follows:  Deitel describes  the app's behavior and the technologies and the architecture used to build it. Then Deitel does a detailed walkthrough of the code. As part of the walkthrough, Deitel discuss the programming concepts involved, and demonstrates the functionality of the appropriate Android API.

By the end of the LiveLesson, viewers will gain hands-on experience with a wide spectrum of essential Android APIs. Viewers will also learn how to use Eclipse and Android Development Tools (ADT) for Eclipse to successfully create, debug, and deploy Android apps.

Subscriber Reviews

Average Rating: 3.3947368421052632 out of 5 rating Based on 38 Ratings

"1 channel sound" - by Anonymous on 16-JUL-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
sound is playing just in one channel, it is not even mono, but simply stereo with 1 channel :(
Report as Inappropriate

Table of Contents

Chapter/Selection

Time

Introduction

Introduction

Preview

00:08:44

Lesson1: Setting Up Your Development Environment

Introduction

Preview

00:02:25

Installing the Java SE 6 Development Kit and the Eclipse IDE

Preview

00:09:56

Installing the Android SDK and the ADT Plugin for Eclipse

Preview

00:08:54

Installing the Android Platforms for developing Android apps

Preview

00:06:02

Creating an AVD to emulate an Android Device for testing purposes

Preview

00:17:15

Lesson 2: Test-Driving an Android App in an AVD

Introduction

Preview

00:01:24

Importing an Eclipse project for an Android app and running the app on an AVD or an actual device

Preview

00:25:20

Lesson 3: Welcome App

Introduction

Preview

00:01:05

Importing the Welcome app into Eclipse and test-driving the app

Preview

00:06:33

Creating the Welcome app's project in Eclipse

Preview

00:10:14

Introducing the Visual Layout Editor

Preview

00:09:31

Replacing main.xml and configuring the layout

Preview

00:14:12

Adding a TextView and configuring it's Text property as a string resource

Preview

00:09:15

Configuring the rest of the TextView's properties

Preview

00:10:08

Adding the ImageViews

Preview

00:08:46

Examining the XML files

Preview

00:11:01

Lesson 4: Tip Calculator App

Introduction

Preview

00:01:44

Importing the Tip Calculator app into Eclipse and test-driving the app

Preview

00:05:54

Overview of the GUI and introduction to TableLayouts and TableRows

Preview

00:02:55

Building the GUI

Preview

00:24:33

Reviewing main.xml

Preview

00:21:06

TipCalculator.java: Import declarations, extending Activity and field declarations

Preview

00:11:48

TipCalculator.java: fields of class TipCalculator and a discussion of app configuration changes

Preview

00:07:28

TipCalculator.java: onCreate method

Preview

00:13:52

TipCalculator.java: updateStandard and updateCustom methods

Preview

00:02:47

TipCalculator.java: onSaveInstanceState method

Preview

00:03:39

TipCalculator.java: OnSeekBarChangeListener

Preview

00:04:09

TipCalculator.java: TextWatcher

Preview

00:03:56

Lesson 5: Favorite Twitter Searches App

Introduction

Preview

00:04:59

Importing the Favorite Twitter Searches app into Eclipse and test-driving the app

Preview

00:07:44

Reviewing the colors.xml, dimen.xml and strings.xml resource files

Preview

00:09:32

Reviewing the main.xml layout

Preview

00:13:09

Reviewing the new_tag_view.xml layout

Preview

00:03:37

FavoriteTwitterSearches.java: Import declarations, extending Activity and field declarations

Preview

00:04:20

FavoriteTwitterSearches.java: onCreate method

Preview

00:03:16

FavoriteTwitterSearches.java: refreshButtons and makeTag utility methods

Preview

00:05:47

FavoriteTwitterSearches.java: makeTagGUI utility method

Preview

00:04:03

FavoriteTwitterSearches.java: saveButtonListener anonymous inner class

Preview

00:04:49

FavoriteTwitterSearches.java: clearTagsButtonListener anonymous inner class

Preview

00:03:06

FavoriteTwitterSearches.java: queryButtonListener and editButtonListener anonymous inner classes

Preview

00:06:18

Lesson 6: Flag Quiz Game App

Introduction

Preview

00:04:11

Importing the Flag Quiz Game app and test-driving the app

Preview

00:08:01

Reviewing the colors.xml, dimen.xml and strings.xml resource files

Preview

00:06:01

Reviewing the main.xml layout

Preview

00:06:51

Reviewing the guess_button.xml layout

Preview

00:02:00

Reviewing the incorrect_shake.xml flag-shake animation

Preview

00:07:29

FlagQuizGame.java: Import declarations, extending Activity and field declarations

Preview

00:07:07

FlagQuizGame.java: onCreate method

Preview

00:04:46

FlagQuizGame.java: resetQuiz method

Preview

00:05:55

FlagQuizGame.java: loadNextFlag, getTableRow and getCountryName methods

Preview

00:07:39

FlagQuizGame.java: submitGuess and disableButtons methods

Preview

00:07:13

FlagQuizGame.java: onCreateOptionsMenu and onOptionsItemSelected methods

Preview

00:10:50

FlagQuizGame.java: OnClickListener guessButtonListener

Preview

00:00:57

FlagQuizGame.java: Android.xml

Preview

00:04:46

Lesson 7: Cannon Game App

Introduction

Preview

00:03:38

Test-driving the Cannon Game app

Preview

00:05:15

Reviewing the AndroidManifest.xml and strings.xml files

Preview

00:03:54

Reviewing the main.xml layout

Preview

00:01:22

Class Line represents a line with two endpoints

Preview

00:00:45

CannonGame.java: package statement, import statements and instance variables

Preview

00:02:20

CannonGame.java: Overriding Activity methods onCreate, onPause and onDestroy

Preview

00:02:49

CannonGame.java: Overriding Activity method onTouchEvent

Preview

00:01:30

CannonGame.java: Anonymous inner class that extends SimpleOnGestureListener

Preview

00:01:06

CannonView.java: package and import statements, extending class SurfaceView and field declarations

Preview

00:04:26

CannonView.java: Constructor

Preview

00:05:20

CannonView.java: Overridden onSizeChanged method

Preview

00:03:05

CannonView.java: newGame method

Preview

00:01:35

CannonView.java: updatePositions method

Preview

00:04:48

CannonView.java: fireCannonball method

Preview

00:01:29

CannonView.java: alignCannon method

Preview

00:01:14

CannonView.java: drawGameElements method

Preview

00:05:08

CannonView.java: showGameOverDialog method

Preview

00:03:13

CannonView.java: stopGame and releaseResources methods

Preview

00:01:15

CannonView.java: SurfaceHolder.Callback methods

Preview

00:03:12

CannonView.java: CannonThread class

Preview

00:06:24

Lesson 8: SpotOn Game App

Introduction

Preview

00:03:48

Test-driving the SpotOn Game app

Preview

00:08:16

Reviewing the AndroidManifest.xml file

Preview

00:01:21

Reviewing the layout files--main.xml, untouched.xml and life.xml

Preview

00:04:21

SpotOn.java: SpotOn subclass of Activity

Preview

00:03:19

SpotOnView.java: package statement and import statements

Preview

00:01:16

SpotOnView.java: Extending class View and field declarations

Preview

00:04:55

SpotOnView.java: Constructor

Preview

00:02:03

SpotOnView.java: Overridden onSizeChanged method

Preview

00:00:52

SpotOnView.java: pause, cancelAnimation and resume methods

Preview

00:04:12

SpotOnView.java: resetGame method

Preview

00:03:15

SpotOnView.java: initializeSoundEffects method

Preview

00:01:02

SpotOnView.java: displayScores method

Preview

00:00:23

SpotOnView.java: Runnable addSpotRunnable and method addNewSpot

Preview

00:11:48

SpotOnView.java: Runnable addSpotRunnable and method addNewSpot

Preview

00:00:39

SpotOnView.java: Overridden onTouchEvent method

Preview

00:00:45

SpotOnView.java: touchedSpot method

Preview

00:02:15

CannonView.java: missedSpot method

Preview

00:03:00

Lesson 9: Doodlz App

Introduction

Preview

00:03:27

Test-driving the Doodlz app

Preview

00:08:34

Reviewing the AndroidManifest.xml file

Preview

00:02:20

Reviewing the layout files--main.xml, color_dialog.xml and width_dialog.xml

Preview

00:05:32

Doodlz.java: package statement, import statements and fields

Preview

00:05:12

Doodlz.java: Overridden methods onCreate and onPause

Preview

00:01:49

Doodlz.java: Methods enableAccelerometerListening and disableAccelerometerListening

Preview

00:04:13

Doodlz.java: Implementing interface SensorEventListener

Preview

00:04:40

Doodlz.java: Overridden methods onCreateOptionsMenu and onOptionsItemSelected

Preview

00:02:10

Doodlz.java: Method showColorDialog and imlementing interfaces OnSeekBarChangeListener and OnClickListener

Preview

00:06:50

Doodlz.java: Method showLineWidthDialog and imlementing interfaces OnSeekBarChangeListener and OnClickListener

Preview

00:04:20

DoodleView.java: package statement and import statements

Preview

00:02:20

DoodleView.java: Extending class View, fields, constructor and overriding method onSizeChanged

Preview

00:04:53

DoodleView.java: Methods clear, setDrawingColor, getDrawingColor, setLineWidth and getLineWidth

Preview

00:01:35

DoodleView.java: Overriding method onDraw

Preview

00:02:01

DoodleView.java: Overriding method onTouchEvent

Preview

00:06:35

DoodleView.java: Method touchStarted

Preview

00:02:21

DoodleView.java: Method touchMoved

Preview

00:02:39

DoodleView.java: Method touchEnded

Preview

00:00:45

DoodleView.java: saveImage

Preview

00:06:13

Lesson 10: Address Book app

Test-driving the Address Book

Preview

00:06:23

Reviewing the AndroidManifest.xml file

Preview

00:03:14

Styles defined in styles.xml and placed in the app's res/values folder

Preview

00:06:51

XML representation of a Drawable that's used to place a border around a TextView

Preview

00:01:51

Layout for each item in the AddressBook ListActivity's built-in ListView

Preview

00:05:03

ViewContact Activity's layout: view_contact.xml

Preview

00:01:37

AddEditContact Activity's layout: add_contact.xml

Preview

00:03:46

AddressBook activity and ViewContact activity menu layouts

Preview

00:10:17

AddressBook.java: package statement, import statements and fields

Preview

00:04:57

AddressBook.java: Overriding Activity method onCreate

Preview

00:03:49

AddressBook.java: Overriding Activity methods onResume and onStop

Preview

00:03:27

AddressBook.java: GetContactsTask subclass of AsyncTask

Preview

00:06:43

AddressBook.java: Overriding Activity methods onCreateOptionsMenu and onOptionItemSelected

Preview

00:06:05

AddressBook.java: OnItemClickListener viewContactListener that responds to ListView touch events

Preview

00:05:23

ViewContact.java: package statement, import statements and instance variables

Preview

00:01:51

ViewContact.java: Overriding Activity methods onCreate and onResume

Preview

00:02:01

ViewContact.java: LoadContactTask subclass of AsyncTask

Preview

00:04:25

ViewContact.java: Overriding Activity methods onCreateOptionsMenu and onOptionItemSelected

Preview

00:03:17

ViewContact.java: deleteContact method

Preview

00:03:24

AddEditContact.java: package statement, import statement, instance variables and overriding method onCreate

Preview

00:04:23

AddEditContact.java: saveContactButtonClicked event listener and method saveContact

Preview

00:02:54

DatabaseConnector.java: Utility class that handles all the SQLite database interactions

Preview

00:14:57

Lesson 11: Route Tracker app

Reviewing the AndroidManifest.xml file

Preview

00:04:59

RouteTracker Activity's layout: main.xml

Preview

00:02:13

RouteTracker.java: package statement, import statements and fields

Preview

00:06:10

RouteTracker.java: Overriding Activity method onCreate

Preview

00:03:01

RouteTracker.java: Overriding Activity methods onStart and onStop

Preview

00:06:43

RouteTracker.java: updateLocation method

Preview

00:02:54

RouteTracker.java: Anonymous inner class that implements LocationListener to respond to LocationManager events

Preview

00:00:56

RouteTracker.java: Anonymous inner class that implements GpsStatus.Listener to determine when the app is able to get a GPS fix t

Preview

00:00:53

RouteTracker.java: Overriding MapActivity method isRouteDisplayed

Preview

00:00:34

RouteTracker.java: Overriding Activity methods onCreateOptionsMenu and onOptionItemSelected

Preview

00:01:23

RouteTracker.java: Anonymous inner class that OnCheckedChangeListener to respond to trackingToggleButton's events

Preview

00:01:58

BearingFrameLayout.java: package statement, import statements and instance variables

Preview

00:01:21

BearingFrameLayout.java: getChildLayoutParams method

Preview

00:02:37

BearingFrameLayout.java: Constructor

Preview

00:01:55

BearingFrameLayout.java: Overriding View method dispatchDraw

Preview

00:02:54

BearingFrameLayout.java: setBearing and getMapView methods

Preview

00:00:26

RouteOverlay.java: package statement, import statements and instance variables

Preview

00:01:03

RouteOverlay.java: Constructor

Preview

00:00:33

RouteOverlay.java: addPoint and reset methods

Preview

00:00:36

RouteOverlay.java: Overriding View method draw

Preview

00:03:57

Lesson 12: Slideshow App

Test-driving the Slideshow app

Preview

00:07:00

Reviewing the AndroidManifest.xml file file

Preview

00:01:14

slideshow_list_item.xml: Layout for the ListView items in the Slideshow ListActivity

Preview

00:02:44

slideshow_menu.xml: Slideshow ListActivity's menu

Preview

00:00:37

slideshow_name_edittext.xml: Custom GUI for the Set Slideshow Name AlertDialog

Preview

00:00:36

slideshow_editor.xml: Layout for the SlideshowEditor ListActivity

Preview

00:01:06

slideshow_edit_item.xml: Layout for ListView items in the SlideshowEditor ListActivity

Preview

00:00:29

slideshow_player.xml: Layout for the SlideshowPlayer Activity

Preview

00:00:28

SlideshowInfo.java: Stores data for a single slideshow

Preview

00:01:03

Slideshow.java: package statement, import statement and fields

Preview

00:03:18

Slideshow.java: Overriding Activity method onCreate

Preview

00:01:25

Slideshow.java: Overriding Activity methods onCreateOptionsMenu, onOptionsItemSelected and onActivityResult

Preview

00:08:03

Slideshow.java: Nested classes ViewHolder and SlideshowAdapter--Using the View-Holder patter to populate a ListView

Preview

00:12:04

Slideshow.java: Nested class LoadThumbnailTask for loading an image thumbnail in a separate thread

Preview

00:02:42

Slideshow.java: Event listener for playButton's click event

Preview

00:00:45

Slideshow.java: Event listener for editButton's click event

Preview

00:00:59

Slideshow.java: Event listener for deleteButton's click event

Preview

00:01:45

Slideshow.java: Utility method getSlideshowInfo returns a SlideshowInfo object for the slideshow with the specified name

Preview

00:00:36

Slideshow.java: Utility method getThumbnail loads an image's thumbnail Bitmap from a specified Uri

Preview

00:02:31

SlideshowEditor.java: package statement, import statement and instance variables

Preview

00:01:18

SlideshowEditor.java: Overriding Activity method onCreate

Preview

00:01:39

SlideshowEditor.java: Overriding Activity method onActivityResult

Preview

00:02:11

SlideshowEditor.java: Event listener for doneButton's click event

Preview

00:00:28

SlideshowEditor.java: Event listener for addPictureButton's click event

Preview

00:03:16

SlideshowEditor.java: Event listener for addMusicButton's click event

Preview

00:01:41

SlideshowEditor.java: Event listener for playButton's click event

Preview

00:00:47

SlideshowEditor.java: Event listener for deleteButton's click event

Preview

00:00:38

SlideshowEditor.java: Nested classes ViewHolder and SlideshowEditorAdapter--Displaying slideshow images using the View-Holder pa

Preview

00:04:02

SlideshowEditor.java: Nested class LoadThumbnailTask for loading image thumbnails in a separate thread

Preview

00:02:00

SlideshowPlayer.java: package statement, import statement and fields

Preview

00:02:36

SlideshowPlayer.java: Overriding Activity method onCreate

Preview

00:03:15

SlideshowPlayer.java: Overriding Activity methods onStart, onPause, onResume, onStop and onDestroy

Preview

00:01:12

SlideshowPlayer.java: Overriding Activity method onSaveInstanceState

Preview

00:01:02

SlideshowPlayer.java: Runnable updateSlideshow displays the next image in the slideshow and schedules itself to run again in fiv

Preview

00:04:53

Lesson 13: Enhanced Slideshow App

Test-driving the Enhance d Slideshow app

Preview

00:05:15

Reviewing the AndroidManifest.xml file

Preview

00:01:17

slideshow_editor.xml: Layout for the SlideshowEditor ListActivity

Preview

00:01:34

camera_preview.xml: Layout for the PictureTaker Activity

Preview

00:00:18

slideshow_player.xml: Layout for the SlideshowPlayer Activity

Preview

00:00:37

MediaItem.java: MediaItem class used to represent images and videos in a slideshow

Preview

00:02:33

SlideshowInfo.java: Modified SlideshowInfo class stores a List of MediaItems

Preview

00:03:29

Slideshow.java: package statement, import statement and fields

Preview

00:01:57

Slideshow.java: Overriding Activity method onCreate

Preview

00:03:23

Slideshow.java: Nested class LoadSlideshowTask deserializes the List<SlideshowInfo> object from a file or creates the object if

Preview

00:05:33

Slideshow.java: Nested class SaveSlideshowTask serializes the List<SlideshowInfo> object to a file

Preview

00:03:03

Slideshow.java: Overriding Activity methods onCreateOptionsMenu, onOptionsItemSelected and onActivityResult

Preview

00:01:31

Slideshow.java: Utility method getThumbnail loads an image's thumbnail Bitmap from a specified Uri

Preview

00:00:48

SlideshowEditor.java: Upated constants and method onActivityResult

Preview

00:02:07

SlideshowEditor.java: Event listeners for the takePictureButton and addVideoButton

Preview

00:02:07

SlideshowEditor.java: Updated nested class LoadThumbnailTask loads image or video thumbnails in a separate thread

Preview

00:00:36

PictureTaker.java: package statement, import statement and fields

Preview

00:03:11

PictureTaker.java: Overriding Activity method onCreate

Preview

00:02:01

PictureTaker.java: Overriding Activity methods onCreateOptionsMenu and onOptionsItemSelected

Preview

00:01:26

PictureTaker.java: Implementing SurfaceHolder.Callback

Preview

00:03:20

PictureTaker.java: Implementing Camera.PictureCallback

Preview

00:05:05

PictureTaker.java: Implementing OnTouchListener to handle touch events

Preview

00:01:13

SlideshowPlayer.java: package statement, import statement and fields

Preview

00:01:10

SlideshowPlayer.java: Overriding Activity method onCreate

Preview

00:00:37

SlideshowPlayer.java: Updated Runnable updateSlideshow that displays the next image or plays the next video in the slideshow

Preview

00:03:16

Lesson 14: WeatherViewer App

Test-driving the WeatherViewer app

Preview

00:09:38

Reviewing the AndroidManifest.xml file

Preview

00:02:53

weather_widget_provider_info.xml: WeatherProvider app widget configuration

Preview

00:02:39

main.xml: WeatherViewerActivity's layout

Preview

00:01:42

arrays.xml: Default cities and ZIP codes

Preview

00:00:33

actionmenu.xml: WeatherViewerActivity's menu layout

Preview

00:02:22

WeatherViewerActivity.java: package statement, import statements and fields

Preview

00:03:46

WeatherViewerActivity.java: Overriding Activity method onCreate

Preview

00:02:35

WeatherViewerActivity.java: Overriding Activity methods onSaveInstanceState and onRestoreInstanceState

Preview

00:00:38

WeatherViewerActivity.java: Overriding Activity method onResume

Preview

00:02:17

WeatherViewerActivity.java: Implementing CitiesListChangeListener

Preview

00:01:26

WeatherViewerActivity.java: Method loadSelectedForecast

Preview

00:01:12

WeatherViewerActivity.java: Method setPreferred

Preview

00:02:33

WeatherViewerActivity.java: Method loadSavedCities

Preview

00:01:30

WeatherViewerActivity.java: Method addSampleCities

Preview

00:00:49

WeatherViewerActivity.java: Method addCity

Preview

00:00:43

WeatherViewerActivity.java: Method selectForecast

Preview

00:04:33

WeatherViewerActivity.java: Methods correctTab and selectTab

Preview

00:01:24

WeatherViewerActivity.java: Overriding Activity methods onCreateOptionsMenu and onOptionsItemSelected

Preview

00:02:56

WeatherViewerActivity.java: Methods showAddCityDialog and onDialogFinished

Preview

00:02:16

WeatherViewerActivity.java: Method getCityNameFromZipcode

Preview

00:01:55

WeatherViewerActivity.java: Implementing LocationLoadedListener

Preview

00:01:15

WeatherViewerActivity.java: Method setupTabs

Preview

00:01:35

WeatherViewerActivity.java: Implementing TabListener

Preview

00:01:02

CitiesFragment.java: package statement, import statements and fields

Preview

00:02:54

CitiesFragment.java: Methods onActivityCreated and setCitiesListChangeListener

Preview

00:02:15

CitiesFragment.java: Nested class CitiesArrayAdapter

Preview

00:02:55

CitiesFragment.java: Implementing OnItemLongClickListener

Preview

00:03:13

CitiesFragment.java: Methods onSaveInstanceState, addCity and onListItemClick

Preview

00:01:19

AddCityDialogFragment.java: Class for a dialog that allows the user to add a city

Preview

00:05:27

ForecastFragment.java: Superclass for SingleForecastFragment and FiveDayForecastFragment

Preview

00:01:10

SingleForcastFragment.java: package statement, import statements and fields

Preview

00:02:30

SingleForcastFragment.java: Overloaded method newInstance

Preview

00:01:16

SingleForcastFragment.java: Methods onCreate, onSaveInstanceState and getZipcode

Preview

00:00:58

SingleForcastFragment.java: Method onCreateView

Preview

00:01:28

SingleForcastFragment.java: Method onActivityCreated

Preview

00:01:52

SingleForcastFragment.java: Implementing LocationLoadedListener

Preview

00:01:38

SingleForcastFragment.java: Implementing ForecastListener

Preview

00:02:59

ReadLocationTask.java: package statement, import statements and fields

Preview

00:06:18

ReadLocationTask.java: Nested interface LocationLoadedListener and ReadLocationTask's constructor

Preview

00:00:50

ReadLocationTask.java: Method doInBackground and onPostExecute

Preview

00:06:56

ReadForecastTask.java: package statement, import statements and fields

Preview

00:02:21

ReadForecastTask.java: ForecastListener interface, constructor and setSampleSize method

Preview

00:01:48

ReadForecastTask.java: Methods doInBackground and onPostExecute

Preview

00:06:53

ReadForecastTask.java: Method getIconBitmap

Preview

00:02:07

ReadForecastTask.java: Method readForecast

Preview

00:02:39

FiveDayForecastFragment.java: package statement, import statements and fields

Preview

00:04:08

FiveDayForecastFragment.java: Overloaded newInstance methods

Preview

00:00:42

FiveDayForecastFragment.java: Methods onCreate and getZipcode

Preview

00:00:27

FiveDayForecastFragment.java: Method onCreateView

Preview

00:02:57

FiveDayForecastFragment.java: Implementing LocationLoadedListener

Preview

00:01:06

FiveDayForecastFragment.java: Implementing FiveDayForecastLoadedLoadedListener

Preview

00:00:53

FiveDayForecastFragment.java: Method loadForecastIntoView

Preview

00:01:28

ReadFiveDayForecast.java: package statement, import statements, fields and nested interface FiveDayForecastLoadedListener

Preview

00:01:30

ReadFiveDayForecast.java: Constructor

Preview

00:00:24

ReadFiveDayForecast.java: Method doInBackground

Preview

00:04:31

ReadFiveDayForecast.java: Methods readDailyForecast and onPostExecute

Preview

00:02:52

DailyForecast.java: Class DailyForecast encapsulates a single day's weather information

Preview

00:01:02

WeatherProvider.java: package statement, import statements and constant

Preview

00:03:41

WeatherProvider.java: Methods onUpdate, getZipcode and onReceive

Preview

00:02:29

WeatherProvider.java: Method startUpdateService

Preview

00:01:08

WeatherProvider.java: Nested class WeatherService

Preview

00:03:01

WeatherProvider.java: Nested class WeatherService's onForecastLoaded method

Preview

00:04:44

WeatherProvider.java: Nested class WeatherService's nested listener class WeatherServiceLocationLoadedListener

Preview

00:02:15

Lesson 15: Pizza Ordering App

Test-driving the Pizza Ordering app

Preview

00:03:52

Reviewing the AndroidManifest.xml file

Preview

00:00:40

Reviewing the main.xml, strings.xml and arrays.xml files

Preview

00:01:35

Pizza.java: package statement, import statements and fields

Preview

00:03:16

Pizza.java: Overriding Activity method onCreate

Preview

00:04:35

Pizza.java: Overriding Activity method onResume

Preview

00:05:20

Pizza.java: Overriding Activity method onPause

Preview

00:00:55

Pizza.java: Method loadResources

Preview

00:01:18

Pizza.java: Method playFirstMessage

Preview

00:02:01

Pizza.java: Method utteranceCompleted

Preview

00:04:57

Pizza.java: Method listen

Preview

00:01:50

Pizza.java: Overriding Activity method onActivityResult

Preview

00:06:12

Pizza.java: Methods playError and reset

Preview

00:00:54

Pizza.java: Overriding Activity methods onSaveInstanceState and onRestoreInstanceState

Preview

00:01:08

Pizza.java: Method sendMessage

Preview

00:03:04

Pizza.java: Handler viewUpdateHandler for updating the GUI

Preview

00:02:44

Pizza.java: Method allowUserToQuit

Preview

00:00:50

Pizza.java: Overriding Activity method onDestroy

Preview

00:00:20

Lesson 16: Voice Recorder App

Test-driving the Voice Recorder app

Preview

00:05:37

Reviewing the AndroidManifest.xml file

Preview

00:00:44

main.xml: Layout for the VoiceRecorder Activity

Preview

00:01:25

name_edittext.xml: Layout for the custom AlertDialog used to name a recording

Preview

00:00:30

saved_recordings.xml: Layout for the SavedRecordings ListActivity

Preview

00:02:45

saved_recordings_row.xml: Custom ListView item layout for the SavedRecordings ListActivity

Preview

00:01:39

play_pause_drawable.xml: Drawable for the Play/Pause Button

Preview

00:03:15

VoiceRecorder.java: package statement, import statements and fields

Preview

00:01:24

VoiceRecorder.java: Overriding Activity methods onCreate, onResume and onPause

Preview

00:03:03

VoiceRecorder.java: OnCheckedChangedListener recordButtonListener starts and stops a recording

Preview

00:07:35

VoiceRecorder.java: Runnable updateVisualizer updates the VisualizerView

Preview

00:02:16

VoiceRecorder.java: OnClickListener saveButtonListener allows the use to save a new recording

Preview

00:03:26

VoiceRecorder.java: OnClickListener deleteButtonListener allows the user to delete a new recording

Preview

00:01:09

VoiceRecorder.java: OnClickListener viewSavedRecordingsListener launches the SavedRecordings ListActivity

Preview

00:00:50

VisualizerView.java: package statement, import statements, fields and constructor

Preview

00:02:29

VisualizerView.java: Overriding View method onSizeChanged

Preview

00:01:22

VisualizerView.java: Methods clear and addAmplitude

Preview

00:01:19

VisualizerView.java: Overriding View method onDraw

Preview

00:01:59

SavedRecordings.java: package statement, import statements and fields

Preview

00:02:14

SavedRecordings.java: Activity methods onCreate, onResume and onPause

Preview

00:01:34

SavedRecordings.java: Nested class SavedRecordingsAdapter (subclass of ArrayAdapter)

Preview

00:04:30

SavedRecordings.java: OnClickListener emailButtonListener allows the user to send a recording

Preview

00:02:30

SavedRecordings.java: OnClickListener deleteButtonListener allows the user to delete a saved recording

Preview

00:01:20

SavedRecordings.java: Overriding ListActivity method onListItemClick

Preview

00:03:53

SavedRecordings.java: OnSeekBarChangedListener progressChangedListener allows the user to seek to a specific position in the cur

Preview

00:01:29

SavedRecordings.java: Runnable updater changes the SeekBar's thumb position based on the current playback position in a recordin

Preview

00:01:31

SavedRecordings.java: OnCheckedChangedListener playPauseButtonListener allows the user to play and pause the currently selected

Preview

00:01:18

Lesson 17: Address Book app

Test-driving the Enhanced Address Book app

Preview

00:04:10

Reviewing the AndroidManifest.xml file

Preview

00:01:23

addressbook_menu.xml: Updated menu for the AddressBook Activity

Preview

00:00:35

view_contact_menu.xml: Updated menu for the ViewContact Activity

Preview

00:00:41

device_chooser_layout.xml and device_layout.xml: Layout for the DeviceChooser ListActivity and layout for its ListView items

Preview

00:01:28

AddressBook.java: package statement, import statements and fields

Preview

00:07:17

AddressBook.java: Updated Activity methods onCreate and onResume

Preview

00:03:19

AddressBook.java: Updated Activity method onOptionsItemSelected

Preview

00:02:05

AddressBook.java: Activity method onActivityResult

Preview

00:02:39

AddressBook.java: Method listenForContact and nested class ReceiveContactTask

Preview

00:07:02

AddressBook.java: Utility method displayToastViaHandler

Preview

00:00:49

ViewContact.java: package statement, import statements and fields

Preview

00:01:51

ViewContact.java: Updated Activity method onCreate

Preview

00:00:35

ViewContact.java: Updated Activity method onOptionsItemSelected

Preview

00:01:52

ViewContact.java: Overriding Activity method onActivityResult

Preview

00:01:46

ViewContact.java: Nested class SendContactTask sends a contact to a remote device using a background thread

Preview

00:04:09

DeviceChooserActivity.java: package statement, import statements and fields

Preview

00:02:24

DeviceChooserActivity.java: Overriding Activity method onCreate

Preview

00:04:42

DeviceChooserActivity.java: Overriding Activity method onDestroy

Preview

00:00:38

DeviceChooserActivity.java: Method startDiscovery

Preview

00:01:04

DeviceChooserActivity.java: Implementing the OnItemClickListener deviceListItemClickListener

Preview

00:01:10

DeviceChooserActivity.java: BroadcastReceiver deviceChooserReceiver listens for broadcast Intents that indicate when a device is

Preview

00:02:09

Lesson 18: HTML5 Favorite Twitter Searches App

Test-Driving the HTML5 Favorite Twitter Searches App

Preview

00:06:40

FavoriteTwitterSearches.html: HTML5 document for the Favorite Twitter Searches web app

Preview

00:11:33

style.css: Styles used in the Favorite Twitter Searches app

Preview

00:06:28

FavoriteTwitterSearches.cs: Variable tags and function start

Preview

00:03:08

FavoriteTwitterSearches.cs: Function loadSearches

Preview

00:11:01

FavoriteTwitterSearches.cs: Function clearAllSearches

Preview

00:00:56

FavoriteTwitterSearches.cs: Function saveSearch

Preview

00:01:32

FavoriteTwitterSearches.cs: Functon deleteTag

Preview

00:00:44

FavoriteTwitterSearches.cs: Function editTag

Preview

00:02:08

Extras

The publisher has provided additional content related to this title.


Description
Content

These files have been provided by the publisher.

  • SupportingFiles
  • Chapter_03_Welcome.zip
  • Chapter_04_Tip_Calculator.zip
  • Chapter_05_Favorite_Twitter_Searches.zip
  • Chapter_06_Flag_Quiz_Game.zip
  • Chapter_07_Cannon_Game.zip
  • Chapter_08_Spot_On.zip
  • Chapter_09_Doodlz.zip
  • Chapter_10_Address_Book.zip
  • Chapter_11_Route_Tracker.zip
  • Chapter_12_Slideshow.zip
  • Chapter_13_Enhanced_Slideshow.zip
  • Chapter_14_Weather_Viewer.zip
  • Chapter_15_Pizza.zip
  • Chapter_16_Voice_Recorder.zip
  • Chapter_17_Enhanced_Address_Book.zip
  • Chapter_19_HTML5_Favorite_Twitter_Searches.zip