Books & Videos

Table of Contents

Chapter: Part I

Introduction to Android App Development Fundamentals I LiveLessons

07m 25s

Chapter: Before You Begin: Setting Up Your Development Environment

Overview and contacting Paul Deitel

02m 45s

Downloading and installing the ADT Tools Bundle and Android Studio

10m 39s

Using the SDK manager to install Android platforms and tools

09m 8s

Using the AVD manager to configure Android Virtual Devices for testing apps

10m 2s

Configuring the IDE's tab and line number settings

03m 3s

Chapter: Lesson 1: (For ADT Bundle) Test-Driving the Doodlz App in an AVD

Learning objectives

02m 33s

Test-Driving the Doodlz App in an AVD

22m 13s

Test-Driving the Doodlz App on a device

08m 1s

Chapter: Lesson 1: (For Android Studio) Test-Driving the Doodlz App in an AVD

Learning objectives

02m 33s

Test-Driving the Doodlz App in an AVD

14m 57s

Test-Driving the Doodlz App on a device

05m 56s

Chapter: Lesson 2: Welcome App

Learning objectives

03m 34s

Test-driving the Welcome app

06m 21s

Creating a new Android project

14m 10s

Andoid Developer Tools Window

07m 25s

Adding Images to the Project

06m 38s

Changing the Id property of the RelativeLayout and the TextView

07m 19s

Configuring the TextView

15m 30s

Adding ImageViews to Display the Images

07m 25s

(Optional) Viewing the XML representation of the GUI Design

02m 39s

Making Your App Accessible

05m 5s

Making Your App Accessible: TalkBack in action

04m 59s

Accessibility Documentation

01m 10s

Internationalizing Your App

18m 57s

Chapter: Lesson 3: Tip Calculator App

Learning objectives

02m 56s

Test-Driving the Tip Calculator App

05m 8s

Technologies Overview

11m 54s

GridLayout introduction

04m 56s

Creating the TipCalculator Project

05m 39s

Changing to a GridLayout

04m 28s

Adding the TextViews, EditText, SeekBar and LinearLayouts

18m 31s

Specifying Literal Text

04m 24s

Right Aligning the TextViews in the Left Column

02m 5s

Configuring the amountTextView's Label For Property

02m 15s

Configuring the amountEditText

06m 41s

Configuring the amountDisplayTextView

05m 12s

Configuring the customPercentTextView

01m 35s

Configuring the customTipSeekBar

03m 41s

Configuring the percent15TextView and percentCustomTextView

03m 48s

Configuring the tip15TextView, tipCustomTextView, total15TextView and totalCustomTextView

07m 45s

Vertically centering the tipTextView and totalTextView

02m 24s

MainActivity.java—The package and import statements

08m 58s

MainActivity.java—MainActivity Class's Instance Variables

04m 47s

MainActivity.java—Overriding Method onCreate of Class Activity

14m 11s

MainActivity.java—Methods updateStandard and updateCustom

04m 10s

MainActivity.java—Anonymous Inner Class That Implements Interface OnSeekBarChangeListener

04m 54s

MainActivity.java—Anonymous Inner Class That Implements Interface TextWatcher

04m 49s

AndroidManifest.xml—Setting Portrait Mode and Forcing the Keypad to Display

11m 36s

Chapter: Lesson 4: Favorite Twitter Searches App

Learning objectives

04m 16s

Test-Driving the Twitter Searches App

12m 51s

Technologies Overview

14m 50s

Creating the Twitter Searches Project

01m 56s

Twitter Searches App GUI Overview

02m 5s

Changing from a RelativeLayout to a GridLayout and Configuring the GridLayout

05m 7s

Creating the GridLayout's First Row

05m 59s

Creating the GridLayout's Second Row

07m 22s

Creating the GridLayout's Third Row

09m 12s

ListView Item's Layout: list_item.xml

07m 18s

Copying the final strings.xml file and Java source code into the project, and some notes on using the code editor

