Android 6 App Development Fundamentals I and II

Video description

Overview
Android App Development Fundamentals 3/e uses Paul Deitel’s unique "app-driven" approach to get you up and running quickly with Google’s popular Android 6.0 SDK (Marshmellow).

Description
Paul Deitel—best-selling author and Oracle® Java™ Champion—carefully introduces you to Android app development with key Android 6.0 features and APIs. You’ll first learn how to install and configure Google’s Android Studio IDE. Using the Deitel’s signature App-Driven Approach in which all concepts are presented in the context of complete working apps, you’ll then build seven Android apps that introduce everything you need to start creating your own—Welcome app, Tip Calculator app, Flag Quiz app, Doodlz drawing app, Cannon Game app, WeatherViewer app, Twitter Searches app, and Address Book app. Along the way, you’ll learn to master the Android APIs and FrameWorks needed to become a successful Android app developer.

About the Instructor
Paul Deitel is the co-founder of Deitel & Associates, Inc., the internationally recognized programming languages authoring, corporate-training and Internet business development organization. Paul and his father—Harvey Deitel—have written many international best-selling programming-language professional books and textbooks that millions of people worldwide have used to master C++, C, Java™, C#, Visual Basic®, Visual C++®, XML, Perl, Python, and Internet and web programming.

Skill Level
Beginner

What you Will Learn

  • Android 6.0 (Marshmellow)
  • Android Studio
  • Supporting Various Screen Sizes/Resolutions
  • Accessibility, Internationalization, Graphics
  • Activities, Fragments, Intents, Preferences
  • GUIs, Layouts, Menus, Resource Files, Lists, Adapters, Events, Touch/Gesture Processing
  • Immersive Mode, Printing Framework, PrintHelper
  • Web services, JSON
  • Assets (Images, Audio), View Animation
  • Threading, Collections, SQLite Database
  • Social sharing via implicit intents
  • and much, much more

Who Should Take this Course
Java Developers looking to learn Android Development skills

Course Requirements
A basic understanding of Java programming

Table of Contents

Before You Begin
This lesson shows you how to install and configure Android Studio, Google’s Android Integrated Development Environments (IDE).

Lesson 1: Test-Driving the Tip Calculator App
In this lesson you’ll run and interact with your first Android app using an Android Virtual Device and, if you have one, an actual device.

Lesson 2: Welcome App
This lesson shows you how to use Android Studio to create a graphical user interface (GUI). You also learn about accessibility and internationalization.

Lesson 3: Tip Calculator App
In this lesson you learn to use various Android classes to create objects, call methods on those objects, define and call your own methods, and explore both inheritance and exception handling in Android.

Lesson 4: Flag Quiz App
Among the key skills you’ll acquire in this lesson are how to use Fragments to make better use of available screen real estate, display an options menu, manage user preferences, organize an app’s assets, support multiple device orientations and use Android’s logging mechanism to log error messages.

Lesson 5: Doodlz App
This lesson shows you how to create a drawing app. You learn to detect when the user touches the screen, process multiple touches, use the accelerometer to detect motion events, draw lines, create and display menu items on the app bar, and use Android 6.0’s new permissions model.

Lesson 6: Cannon Game App
This lesson shows you how to create a simple game app that’s easy to code and fun to play. In it you learn how to display the game’s graphics, draw on screen, fire a cannonball, perform collision detection, and add sound to your game.

Lesson 7: WeatherViewer App
This lesson shows you how to use web services in your apps. The app- uses the free OpenWeatherMap.org REST web services to obtain a specified city’s 16-day weather forecast. The app receives the weather data in JSON format. It uses a ListView to display the data in a scrollable list of items.

Lesson 8: Twitter® Searches App
This app allows you to save your favorite Twitter search queries with easy-to-remember short tag names. The app allows you to share, edit anddelete saved searches. You learn to support both portrait and landscape orientations by designing a GUI that dynamically adjusts, based on the current orientation.

