Index
A
- action bar
- about / Toolbar, action bar, and app bar
- activity references / Activity and context references
- Adapter pattern / Introducing the Adapter pattern
- AdToApp
- used, for adding advertisements / Adding advertisements with AdToApp
- advertisement monetization
- advertisements
- adding, AdToApp used / Adding advertisements with AdToApp
- analytics
- about / The importance of analytics
- with Parse / Analytics with Parse
- error report / The error report
- Android
- testing on / Testing on Android
- monetization / Monetization in Android
- Android 6 Marshmallow
- about / Introducing Android 6 Marshmallow
- runtime permissions / Runtime permissions
- power-saving, optimizations / Power-saving optimizations
- text, selecting / Text selection
- fingerprint authentication / Fingerprint authentication
- direct share / Direct share
- AndroidManifest.xml
- configuring / Configuring AndroidManifest.xml
- Android Studio
- URL / Getting the tools ready
- AnimatedVectorDrawable
- animating with / Animating with AnimatedVectorDrawable
- API key
- getting / Getting the API key
- app
- debugging / Debugging our app
- releasing, to Play Store / Releasing our app to Play Store
- code obfuscation / Code obfuscation
- exporting / Exporting the app
- uploading, to Play Store / Uploading our app to Play Store
- Google developer account, URL / Uploading our app to Play Store
- publisher account, creating / Creating a publisher account
- publishing / Publishing an app
- APK file, uploading / Uploading the APK file
- store listing, preparing / Preparing the store listing
- content rating, URL / Preparing the store listing
- app-navigation pattern
- selecting / Selecting an app-navigation pattern
- basic structure / Basic structure
- dashboard pattern / The dashboard pattern
- sliding panel / The sliding panel
- tabs pattern / Tabs
- app bar
- about / Toolbar, action bar, and app bar
- app standby / Power-saving optimizations
- AsyncTasks / Introducing AsyncTasks
B
- Back navigation
- build types
- debug type / Creating build types
- release type / Creating build types
- build variants
- using / Using build variants
- build types, creating / Creating build types
- product flavors / Product flavors
C
- CardView
- about / CardView and UI design tips, Introducing CardView
- Design-time layout attributes / Design-time layout attributes
- cloud database
- creating / Creating your own cloud database, Creating the database
- Androids Application class / Android's Application class
- concurrency
- about / Concurrency in Android
- handlers and threads / Handlers and threads
- AsyncTasks / Introducing AsyncTasks
- services / Understanding services
- loaders / Introducing loaders
- content
- storing, in Parse / Storing and consuming content from Parse, Storing content, Displaying content
- consuming, from Parse / Storing and consuming content from Parse, Consuming content
- content provider
- about / Content providers
- creating / Content providers
- adding / Content providers
- context references / Activity and context references
- continuous integration
- about / Continuous integration
- CoordinatorLayout
- used, for adding motion / Adding motion with CoordinatorLayout
- CPC (Cost Per Click) / Monetization in Android
- CTR (Click Through Rate) / Monetization in Android
- cursor
- about / Introducing cursors
- CursorAdapter
- about / RecyclerView and CursorAdapter
- CursorLoader
- implementing / Implementing CursorLoader
- custom fonts
- in Android / Working with custom fonts in Android
D
- dashboard pattern / The dashboard pattern
- data
- persisting, mechanisms / Creating the database
- database
- creating / Creating the database
- contract / The database contract
- open helper / The database open helper
- Database Access Object (DAO)
- about / Database Access Object
- query, performing / Performing a query
- raw query, using / Using a raw query
- cursor / Introducing cursors
- database sync, with UI
- about / Sync database with UI
- CursorLoader, implementing / Implementing CursorLoader
- RecyclerView and CursorAdapter / RecyclerView and CursorAdapter
- pull, to refresh with SwipeRefreshLayout / Introducing pull to refresh with SwipeRefreshLayout
- debug certificate / Getting the API key
- debug certificate fingerprint
- displaying / Displaying the debug certificate fingerprint
- deserialization / JSON and Gson
- design support library
- about / The design support library
- doze mode / Power-saving optimizations
E
- Espresso
- integration tests with / Integration tests with Espresso
- configuring / Espresso configuration
F
- fragments
- about / Fragments
- importance / Understanding the importance of fragments
- Fragment Manager / The Fragment Manager
- stack / Fragments stack
- freemium model / Monetization in Android
G
- garbage collector (GC) / Memory management
- GCM (Google Cloud Messaging)
- used, for sending push notifications / Sending and receiving notifications using GCM
- about / Sending and receiving notifications using GCM
- used, for receiving zapush notifications / Sending and receiving notifications using GCM
- Google
- doze mode / Power-saving optimizations
- app standby / Power-saving optimizations
- Google Developer Console project
- creating / Creating a Google Developer Console project
- Google Volley
- about / Google Volley and OkHttp, Google Volley
- benefits / Google Volley
- lightning-fast network / A lightning-fast network
- Gson
- about / JSON and Gson
H
- handlers / Handlers and threads
I
- images
- downloading / Downloading images
- downloading, traditional way / The traditional way of downloading images
- downloading, with Volley / Downloading images with Volley
- mastering / Mastering images
- vector drawables / Vector drawables
- integration test
- with Espresso / Integration tests with Espresso
- Espresso, configuring / Espresso configuration
- writing / Writing an integration test
- running / Running integration tests
J
- J2EE (Java 2 Enterprise Edition) / Database Access Object
- JSON
- about / JSON and Gson
L
- leaks
- detecting / Detecting and locating leaks
- locating / Detecting and locating leaks
- preventing / Preventing leaks
- leaks, preventing
- activity references / Activity and context references
- context references / Activity and context references
- WeakReference, using / Using WeakReference
- lists
- about / Starting with lists
- ListViews using, built-in views used / Using ListViews with built-in views
- custom Adapter, creating / Creating a custom Adapter
- views, recycling / Recycling views
- ViewHolder pattern, applying / Applying the ViewHolder pattern
- ListViews
- using, with built-in views / Using ListViews with built-in views
- loaders / Introducing loaders
- logs
- about / Logs and the debug mode
- working with / Working with logs
M
- map
- adding / Adding the map
- fragment, adding / Adding the fragment
- fragment, implementing / Implementing MapFragment
- marker
- adding / Adding a marker
- data, retrieving from Parse / Retrieving data from Parse
- displaying, for each location / Displaying a marker for each location
- title, adding to mark / Adding a title to a marker
- MasteringAndroidApp
- creating / Creating MasteringAndroidApp
- material design
- URL / Basic structure
- Material Design
- about / Introducing Material Design
- memory management
- about / Memory management
- leaks, detecting / Detecting and locating leaks
- leaks, locating / Detecting and locating leaks
- leaks, preventing / Preventing leaks
- monetization
- about / Monetization in Android
- freemium model / Monetization in Android
- advertisement model / Monetization in Android
- MonkeyTalk
- used, for recording UI tests / Recording UI tests with MonkeyTalk
- motion
- adding, CoordinatorLayout used / Adding motion with CoordinatorLayout
N
- nine patch
- about / Working with the nine patch
- NotificationCompat
- using / Using NotificationCompat
- URL / Using NotificationCompat
O
- observer pattern / The Observer pattern
- OkHttp
- about / Google Volley and OkHttp, OkHttp
P
- Parse
- about / Parse
- content, storing / Storing and consuming content from Parse, Storing content
- content, consuming from / Storing and consuming content from Parse, Consuming content
- content, displaying / Displaying content
- push notifications / Push notifications with Parse
- analytics with / Analytics with Parse
- Parse SDK (System Development Kit)
- adding, to project / Adding the Parse SDK to our project
- patterns
- about / The importance of patterns
- singleton pattern / The Singleton pattern
- singleton pattern, in Application class / Singleton in the Application class
- observer pattern / The Observer pattern
- Adapter pattern / Introducing the Adapter pattern
- Picasso
- about / Introducing Picasso
- Play Store
- app, releasing to / Releasing our app to Play Store
- app, exporting / Exporting the app
- app, uploading to Play Store / Uploading our app to Play Store
- publisher account, creating / Creating a publisher account
- Google Play Developer console / The Google Play Developer console
- app, publishing / Publishing an app
- POST-sending service
- Proguard
- about / Code obfuscation
- project
- configuring / Configuring the project
- push notifications
- about / Push notifications
- sending, GCM used / Sending and receiving notifications using GCM
- receiving, GCM used / Sending and receiving notifications using GCM
- with Parse / Push notifications with Parse
- NotificationCompat, using / Using NotificationCompat
Q
- QA (Quality Assurance) / Testing from a UI perspective
- query
- parameters / Performing a query
R
- raw query
- using / Using a raw query
- RecyclerView
- about / Introducing RecyclerView, RecyclerView and CursorAdapter
- list, using / Using list, grid, or stack
- grid, using / Using list, grid, or stack
- stack, using / Using list, grid, or stack
- implementing / Implementing RecyclerView
- items, clicking / Clicking on RecyclerView items
- release certificate / Getting the API key
- Robolectric
- about / Unit tests with Robolectric
- configuring / Robolectric configuration
- unit test / Our first unit test
- unit tests, running / Running unit tests
- Roboto font
S
- services / Understanding services
- IntentService / A type of service – IntentService
- singleton pattern
- about / The Singleton pattern
- in Application class / Singleton in the Application class
- sliding panel / The sliding panel
- Stack Overflow
- URL / Customizing tabs
- stress testing
- The Monkey used / Launching The Monkey
- SwipeRefreshLayout
T
- TabLayout
- about / Introducing TabLayout
- tabs
- about / Tabs
- URL / Tabs, Customizing tabs
- Timber
- using / Using Timber, the log wrapper
- toolbar
- about / Toolbar, action bar, and app bar
- tools
- preparing / Getting the tools ready
- ToolTipPopup / Using WeakReference
- transitions
- about / Transitions
U
- UI tests
- about / Testing from a UI perspective
- recording, MonkeyTalk used / Recording UI tests with MonkeyTalk
- Up navigation
V
- vector drawables
- about / Vector drawables
- ViewHolder pattern
- applying / Applying the ViewHolder pattern
- ViewPager
- about / ViewPager
- adapter / Adapter
- tabs, sliding / Sliding tabs
- tabs, customizing / Customizing tabs
- views
- recycling / Recycling views
- Volley
- used, for downloading images / Downloading images with Volley
W
- WeakReference
- using / Using WeakReference