05m 20s

MainActivity.java—The package and import statements

05m 8s

MainActivity.java—MainActivity Fields

02m 17s

MainActivity.java—Overriding Activity Method onCreate

12m 17s

MainActivity.java—Anonymous Inner Class that Implements the saveButton's OnClickListener to Save a New or Updated Search

13m 37s

MainActivity.java—addTaggedSearch Method

03m 0s

MainActivity.java—Anonymous Inner Class that Implements the ListView's OnItemClickListener to Display Search Results

09m 55s

MainActivity.java—Anonymous Inner Class that Implements the ListView's OnItemLongClickListener to Share, Edit or Delete a Sear

13m 51s

MainActivity.java—shareSearch Method

06m 48s

MainActivity.java—deleteSearch Method

04m 51s

AndroidManifest.xml—Setting the Keyboard to Display Only If the User Touches an EditText

02m 23s

Chapter: Part II

Introduction to Android App Development Fundamentals II LiveLessons

11m 7s

Chapter: Lesson 5: Flag Quiz Game App

Learning objectives

05m 33s

Test-Driving the Flag Quiz App

05m 35s

Technologies Overview

16m 54s

Creating the Flag Quiz Project

01m 20s

strings.xml and Formatted String Resources

02m 24s

arrays.xml

05m 23s

colors.xml

02m 35s

dimens.xml

01m 23s

activity_settings.xml Layout

05m 9s

activity_main.xml Layout for Phone and Tablet Portait Orientation

04m 14s

fragment_quiz.xml Layout

14m 56s

activity_main.xml Layout for Tablet landscape Orientation

07m 46s

preferences.xml for Specifying the App's Settings

11m 14s

Creating the Flag Shake Animation

07m 4s

MainActivity.java—package Statement, import Statements and Fields

03m 4s

MainActivity.java—Overridden Activity Method onCreate

09m 24s

MainActivity.java—Overridden Activity Method onStart

07m 16s

MainActivity.java—Overridden Activity Method onCreateOptionsMenu

05m 8s

MainActivity.java—Overridden Activity Method onOptionsItemSelected

03m 55s

MainActivity.java—Anonymous Inner Class That Implements OnSharedPreferenceChangeListener

06m 51s

QuizFragment.java—package Statement and import Statements

01m 14s

QuizFragment.java—Fields

04m 29s

QuizFragment.java—Overridden Fragment Method onCreateView

10m 48s

QuizFragment.java—updateGuessRows Method

02m 24s

QuizFragment.java—updateRegions Method

01m 7s

QuizFragment.java—resetQuiz Method

08m 59s

QuizFragment.java—loadNextFlag Method

08m 24s

QuizFragment.java—getCountryName Method

01m 22s

QuizFragment.java—Anonymous Inner Class That Implements OnClickListener

09m 48s

QuizFragment.java—disableButtons Method

00m 40s

SettingsFragment Class

03m 10s

SettingsActivity Class

03m 15s

AndroidManifest.xml—Declaring SettingsActivity in the Manifest File

03m 10s

Chapter: Lesson 6: Cannon Game App

Learning objectives

04m 18s

Test-Driving the Flag Quiz App

02m 27s

Technologies Overview

11m 35s

Creating the Flag Quiz Project and Setting the App for Portrait Orientation

01m 48s

strings.xml

02m 59s

fragment_game.xml

05m 16s

activity_main.xml

01m 29s

Adding Sounds to the App

01m 57s

Line.java—Class to Maintain a Line's Endpoints

01m 11s

MainActivity.java—Class to Host the CannonGameFragment

01m 30s

CannonGameFragment.java—Class to Manage Fragment Lifecycle

06m 43s

CannonView.java—package and import Statements

01m 0s

CannonView.java—Instance Variables and Constants

08m 39s

CannonView.java—Constructor

07m 45s

CannonView.java—Overriding View Method onSizeChanged

04m 3s

CannonView.java—Method newGame

