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.
Publisher resources
Table of contents
- Part I
- BeforeYouBegin: Setting Up Your Development Environment
- Lesson 1:Test-Driving the Doodlz App
-
Lesson 2: Welcome App
- Overview of Lesson 2
- Test-driving the Welcome app
- Technologies Overview
- Creating a new Android project
- Andoid Studio Window
- Adding an image to the Project
- Adding an App Icon
- Changing the RelativeLayout to a LinearLayout
- Configuring the LinearLayout’s id and orientation Properties
- Configuring the TextView’s id and text Properties
- Configuring the TextView’s textSize Property
- Configuring the TextView’s textColor Property
- Configuring the TextView’s gravity Property
- Configuring the TextView’s layout:gravity Property
- Configuring the TextView’s layout:weight Property
- Adding an ImageView to Display the Image
- Testing the Completed Design on a Phone and a Tablet
- Making Your App Accessible
- Localizing the Welcome App for Spanish
- Executing the Localized App on an AVD and on a Device
-
Lesson 3: Tip Calculator App
- Overview of Lesson 3
- Test-Driving the Tip Calculator App
- Technologies Overview: Class Activity
- Technologies Overview: Activity Lifecycle Methods
- Technologies Overview: AppCompat Library and class AppCompatActivity
- Technologies Overview: Arranging Views in a GridLayout; Creating and Customizing the GUI with the Layout Editor, the Component Tree and the Properties Window
- Technologies Overview: Formatting Numbers as Locale-Specific Currency and Percentage Strings
- Technologies Overview: Implementing Interface TextWatcher for Handling EditText Text Changes and Implementing Interface SeekBar.OnSeekBarChangeListener for Handling SeekBar Thumb Position Changes
- Technologies Overview: Material Themes
- Technologies Overview: Material Design—Elevation and Shadows
- Technologies Overview: Material Design—Colors
- Technologies Overview: AndroidManifest.xml
- GridLayout introduction
- Creating the TipCalculator Project
- Changing to a GridLayout
- Adding the TextViews, EditText and SeekBar: Adding Views to the First Row
- Adding the TextViews, EditText and SeekBar: Adding Views to the Second Row
- Adding the TextViews, EditText and SeekBar: Adding Views to the Third Row
- Adding the TextViews, EditText and SeekBar: Adding Views to the Fourth Row
- Customizing the Views: Specifying Literal Text
- Customizing the Views: Right Aligning TextViews in the Left Column
- Customizing the Views: Configuring the amountEditText
- Customizing the Views: Configuring the amountTextView
- Customizing the Views: Configuring the percentTextView
- Customizing the Views: Configuring the percentSeekBar
- Customizing the Views: Configuring the tipTextView and totalTextView
- Customizing the Theme’s Primary, Primary Dark and Accent Colors
- Adding the App’s Logic: package and import Statements
- Adding the App’s Logic: MainActivity Subclass of AppCompatActivity
- Adding the App’s Logic: Class Variables and Instance Variables
- Adding the App’s Logic: Overridding Activity Method onCreate
- Adding the App’s Logic: MainActivity Method calculate
- Adding the App’s Logic: Anonymous Inner Class That Implements Interface OnSeekBarChangeListener
- Adding the App’s Logic: Anonymous Inner Class That Implements Interface TextWatcher
- AndroidManifest.xml: Setting Portrait Mode and Forcing the Keypad to Display
-
Lesson 4: Flag Quiz Game App
- Overview of Lesson 4
- Test-Driving the Flag Quiz App
- Technologies Overview: Menus
- Technologies Overview: Fragments
- Technologies Overview: Fragment Lifecycle
- Technologies Overview: Managing Fragments
- Technologies Overview: Preferences
- Technologies Overview: assets Folder
- Technologies Overview: Resource Folders
- Technologies Overview: Supporting Different Screen Sizes and Resolutions
- Technologies Overview: Programmatically Determining Device Orientation
- Technologies Overview: Toasts for Displaying Messages
- Technologies Overview: Using a Handler to Execute a Runnable in the Future
- Technologies Overview: Applying an Animation to a View
- Technologies Overview: Using ViewAnimationUtils to Create a Circular Reveal Animator
- Technologies Overview: Specifying Colors Based on a View’s State Via a Color State List
- Technologies Overview: AlertDialog
- Technologies Overview: Logging Exception Messages
- Technologies Overview: Launching Another Activity Via an Explicit Intent
- Technologies Overview: Java Data Structures
- Technologies Overview: Java SE 7 Features
- Technologies Overview: AndroidManifest.xml—Declaring New Activities and Specifying the Launch Mode of an Activity
- Creating the Flag Quiz Project
- Blank Activity Template Layouts
- Configuring Java SE 7 Support
- Adding the Flag Images to the Project
- strings.xml and Formatted String Resources
- arrays.xml
- colors.xml
- button_text_color.xml: Defining a Color State List
- Editing menu_main.xml
- Creating a Flag Shake Animation
- preferences.xml for Specifying the App’s Default Settings
- Adding Classes SettingsActivity and SettingsActivityFragment
- activity_main.xml Layout for Devices in Portrait Orientation
- Designing fragment_main.xml
- Designing fragment_main.xml: Step 1, Changing from a RelativeLayout to a LinearLayout
- Designing fragment_main.xml: Step 2, Adding the questionNumberTextView to the LinearLayout
- Designing fragment_main.xml: Step 3, Adding the flagImageView to the LinearLayout
- Designing fragment_main.xml: Step 4, Adding the guessCountryTextView to the LinearLayout
- Designing fragment_main.xml: Step 5, Adding the Buttons to the LinearLayout
- Designing fragment_main.xml: Step 6, Adding the answerTextView to the LinearLayout
- Designing fragment_main.xml: Step 7, Setting the Properties of the Buttons
- content_main.xml Layout for Tablet Landscape Orientation: Creating the Tablet Layout
- content_main.xml Layout for Tablet Landscape Orientation: Creating the Tablet Layout’s GUI
- content_main.xml Layout for Tablet Landscape Orientation: Selecting a Fragment to Preview in the Layout Editor’s Design View
- MainActivity Class: package Statement and Import Statements
- MainActivity Class: Fields
- MainActivity Class: Overridden Activity Method onCreate
- MainActivity Class: Overridden Activity Method onStart
- MainActivity Class: Overridden Activity Method onCreateOptionsMenu
- MainActivity Class: Overridden Activity Method onOptionsItemSelected
- MainActivity Class: Anonymous Inner Class That Implements OnSharedPreferencesChangeListener
- MainActivityFragment Class: package Statement and import Statements
- MainActivityFragment Class: Fields
- MainActivityFragment Class: Overridden Fragment Method onCreateView
- MainActivityFragment Class: Methods updateGuessRows
- MainActivityFragment Class: Method updateRegions
- MainActivityFragment Class: Method resetQuiz
- MainActivityFragment Class: Method loadNextFlag
- MainActivityFragment Class: Method getCountryName
- MainActivityFragment Class: Method animate
- MainActivityFragment Class: Anonymous Inner Class That Implements OnClickListener
- MainActivityFragment Class: Method disableButtons
- SettingsActivity Class
- SettingsActivityFragment Class
- AndroidManifest.xml: Declaring Other Activities and Configuring the Launch Mode
- Part II
-
Lesson 5: Doodlz App
- Overview of Lesson 5
- Test-Driving the Doodlz App
- Technologies Overview: Activity and Fragment Lifecycle Methods
- Technologies Overview: Custom Views
- Technologies Overview: Using SensorManager to Listen for Accelerometer Events
- Technologies Overview: Custom DialogFragments
- Technologies Overview: Drawing with Canvas, Paint and Bitmap
- Technologies Overview: Processing Multiple Touch Events and Storing Lines in Paths
- Technologies Overview: Saving to the Device
- Technologies Overview: Printing and the Android Support Library’s PrintHelper Class
- Technologies Overview: Android 6.0 (Marshmallow) Permissions Model
- Technologies Overview: Adding Dependences to a Project Using Gradle
- Creating the Doodlz Project and Adding the App Icon
- Removing unused GUI Components and Code, and Changing the Theme Colors
- Gradle: Adding a Support Library to the Project
- strings.xml
- Importing the Material Design Icons for the App’s Menu Items
- MainActivityFragment Menu
- Adding a Permission to AndroidManifest.xml
- content_main.xml Layout for MainActivity
- fragment_main.xml Layout for MainActivityFragment
- fragment_color.xml Layout for ColorDialogFragment
- fragment_line_width.xml Layout for LineWidthDialogFragment
- Adding Class EraseImageDialogFragment
- MainActivity Class
- MainActivityFragmentclass: package Statement, import Statements and Fields
- MainActivityFragmentclass: Overridden Fragment Method onCreateView
- MainActivityFragmentclass: Overridden Fragment Method onResume and Method enableAccelerometerListening
- MainActivityFragmentclass: Overridden Fragment Method onPause and Method disableAccelerometerListening
- MainActivityFragmentclass: Anonymous Inner Class for Processing Accelerometer Events
- MainActivityFragmentclass: Method confirmErase
- MainActivityFragmentclass: Overridden Fragment Methods onCreateOptionsMenu and onOptionsItemSelected
- MainActivityFragmentclass: Method saveImage
- MainActivityFragmentclass: Overridden Method onRequestPermissionResult
- MainActivityFragmentclass: Methods getDoodleView and setDialogOnScreen
- DoodleView.java—package Statement and import Statements
- DoodleView.java—DoodleView static and Instance Variables
- DoodleView.java—DoodleView Constructor
- DoodleView.java—Overridden View Method onSizeChanged
- DoodleView.java—DoodleView Methods clear, setDrawingColor, getDrawingColor, setLineWidth and getLineWidth
- DoodleView.java—Overridden View Method onDraw
- DoodleView.java—Overridden View Method onTouchEvent
- DoodleView.java—touchStarted Method of Class DoodleView
- DoodleView.java—touchMoved Method of Class DoodleView
- DoodleView.java—touchEnded Method of Class DoodleView
- DoodleView.java—DoodleView Method saveImage
- DoodleView.java—DoodleView Method printImage
- ColorDialogFragment.java—package Statement, import Statements and Fields
- ColorDialogFragment.java—Overridden DialogFragment Method onCreateDialog
- ColorDialogFragment.java—Method getDoodleFragment
- ColorDialogFragment.java—Fragment Lifecycle Methods onAttach and onDetach
- ColorDialogFragment.java—Anonymous Inner Class That Responds to the Events of the Alpha, Red, Green and Blue SeekBars
- LineWidthDialogFragment Class
- EraseImageDialogFragment Class
-
Lesson 6: Cannon Game App
- Overview of Lesson 6
- Test-Driving the Cannon Game App
- Technologies Overview—Using the res/raw folder
- Technologies Overview—Activity/Fragment onDestroy Method
- Technologies Overview—Touch event handling
- Technologies Overview—SoundPool and AudioManager
- Technologies Overview—Frame-by-Frame Animation with Threads, SurfaceView and SurfaceHolder
- Technologies Overview—Simple Collision Detection
- Technologies Overview—Immersive Mode
- Creating the Project and Setting the App for Landscape Orientation
- Adjusting the Theme to Remove the App Title and App Bar
- strings.xml
- Colors
- Adding Sounds to the App
- Adding Class MainActivityFragment
- Editing activity_main.xml
- Adding the CannonView to fragment_main.xml
- Overview of This App’s Classes
- MainActivity Subclass of AppCompatActivity
- MainActivityFragment Subclass of Fragment
- Class GameElement—Instance Variables and Constructor
- Class GameElement—Methods update, draw and playSound
- Blocker Subclass of GameElement
- Target Subclass of GameElement
- Cannon Class—Instance Variables and Constructor
- Cannon Class—Method align
- Cannon Class—Method fireCannonball
- Cannon Class—Method draw
- Cannon Class—Methods getCannonball and removeCannonball
- Cannonball Subclass of GameElement—Instance Variables and Constructor
- Cannonball Subclass of GameElement—Methods getRadius, collidesWith, isOnScreen and reverseVelocityX
- Cannonball Subclass of GameElement—Method update
- Cannonball Subclass of GameElement—Method draw
- CannonView Subclass of SurfaceView—package and import Statements
- CannonView Subclass of SurfaceView—Instance Variables and Constants
- CannonView Subclass of SurfaceView—Constructor
- CannonView Subclass of SurfaceView—Overriding View Method onSizeChanged
- CannonView Subclass of SurfaceView—Methods getScreenWidth, getScreenHeight and playSound
- CannonView Subclass of SurfaceView—Method newGame
- CannonView Subclass of SurfaceView—Method updatePositions
- CannonView Subclass of SurfaceView—Method alignAndFireCannonball
- CannonView Subclass of SurfaceView—Method showGameOverDialog
- CannonView Subclass of SurfaceView—Method drawGameElements
- CannonView Subclass of SurfaceView—Method testForCollisions
- CannonView Subclass of SurfaceView—Methods stopGame and releaseResources
- CannonView Subclass of SurfaceView—Implementing the SurfaceHolder.Callback Methods
- CannonView Subclass of SurfaceView—Overriding View Method onTouchEvent
- CannonView Subclass of SurfaceView—CannonThread: Using a Thread to Create a Game Loop
- CannonView Subclass of SurfaceView—Methods hideSystemBars and showSystemBars
-
Lesson 7: WeatherViewer App
- Overview of Lesson 7
- Test-Driving the WeatherViewer App
- Technologies Overview—Web Services
- Technologies Overview—JavaScript Object Notation (JSON) and the org.json Package
- Technologies Overview—HttpUrlConnection Invoking a REST Web Service
- Technologies Overview—Using AsyncTask to Perform Network Requests Outside the GUI Thread
- Technologies Overview—ListView, ArrayAdapter and the View-Holder pattern
- Technologies Overview—FloatingActionButton
- Technologies Overview—TextInputLayout
- Technologies Overview—Snackbar
- Creating the Project
- AndroidManifest.xml—Setting the Orientation and Permissions
- strings.xml
- colors.xml
- Editing activity_main.xml
- Editing content_main.xml
- Creating list_item.xml
- Weather Class: package Statement, import Statements and Instance Variables
- Weather Class: Constructor
- Weather Class: Method convertTimeStampToDay
- WeatherArrayAdapter Class: package and import Statements
- WeatherArrayAdapter Class: Nested Class ViewHolder
- WeatherArrayAdapter Class: Instance Variable and Constructor
- WeatherArrayAdapter Class: Overridden ArrayAdapter Method getView
- WeatherArrayAdapter Class: Nested AsyncTask Subclass for Downloading Images in a Separate Thread
- MainActivity Class: package and import Statements
- MainActivity Class: Instance Variables
- MainActivity Class: Overridden Activity Method onCreate
- MainActivity Class: Methods dismissKeyboard and createUrl
- MainActivity Class: Nested AsyncTask Subclass for Invoking a Web Service
- MainActivity Class: Method convertJSONtoArrayList
-
Lesson 8: Twitter Searches App
- Overview of Lesson 8
- Test-Driving the Twitter Searches App
- Technologies Overview—Storing Key-Value Data in a SharedPreferences File
- Technologies Overview—Implicit Intents and Intent Choosers
- Technologies Overview—RecyclerView
- Technologies Overview—RecyclerView.Adapter and RecyclerView.ViewHolder
- Technologies Overview—RecyclerView.ItemDecoration
- Technologies Overview—Displaying a List of Options in an AlertDialog
- Creating the Twitter Searches Project
- AndroidManifest.xml—Prevent Keyboard from Displaying Initially
- Adding the RecyclerView Library to the Project.
- colors.xml
- strings.xml
- arrays.xml
- dimens.xml
- Adding the Save Button Icon
- activity_main.xml—Customizing the FloatingActionButton
- content_main.xml Step 1—Adding the queryTextInputLayout and Its Nested EditText
- content_main.xml Step 2—Adding the tagTextInputLayout and Its Nested EditText
- content_main.xml Step 3—Adding the LinearLayout
- content_main.xml Step 4—Adding the LinearLayout’s Nested TextView and RecyclerView
- RecyclerView Item’s Layout—list_item.xml
- MainActivity.java—package and import statements
- MainActivity.java—Fields
- MainActivity.java—Overriding Activity Method onCreate
- MainActivity.java—TextWatcher Event Handler and Method updateSaveFAB
- MainActivity.java—saveButton’s OnClickListener
- MainActivity.java—addTaggedSearch Method
- MainActivity.java—Anonymous Inner Class that Implements the ListView’s OnItemClickListener to Display Search Results
- MainActivity.java—Anonymous Inner Class that Implements the View.OnItemLongClickListener to Share, Edit or Delete a Search
- MainActivity.java—shareSearch Method
- MainActivity.java—deleteSearch Method
- SearchesAdapter.java—package Statement, import Statements, Instance Variables and Constructor
- SearchesAdapter.java—Nested ViewHolder Subclass of RecyclerView.ViewHolder
- SearchesAdapter.java—Overridden RecyclerView.Adapter Methods
- ItemDivider.java—ItemDivider Subclass of RecyclerView.ItemDecoration
-
Lesson 9: AddressBook App
- Overview of Lesson 9
- Test-Driving the Address Book App
- Technologies Overview—Displaying Fragments with FragmentTransactions
- Technologies Overview—Communicating Data Between a Fragment and a Host Activity
- Technologies Overview—Manipulating a SQLite Database
- Technologies Overview—ContentProviders and ContentResolvers
- Technologies Overview—Loader and LoaderManager: Asynchronous Database Access
- Technologies Overview—Defining Styles and Applying Them to GUI Components
- Technologies Overview—Specifying a TextView’s Background
- Creating the Project
- Creating the App’s Classes
- Adding the App’s Icons
- strings.xml
- Defining common look-and-feel: styles.xml
- Defining a TextView Border: textview_border.xml
- MainActivity’s content_main.xml for Phones and Tablets
- ContactsFragment’s Layout: fragment_Contacts.xml
- DetailFragment’s Layout: fragment_details.xml
- AddEditFragment’s Layout: fragment_add_edit.xml
- Defining DetailFragment Menu
- Overview of This App’s Classes
- DatabaseDescription Class
- AddressBookDatabaseHelper Class
- AddressBookContentProvider Class—Fields
- AddressBookContentProvider Class—Overridden Methods onCreate and getType
- AddressBookContentProvider Class—Overridden Method query
- AddressBookContentProvider Class—Overridden Method insert
- AddressBookContentProvider Class—Overridden Method update
- AddressBookContentProvider Class—Overridden Method delete
- MainActivity.java—Superclass, Implemented Interfaces and Fields
- MainActivity.java—Overridden Activity Method onCreate
- MainActivity.java—ContactsFragment.ContactsFragmentListener Methods
- MainActivity.java—Method displayContact
- MainActivity.java—Method displayAddEditFragment
- MainActivity.java—DetailFragment.DetailFragmentListener Methods
- MainActivity.java—AddEditFragment.AddEditFragmentListener Methods
- ContactsFragment.java—Superclass and Implemented Interface
- ContactsFragment.java—ContactsFragmentListener Nested Interface
- ContactsFragment.java—Fields
- ContactsFragment.java—Overridden Fragment Method onCreateView
- ContactsFragment.java—Overridden Fragment Methods onAttach and onDetach
- ContactsFragment.java—Overridden Fragment Method onActivityCreated
- ContactsFragment.java—Method updateContactList
-
ContactsFragment.java—LoaderManager.LoaderCallbacks Methods
- ContactAdatper Class
- AddEditFragment.java—Superclass and Implemented Interface
- AddEditFragment.java—AddEditFragmentListener Nested Interface
- AddEditFragment.java—Fields
- AddEditFragment.java—Overridden Methods onAttach, onDetach and onCreateView
- AddEditFragment.java—TextWatcher nameChangedListener and Method updateSaveButtonFAB
- AddEditFragment.java—View.OnClickListener saveContactButtonClicked and Method saveContact
-
AddEditFragment.java—LoaderManager.LoaderCallbacks Methods
- DetailFragment.java—Superclass and Implemented Interface
- DetailFragment.java—DetailFragmentListener Nested Interface
- DetailFragment.java—Fields
- DetailFragment.java—Overridden Methods onAttach, onDetach and onCreateView
- DetailFragment.java—Overridden Methods onCreateOptionsMenu and onOptionsItemSelected
- DetailFragment.java—Method deleteContact and DialogFragment confirmDelete
- 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
You might also like
video
Microsoft Power BI - The Complete Masterclass [2023 EDITION]
Microsoft Power BI is an interactive data visualization software primarily focusing on business intelligence, part of …
video
React.JS: The Complete Course for Beginners
React JS has taken center stage in easing the creation of dynamic user interfaces for websites …
video
Certified Associate in Project Management (CAPM)® Exam
23+ Hours of Video Instruction The CAPM exam will be updated. This video course is your …
video
The Complete Excel Guide: Beginners to Advanced
Everyone knows that the Microsoft Office suite is used by millions worldwide. Unlocking its full potential …