Lesson 9: Address Book App
The Address Bookapp provides convenient access to contact information that’s stored in a SQLite database on the device. You can scroll through a contact list, view details, and add, edit, or delete contacts. The app provides a separate tablet layout that always displays the contact list in one third of the screen and uses the screen’s remaining two thirds to display either the selected contact’s data or the screen for adding and editing a contact.

About LiveLessons Video Training

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home & Office Technologies, Business & Management, and more. View All LiveLessons http://www.informit.com/imprint/series_detail.aspx?ser=2185116.

Table of contents

  1. Part I
    1. Android 6 App Development Fundamentals Part I: Introduction
  2. BeforeYouBegin: Setting Up Your Development Environment
    1. Intro
  3. Lesson 1:Test-Driving the Doodlz App
    1. Overview of Lesson 1
    2. Ensuring that the correct Android platform is installed
    3. Opening the Tip Calculator App’s Project in Android Studio
    4. Creating Android Virtual Devices (AVDs) for testing Android apps
    5. Test-Driving the Doodlz App on an AVD
    6. Test-Driving the Doodlz App on a device
  4. Lesson 2: Welcome App
    1. Overview of Lesson 2
    2. Test-driving the Welcome app
    3. Technologies Overview
    4. Creating a new Android project
    5. Andoid Studio Window
    6. Adding an image to the Project
    7. Adding an App Icon
    8. Changing the RelativeLayout to a LinearLayout
    9. Configuring the LinearLayout’s id and orientation Properties
    10. Configuring the TextView’s id and text Properties
    11. Configuring the TextView’s textSize Property
    12. Configuring the TextView’s textColor Property
    13. Configuring the TextView’s gravity Property
    14. Configuring the TextView’s layout:gravity Property
    15. Configuring the TextView’s layout:weight Property
    16. Adding an ImageView to Display the Image
    17. Testing the Completed Design on a Phone and a Tablet
    18. Making Your App Accessible
    19. Localizing the Welcome App for Spanish
    20. Executing the Localized App on an AVD and on a Device
  5. Lesson 3: Tip Calculator App
    1. Overview of Lesson 3
    2. Test-Driving the Tip Calculator App
    3. Technologies Overview: Class Activity
    4. Technologies Overview: Activity Lifecycle Methods
    5. Technologies Overview: AppCompat Library and class AppCompatActivity
    6. Technologies Overview: Arranging Views in a GridLayout; Creating and Customizing the GUI with the Layout Editor, the Component Tree and the Properties Window
    7. Technologies Overview: Formatting Numbers as Locale-Specific Currency and Percentage Strings
    8. Technologies Overview: Implementing Interface TextWatcher for Handling EditText Text Changes and Implementing Interface SeekBar.OnSeekBarChangeListener for Handling SeekBar Thumb Position Changes
    9. Technologies Overview: Material Themes
    10. Technologies Overview: Material Design—Elevation and Shadows
    11. Technologies Overview: Material Design—Colors
    12. Technologies Overview: AndroidManifest.xml
    13. GridLayout introduction
    14. Creating the TipCalculator Project
    15. Changing to a GridLayout
    16. Adding the TextViews, EditText and SeekBar: Adding Views to the First Row
    17. Adding the TextViews, EditText and SeekBar: Adding Views to the Second Row
    18. Adding the TextViews, EditText and SeekBar: Adding Views to the Third Row
    19. Adding the TextViews, EditText and SeekBar: Adding Views to the Fourth Row
    20. Customizing the Views: Specifying Literal Text
    21. Customizing the Views: Right Aligning TextViews in the Left Column
    22. Customizing the Views: Configuring the amountEditText
    23. Customizing the Views: Configuring the amountTextView
    24. Customizing the Views: Configuring the percentTextView
    25. Customizing the Views: Configuring the percentSeekBar
    26. Customizing the Views: Configuring the tipTextView and totalTextView
    27. Customizing the Theme’s Primary, Primary Dark and Accent Colors
    28. Adding the App’s Logic: package and import Statements
    29. Adding the App’s Logic: MainActivity Subclass of AppCompatActivity
    30. Adding the App’s Logic: Class Variables and Instance Variables
    31. Adding the App’s Logic: Overridding Activity Method onCreate
    32. Adding the App’s Logic: MainActivity Method calculate
    33. Adding the App’s Logic: Anonymous Inner Class That Implements Interface OnSeekBarChangeListener
    34. Adding the App’s Logic: Anonymous Inner Class That Implements Interface TextWatcher
    35. AndroidManifest.xml: Setting Portrait Mode and Forcing the Keypad to Display
  6. Lesson 4: Flag Quiz Game App
    1. Overview of Lesson 4
    2. Test-Driving the Flag Quiz App
    3. Technologies Overview: Menus
    4. Technologies Overview: Fragments
    5. Technologies Overview: Fragment Lifecycle
    6. Technologies Overview: Managing Fragments
    7. Technologies Overview: Preferences
    8. Technologies Overview: assets Folder
    9. Technologies Overview: Resource Folders
    10. Technologies Overview: Supporting Different Screen Sizes and Resolutions
    11. Technologies Overview: Programmatically Determining Device Orientation
    12. Technologies Overview: Toasts for Displaying Messages
    13. Technologies Overview: Using a Handler to Execute a Runnable in the Future
    14. Technologies Overview: Applying an Animation to a View
    15. Technologies Overview: Using ViewAnimationUtils to Create a Circular Reveal Animator
    16. Technologies Overview: Specifying Colors Based on a View’s State Via a Color State List
    17. Technologies Overview: AlertDialog
    18. Technologies Overview: Logging Exception Messages
    19. Technologies Overview: Launching Another Activity Via an Explicit Intent
    20. Technologies Overview: Java Data Structures
    21. Technologies Overview: Java SE 7 Features
    22. Technologies Overview: AndroidManifest.xml—Declaring New Activities and Specifying the Launch Mode of an Activity
    23. Creating the Flag Quiz Project
    24. Blank Activity Template Layouts
    25. Configuring Java SE 7 Support
    26. Adding the Flag Images to the Project
    27. strings.xml and Formatted String Resources
    28. arrays.xml
    29. colors.xml
    30. button_text_color.xml: Defining a Color State List
    31. Editing menu_main.xml
    32. Creating a Flag Shake Animation
    33. preferences.xml for Specifying the App’s Default Settings
    34. Adding Classes SettingsActivity and SettingsActivityFragment
    35. activity_main.xml Layout for Devices in Portrait Orientation
    36. Designing fragment_main.xml
    37. Designing fragment_main.xml: Step 1, Changing from a RelativeLayout to a LinearLayout
    38. Designing fragment_main.xml: Step 2, Adding the questionNumberTextView to the LinearLayout
    39. Designing fragment_main.xml: Step 3, Adding the flagImageView to the LinearLayout
    40. Designing fragment_main.xml: Step 4, Adding the guessCountryTextView to the LinearLayout
    41. Designing fragment_main.xml: Step 5, Adding the Buttons to the LinearLayout
    42. Designing fragment_main.xml: Step 6, Adding the answerTextView to the LinearLayout
    43. Designing fragment_main.xml: Step 7, Setting the Properties of the Buttons
    44. content_main.xml Layout for Tablet Landscape Orientation: Creating the Tablet Layout
    45. content_main.xml Layout for Tablet Landscape Orientation: Creating the Tablet Layout’s GUI
    46. content_main.xml Layout for Tablet Landscape Orientation: Selecting a Fragment to Preview in the Layout Editor’s Design View
    47. MainActivity Class: package Statement and Import Statements
    48. MainActivity Class: Fields
    49. MainActivity Class: Overridden Activity Method onCreate
    50. MainActivity Class: Overridden Activity Method onStart
    51. MainActivity Class: Overridden Activity Method onCreateOptionsMenu
    52. MainActivity Class: Overridden Activity Method onOptionsItemSelected
    53. MainActivity Class: Anonymous Inner Class That Implements OnSharedPreferencesChangeListener
    54. MainActivityFragment Class: package Statement and import Statements
    55. MainActivityFragment Class: Fields
    56. MainActivityFragment Class: Overridden Fragment Method onCreateView
    57. MainActivityFragment Class: Methods updateGuessRows
    58. MainActivityFragment Class: Method updateRegions
    59. MainActivityFragment Class: Method resetQuiz
    60. MainActivityFragment Class: Method loadNextFlag
    61. MainActivityFragment Class: Method getCountryName
    62. MainActivityFragment Class: Method animate
    63. MainActivityFragment Class: Anonymous Inner Class That Implements OnClickListener
    64. MainActivityFragment Class: Method disableButtons
    65. SettingsActivity Class
    66. SettingsActivityFragment Class
    67. AndroidManifest.xml: Declaring Other Activities and Configuring the Launch Mode
  7. Part II
    1. Android 6 App Development Fundamentals Part II: Introduction
  8. Lesson 5: Doodlz App
    1. Overview of Lesson 5
    2. Test-Driving the Doodlz App
    3. Technologies Overview: Activity and Fragment Lifecycle Methods
    4. Technologies Overview: Custom Views
    5. Technologies Overview: Using SensorManager to Listen for Accelerometer Events
    6. Technologies Overview: Custom DialogFragments
    7. Technologies Overview: Drawing with Canvas, Paint and Bitmap
    8. Technologies Overview: Processing Multiple Touch Events and Storing Lines in Paths
    9. Technologies Overview: Saving to the Device
    10. Technologies Overview: Printing and the Android Support Library’s PrintHelper Class
    11. Technologies Overview: Android 6.0 (Marshmallow) Permissions Model
    12. Technologies Overview: Adding Dependences to a Project Using Gradle
    13. Creating the Doodlz Project and Adding the App Icon
    14. Removing unused GUI Components and Code, and Changing the Theme Colors
    15. Gradle: Adding a Support Library to the Project
    16. strings.xml
    17. Importing the Material Design Icons for the App’s Menu Items
    18. MainActivityFragment Menu
    19. Adding a Permission to AndroidManifest.xml
    20. content_main.xml Layout for MainActivity
    21. fragment_main.xml Layout for MainActivityFragment
    22. fragment_color.xml Layout for ColorDialogFragment
    23. fragment_line_width.xml Layout for LineWidthDialogFragment
    24. Adding Class EraseImageDialogFragment
    25. MainActivity Class
    26. MainActivityFragmentclass: package Statement, import Statements and Fields
    27. MainActivityFragmentclass: Overridden Fragment Method onCreateView
    28. MainActivityFragmentclass: Overridden Fragment Method onResume and Method enableAccelerometerListening
    29. MainActivityFragmentclass: Overridden Fragment Method onPause and Method disableAccelerometerListening
    30. MainActivityFragmentclass: Anonymous Inner Class for Processing Accelerometer Events
    31. MainActivityFragmentclass: Method confirmErase
    32. MainActivityFragmentclass: Overridden Fragment Methods onCreateOptionsMenu and onOptionsItemSelected
    33. MainActivityFragmentclass: Method saveImage
    34. MainActivityFragmentclass: Overridden Method onRequestPermissionResult
    35. MainActivityFragmentclass: Methods getDoodleView and setDialogOnScreen
    36. DoodleView.java—package Statement and import Statements
    37. DoodleView.java—DoodleView static and Instance Variables
    38. DoodleView.java—DoodleView Constructor
    39. DoodleView.java—Overridden View Method onSizeChanged
    40. DoodleView.java—DoodleView Methods clear, setDrawingColor, getDrawingColor, setLineWidth and getLineWidth
    41. DoodleView.java—Overridden View Method onDraw
    42. DoodleView.java—Overridden View Method onTouchEvent
    43. DoodleView.java—touchStarted Method of Class DoodleView
    44. DoodleView.java—touchMoved Method of Class DoodleView
    45. DoodleView.java—touchEnded Method of Class DoodleView
    46. DoodleView.java—DoodleView Method saveImage
    47. DoodleView.java—DoodleView Method printImage
    48. ColorDialogFragment.java—package Statement, import Statements and Fields
    49. ColorDialogFragment.java—Overridden DialogFragment Method onCreateDialog
    50. ColorDialogFragment.java—Method getDoodleFragment
    51. ColorDialogFragment.java—Fragment Lifecycle Methods onAttach and onDetach
    52. ColorDialogFragment.java—Anonymous Inner Class That Responds to the Events of the Alpha, Red, Green and Blue SeekBars
    53. LineWidthDialogFragment Class
    54. EraseImageDialogFragment Class
  9. Lesson 6: Cannon Game App
    1. Overview of Lesson 6
    2. Test-Driving the Cannon Game App
    3. Technologies Overview—Using the res/raw folder
    4. Technologies Overview—Activity/Fragment onDestroy Method
    5. Technologies Overview—Touch event handling
    6. Technologies Overview—SoundPool and AudioManager
    7. Technologies Overview—Frame-by-Frame Animation with Threads, SurfaceView and SurfaceHolder
    8. Technologies Overview—Simple Collision Detection
    9. Technologies Overview—Immersive Mode
    10. Creating the Project and Setting the App for Landscape Orientation
    11. Adjusting the Theme to Remove the App Title and App Bar
    12. strings.xml
    13. Colors
    14. Adding Sounds to the App
    15. Adding Class MainActivityFragment
    16. Editing activity_main.xml
    17. Adding the CannonView to fragment_main.xml
    18. Overview of This App’s Classes
    19. MainActivity Subclass of AppCompatActivity
    20. MainActivityFragment Subclass of Fragment
    21. Class GameElement—Instance Variables and Constructor
    22. Class GameElement—Methods update, draw and playSound
    23. Blocker Subclass of GameElement
    24. Target Subclass of GameElement
    25. Cannon Class—Instance Variables and Constructor
    26. Cannon Class—Method align
    27. Cannon Class—Method fireCannonball
    28. Cannon Class—Method draw
    29. Cannon Class—Methods getCannonball and removeCannonball
    30. Cannonball Subclass of GameElement—Instance Variables and Constructor
    31. Cannonball Subclass of GameElement—Methods getRadius, collidesWith, isOnScreen and reverseVelocityX
    32. Cannonball Subclass of GameElement—Method update
    33. Cannonball Subclass of GameElement—Method draw
    34. CannonView Subclass of SurfaceView—package and import Statements
    35. CannonView Subclass of SurfaceView—Instance Variables and Constants
    36. CannonView Subclass of SurfaceView—Constructor
    37. CannonView Subclass of SurfaceView—Overriding View Method onSizeChanged
    38. CannonView Subclass of SurfaceView—Methods getScreenWidth, getScreenHeight and playSound
    39. CannonView Subclass of SurfaceView—Method newGame
    40. CannonView Subclass of SurfaceView—Method updatePositions
    41. CannonView Subclass of SurfaceView—Method alignAndFireCannonball
    42. CannonView Subclass of SurfaceView—Method showGameOverDialog
    43. CannonView Subclass of SurfaceView—Method drawGameElements
    44. CannonView Subclass of SurfaceView—Method testForCollisions
    45. CannonView Subclass of SurfaceView—Methods stopGame and releaseResources
    46. CannonView Subclass of SurfaceView—Implementing the SurfaceHolder.Callback Methods
    47. CannonView Subclass of SurfaceView—Overriding View Method onTouchEvent
    48. CannonView Subclass of SurfaceView—CannonThread: Using a Thread to Create a Game Loop
    49. CannonView Subclass of SurfaceView—Methods hideSystemBars and showSystemBars
  10. Lesson 7: WeatherViewer App
    1. Overview of Lesson 7
    2. Test-Driving the WeatherViewer App
    3. Technologies Overview—Web Services
    4. Technologies Overview—JavaScript Object Notation (JSON) and the org.json Package
    5. Technologies Overview—HttpUrlConnection Invoking a REST Web Service
    6. Technologies Overview—Using AsyncTask to Perform Network Requests Outside the GUI Thread
    7. Technologies Overview—ListView, ArrayAdapter and the View-Holder pattern
    8. Technologies Overview—FloatingActionButton
    9. Technologies Overview—TextInputLayout
    10. Technologies Overview—Snackbar
    11. Creating the Project
    12. AndroidManifest.xml—Setting the Orientation and Permissions
    13. strings.xml
    14. colors.xml
    15. Editing activity_main.xml
    16. Editing content_main.xml
    17. Creating list_item.xml
    18. Weather Class: package Statement, import Statements and Instance Variables
    19. Weather Class: Constructor
    20. Weather Class: Method convertTimeStampToDay
    21. WeatherArrayAdapter Class: package and import Statements
    22. WeatherArrayAdapter Class: Nested Class ViewHolder
    23. WeatherArrayAdapter Class: Instance Variable and Constructor
    24. WeatherArrayAdapter Class: Overridden ArrayAdapter Method getView
    25. WeatherArrayAdapter Class: Nested AsyncTask Subclass for Downloading Images in a Separate Thread
    26. MainActivity Class: package and import Statements
    27. MainActivity Class: Instance Variables
    28. MainActivity Class: Overridden Activity Method onCreate
    29. MainActivity Class: Methods dismissKeyboard and createUrl
    30. MainActivity Class: Nested AsyncTask Subclass for Invoking a Web Service
    31. MainActivity Class: Method convertJSONtoArrayList
  11. Lesson 8: Twitter Searches App
    1. Overview of Lesson 8
    2. Test-Driving the Twitter Searches App
    3. Technologies Overview—Storing Key-Value Data in a SharedPreferences File
    4. Technologies Overview—Implicit Intents and Intent Choosers
    5. Technologies Overview—RecyclerView
    6. Technologies Overview—RecyclerView.Adapter and RecyclerView.ViewHolder
    7. Technologies Overview—RecyclerView.ItemDecoration
    8. Technologies Overview—Displaying a List of Options in an AlertDialog
    9. Creating the Twitter Searches Project
    10. AndroidManifest.xml—Prevent Keyboard from Displaying Initially
    11. Adding the RecyclerView Library to the Project.
    12. colors.xml
    13. strings.xml
    14. arrays.xml
    15. dimens.xml
    16. Adding the Save Button Icon
    17. activity_main.xml—Customizing the FloatingActionButton
    18. content_main.xml Step 1—Adding the queryTextInputLayout and Its Nested EditText
    19. content_main.xml Step 2—Adding the tagTextInputLayout and Its Nested EditText
    20. content_main.xml Step 3—Adding the LinearLayout
    21. content_main.xml Step 4—Adding the LinearLayout’s Nested TextView and RecyclerView
    22. RecyclerView Item’s Layout—list_item.xml
    23. MainActivity.java—package and import statements
    24. MainActivity.java—Fields
    25. MainActivity.java—Overriding Activity Method onCreate
    26. MainActivity.java—TextWatcher Event Handler and Method updateSaveFAB
    27. MainActivity.java—saveButton’s OnClickListener
    28. MainActivity.java—addTaggedSearch Method
    29. MainActivity.java—Anonymous Inner Class that Implements the ListView’s OnItemClickListener to Display Search Results
    30. MainActivity.java—Anonymous Inner Class that Implements the View.OnItemLongClickListener to Share, Edit or Delete a Search
    31. MainActivity.java—shareSearch Method
    32. MainActivity.java—deleteSearch Method
    33. SearchesAdapter.java—package Statement, import Statements, Instance Variables and Constructor
    34. SearchesAdapter.java—Nested ViewHolder Subclass of RecyclerView.ViewHolder
    35. SearchesAdapter.java—Overridden RecyclerView.Adapter Methods
    36. ItemDivider.java—ItemDivider Subclass of RecyclerView.ItemDecoration
  12. Lesson 9: AddressBook App
    1. Overview of Lesson 9
    2. Test-Driving the Address Book App
    3. Technologies Overview—Displaying Fragments with FragmentTransactions
    4. Technologies Overview—Communicating Data Between a Fragment and a Host Activity
    5. Technologies Overview—Manipulating a SQLite Database
    6. Technologies Overview—ContentProviders and ContentResolvers
    7. Technologies Overview—Loader and LoaderManager: Asynchronous Database Access
    8. Technologies Overview—Defining Styles and Applying Them to GUI Components
    9. Technologies Overview—Specifying a TextView’s Background
    10. Creating the Project
    11. Creating the App’s Classes
    12. Adding the App’s Icons
    13. strings.xml
    14. Defining common look-and-feel: styles.xml
    15. Defining a TextView Border: textview_border.xml
    16. MainActivity’s content_main.xml for Phones and Tablets
    17. ContactsFragment’s Layout: fragment_Contacts.xml
    18. DetailFragment’s Layout: fragment_details.xml
    19. AddEditFragment’s Layout: fragment_add_edit.xml
    20. Defining DetailFragment Menu
    21. Overview of This App’s Classes
    22. DatabaseDescription Class
    23. AddressBookDatabaseHelper Class
    24. AddressBookContentProvider Class—Fields
    25. AddressBookContentProvider Class—Overridden Methods onCreate and getType
    26. AddressBookContentProvider Class—Overridden Method query
    27. AddressBookContentProvider Class—Overridden Method insert
    28. AddressBookContentProvider Class—Overridden Method update
    29. AddressBookContentProvider Class—Overridden Method delete
    30. MainActivity.java—Superclass, Implemented Interfaces and Fields
    31. MainActivity.java—Overridden Activity Method onCreate
    32. MainActivity.java—ContactsFragment.ContactsFragmentListener Methods
    33. MainActivity.java—Method displayContact
    34. MainActivity.java—Method displayAddEditFragment
    35. MainActivity.java—DetailFragment.DetailFragmentListener Methods
    36. MainActivity.java—AddEditFragment.AddEditFragmentListener Methods
    37. ContactsFragment.java—Superclass and Implemented Interface
    38. ContactsFragment.java—ContactsFragmentListener Nested Interface
    39. ContactsFragment.java—Fields
    40. ContactsFragment.java—Overridden Fragment Method onCreateView
    41. ContactsFragment.java—Overridden Fragment Methods onAttach and onDetach
    42. ContactsFragment.java—Overridden Fragment Method onActivityCreated
    43. ContactsFragment.java—Method updateContactList
    44. ContactsFragment.java—LoaderManager.LoaderCallbacks Methods
      1. ContactAdatper Class
      2. AddEditFragment.java—Superclass and Implemented Interface
      3. AddEditFragment.java—AddEditFragmentListener Nested Interface
      4. AddEditFragment.java—Fields
      5. AddEditFragment.java—Overridden Methods onAttach, onDetach and onCreateView
      6. AddEditFragment.java—TextWatcher nameChangedListener and Method updateSaveButtonFAB
      7. AddEditFragment.java—View.OnClickListener saveContactButtonClicked and Method saveContact
      8. AddEditFragment.java—LoaderManager.LoaderCallbacks Methods
        1. DetailFragment.java—Superclass and Implemented Interface
        2. DetailFragment.java—DetailFragmentListener Nested Interface
        3. DetailFragment.java—Fields
        4. DetailFragment.java—Overridden Methods onAttach, onDetach and onCreateView
        5. DetailFragment.java—Overridden Methods onCreateOptionsMenu and onOptionsItemSelected
        6. DetailFragment.java—Method deleteContact and DialogFragment confirmDelete
        7. DetailFragment.java—LoaderManager.LoaderCallbacks Methods

Product information

  • Title: Android 6 App Development Fundamentals I and II
  • Author(s):
  • Release date: August 2016
  • Publisher(s): Pearson
  • ISBN: 0134402014