01m 58s

CannonView.java—Method updatePositions

08m 13s

CannonView.java—Method fireCannonBall

01m 54s

CannonView.java—Method alignCannon

02m 3s

CannonView.java—Method drawGameElements

05m 10s

CannonView.java—Method showGameOverDialog

04m 48s

CannonView.java—Methods stopGame and releaseResources

01m 28s

CannonView.java—Implementing the SurfaceHolder.Callback Methods

03m 24s

CannonView.java—Overriding View Method onTouchEvent

02m 26s

CannonView.java—CannonThread: Using a Thread to Create a Game Loop

05m 49s

Chapter: Lesson 7: Doodlz App

Learning objectives

04m 48s

Test-Driving the Doodlz App

05m 0s

Technologies Overview

09m 30s

Creating the Doodlz Project

01m 30s

strings.xml

01m 21s

dimens.xml

01m 33s

Menu for the DoodleFragment

09m 2s

activity_main.xml Layout for MainActivity

03m 35s

fragment_doodle.xml Layout for DoodleFragment

03m 33s

fragment_color.xml Layout for ColorDialogFragment

11m 8s

fragment_line_width.xml Layout for LineWidthDialogFragment

03m 53s

Adding Class EraseImageDialogFragment

01m 22s

MainActivity Class

02m 38s

DoodleFragment.java—package Statement, import Statements and Fields

03m 12s

DoodleFragment.java—Overriding Fragment Method onCreateView

03m 45s

DoodleFragment.java—Methods onStart and enableAccelerometerListening

06m 27s

DoodleFragment.java—Methods onPause and disableAccelerometerListening

02m 47s

DoodleFragment.java—Anonymous Inner Class That Implements SensorEventListener to Process Accelerometer Events

04m 39s

DoodleFragment.java—Method confirmErase

01m 21s

DoodleFragment.java—Overridden Fragment Methods onCreateOptionsMenu and onOptionsItemSelected

07m 6s

DoodleFragment.java—Methods getDoodleView and setDialogOnScreen

00m 54s

DoodleView.java—package Statement and import Statements

02m 50s

DoodleView.java—DoodleView static and Instance Variables

02m 33s

DoodleView.java—DoodleView Constructor

03m 29s

DoodleView.java—Overridden View Method onSizeChanged

02m 48s

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

02m 58s

DoodleView.java—Overridden View Method onDraw

02m 40s

DoodleView.java—DoodleView Methods hideSystemBars and showSystemBars

04m 27s

DoodleView.java—Anonymous Inner Class that Implements Interface SimpleOnGestureListener

03m 32s

DoodleView.java—Overridden View Method onTouchEvent

05m 39s

DoodleView.java—touchStarted Method of Class DoodleView

02m 31s

DoodleView.java—touchMoved Method of Class DoodleView

04m 3s

DoodleView.java—touchEnded Method of Class DoodleView

00m 51s

DoodleView.java—DoodleView Method saveImage

02m 40s

DoodleView.java—DoodleView Method printImage

03m 43s

ColorDialogFragment.java—package Statement, import Statements and Fields

01m 54s

ColorDialogFragment.java—Overridden DialogFragment Method onCreateDialog

06m 52s

ColorDialogFragment.java—Method getDoodleFragment

01m 42s

ColorDialogFragment.java—Fragment Lifecycle Methods onAttach and onDetach

02m 34s

ColorDialogFragment.java—Anonymous Inner Class That Implements OnSeekBarChangeListener to Respond to the Events of the Alpha,

03m 1s

LineWidthDialogFragment Class

08m 20s

EraseImageDialogFragment Class

02m 16s

Chapter: Lesson 8: AddressBook App

Learning objectives

06m 4s

Test-Driving the Address Book App

03m 46s

Technologies Overview

09m 25s

Creating the Address Book Project

01m 5s

Creating the App's Classes

02m 33s

String resources and removing unnecessary default items

02m 50s

Defining common look-and-feel: styles.xml

12m 7s

Defining a TextView Border: textview_border.xml

06m 6s

MainActivity's Layout: activity_main.xml

08m 52s

DetailsFragment's Layout: fragment_details.xml

07m 21s

AddEditFragment's Layout: fragment_add_edit.xml

07m 37s

Defining the Fragment's Menus

07m 35s

MainActivity.java—package Statement, import Statements and Fields

04m 53s

MainActivity.java—Overridden Activity Method onCreate

06m 1s

MainActivity.java—Overridden Activity Method onResume

01m 36s

MainActivity.java—Method onContactSelected from interface ContactListFragment.ContactListFragmentListener

01m 36s

MainActivity.java—Method displayContact

04m 26s

MainActivity.java—Method onAddContact from interface ContactListFragment.ContactListFragmentListener

01m 58s

MainActivity.java—Method displayAddEditFragment

01m 57s

MainActivity.java—Method onContactDeleted from interface DetailsFragment.DetailsFragmentListener

01m 9s

MainActivity.java—Method onEditContact from interface DetailsFragment.DetailsFragmentListener

01m 31s

MainActivity.java—Method onAddEditCompleted from interface AddEditFragment.AddEditFragmentListener

01m 31s

ContactListFragment.java—package Statement and import Statements

02m 30s

ContactListFragment.java—ContactListFragmentListener Interface and ContactListFragment Instance Variables

02m 0s

ContactListFragment.java—Overridden Methods onAttach and onDetach

01m 51s

ContactListFragment.java—Overridden Method onViewCreated

06m 31s

ContactListFragment.java—viewContactListener That Processes ListView Item Selection Events

01m 52s

ContactListFragment.java—Overridden Method onResume

02m 3s

ContactListFragment.java—GetContactsTask Subclass of AsyncTask

04m 37s

ContactListFragment.java—Overridden Method onStop

01m 4s

ContactListFragment.java—Overridden Methods onCreateOptionsMenu and onOptionsItemSelected

02m 28s

ContactListFragment.java—Method updateContactList

00m 55s

AddEditFragment.java—package Statement and import Statements

00m 27s

AddEditFragment.java—AddEditFragmentListener Interface and the AddEditFragment Instance Variables

02m 1s

AddEditFragment.java—Overridden Methods onAttach and onDetach

00m 41s

AddEditFragment.java—Overridden Method onCreateView

03m 56s

AddEditFragment.java—OnClickListener to Process Save Contact Button Events

03m 59s

AddEditFragment.java—Method saveContact

01m 49s

DetailsFragment.java—package Statement and import Statements

00m 29s

DetailsFragment.java—DetailsFragmentListener Interface

00m 41s

DetailsFragment.java—DetailsFragment Instance Variables

00m 48s

DetailsFragment.java—Overridden Methods onAttach and onDetach

00m 39s

DetailsFragment.java—Overridden Method onCreateView

02m 36s

DetailsFragment.java—Overridden Method onResume

02m 36s

DetailsFragment.java—Overridden Method onSaveInstanceState

01m 0s

DetailsFragment.java—Overridden Methods onCreateOptionsMenu and onOptionsItemSelected

03m 2s

DetailsFragment.java—LoadContactTask Subclass of AsyncTask

04m 5s

DetailsFragment.java—Method deleteContact and DialogFragment confirmDelete

04m 13s

DatabaseConnector.java—package Statement, import Statements and Fields

01m 1s

DatabaseConnector.java—Constructor and Methods open and close

01m 52s

DatabaseConnector.java—Method insertContact

02m 3s

DatabaseConnector.java—Method updateContact

02m 4s

DatabaseConnector.java—Method getAllContacts

01m 48s

DatabaseConnector.java—Method getOneContact

01m 0s

DatabaseConnector.java—Method deleteContact

00m 46s

DatabaseConnector.java—private Nested Class DatabaseOpenHelper That Extends SQLiteOpenHelper

04m 4s