Index
A
- Activities
- alarms, handling with / Handling alarms with Activities
- ahead-of-time (AOT) compilation / ART runtime
- AIDL (Android Interface Definition Language) / Service in a separate process
- AlarmManager
- about / Introducing AlarmManager
- android.app.AlarmManager, features / Introducing AlarmManager
- used, for scheduling alarms / Scheduling alarms with AlarmManager
- applications / Applications of AlarmManager
- AlarmManager Alarms
- debugging / Debugging AlarmManager alarms
- alarms
- scheduling, AlarmManager used / Scheduling alarms with AlarmManager
- setting, in recent Android versions / Setting alarms in recent Android versions
- testing, Doze mode used / Testing your alarms in Doze Mode
- Window alarm, setting / Setting a Window alarm
- AlarmManager Alarms, debugging / Debugging AlarmManager alarms
- cancelling / Canceling alarms
- repeating alarms, scheduling / Scheduling repeating alarms
- alarm clock, scheduling / Scheduling an alarm clock
- handling / Handling alarms
- handling, Activities used / Handling alarms with Activities
- handling, BroadcastReceiver used / Handling alarms with BroadcastReceiver
- handling, Services used / Handling alarms with Services
- WakeLocks, used for staying awake / Staying awake with WakeLocks
- resetting, after system reboot / Resetting alarms after a system reboot
- Android, concurrency
- about / Concurrency in Android
- concurrent programs, correctness issues / Correctness issues in concurrent programs
- concurrent programs, liveness issues / Liveness issues in concurrent programs
- thread coordination / Thread coordination
- concurrent package constructs / Concurrent package constructs
- executor framework / Executor framework
- Android Application Manifest (AAM) / Android process model
- Android application package (APK) / Dalvik runtime
- Android HTTP clients
- about / Introducing Android HTTP clients
- AndroidHttpClient client library / AndroidHttpClient
- HttpURLConnection / HttpURLConnection
- Android NDK (Native Development Kit)
- Android primary building blocks
- about / Android primary building blocks
- Activity concurrent issues / Activity concurrent issues
- user interface, manipulating / Manipulating the user interface
- service concurrent, issues / Service concurrent issues
- started services, issues / Started services issues
- bound services, issues / Bound services issues
- Android process model
- about / Android process model
- process ranks / Process ranks
- process sandboxing / Process sandboxing
- Android service
- separate process / Service in a separate process
- broadcast receiver concurrent issues / Broadcast receiver concurrent issues
- Android concurrency constructs / Android concurrency constructs
- Android software stack
- about / Android software stack
- Dalvik runtime / Dalvik runtime
- ART runtime / ART runtime
- memory sharing and Zygote / Memory sharing and Zygote
- Android thread model
- about / Android thread model
- main thread / The main thread
- Application Not Responding (ANR) dialog / The Application Not Responding (ANR) dialog
- responsiveness, maintaining / Maintaining responsiveness
- Application Not Responding (ANR) dialog / The Application Not Responding (ANR) dialog
- AsyncTask
- about / Introducing AsyncTask
- types, declaring / Declaring AsyncTask types
- executing / Executing AsyncTasks
- indeterministic progress feedback, providing / Providing indeterministic progress feedback
- deterministic progress feedback, providing / Providing deterministic progress feedback
- canceling / Canceling an AsyncTask
- applications / Applications of AsyncTask
- AsyncTask, canceling
- Execution State / AsyncTask Execution State
- AsyncTask, issues
- about / Common AsyncTask issues
- fragmentation issues / Fragmentation issues
- memory leaks / Memory leaks
- lifecycle issues / Activity lifecycle issues
- lifecycle issues handling, early cancellation used / Handling lifecycle issues with early cancellation
- lifecycle issues handling, with retained headless fragments used / Handling lifecycle issues with retained headless fragments
- AsyncTaskLoader
- used, for building responsive apps / Building responsive apps with AsyncTaskLoader
B
- Bound Service
- about / Introducing Service, Bound Service
- Local Service, communicating with / Communicating with a Local Service
- results, broadcasting with intents / Broadcasting results with intents
- unhandled broadcasts, detecting / Detecting unhandled broadcasts
- bound services
- issues / Bound services issues
- BroadcastReceiver
- alarms, handling with / Handling alarms with BroadcastReceiver
- working with / Working with BroadcastReceiver
- goAsync, asychronous work with / Asynchronous work with goAsync
- broker / Introduction to bus-based communication
- bus-based communication
C
- C++ functions
- calling, from native code / Calling C++ functions from native code
- Certificate Authorities (CAs) / Communicating securely over SSL sessions
- Certificate authority (CA) / Communicating securely over SSL sessions
- C functions
- calling, from Java code / Calling C functions from Java code
- cold
- versus Hot Observable / Cold versus Hot Observable
- composition / Composition versus inheritance
- concurrency / Maintaining responsiveness
- concurrency level
- controlling / Controlling the level of concurrency
- copy-on-write (COW) / Memory sharing and Zygote
- CursorLoader
- used, for building responsive apps / Building responsive apps with CursorLoader
D
- Dalvik VM (DVM) runtime / Dalvik runtime
- Dan Borstein / Dalvik runtime
- data
- loading, Loaders used / Loading data with Loader
- deterministic progress feedback
- providing / Providing deterministic progress feedback
- downstream messages
- receiving / Receiving downstream messages
- Doze mode
- used, for testing alarms / Testing your alarms in Doze Mode
E
- EventBus library
- about / EventBus library
- URL / EventBus library
- events
- defining / Defining events
- submitting / Submitting events
- event stream
- monitoring / Monitoring the event stream
- exceptions
- handling / Handling exceptions
G
- Garbage Collection (GC) / ART runtime
- GC (garbage collection) / Activity lifecycle issues
- GCM
- about / Introduction to GCM
- setting up, for application / Setting up and configuring GCM for your application
- configuring, for application / Setting up and configuring GCM for your application
- Receiver, registering / Registering the GCM Receiver
- Registration Service, setting up / Setting up a registration service
- InstanceID Listener / InstanceID listener
- GcmListenerService delivery callbacks
- GCM Network Manager
- used, for executing tasks / Executing tasks with GCM Network Manager
- one shot task, building / Building a one shot task
- GCM Receiver
- registering / Registering the GCM Receiver
- Global Service (GS)
- about / Introducing Service
- Google GSON library
- reference link / Converting Java objects to JSON
- Greenwich Mean Time (GMT) / Scheduling alarms with AlarmManager
H
- HTTP requests
- performing, asynchronously / Performing HTTP requests asynchronously
- text response, retrieving / Retrieving a text response
- interacting, with JSON web APIs / Interacting with JSON web APIs
- XML web APIs, interacting with / Interacting with XML web APIs
- reference link / Converting XML to Java objects
- HTTP timeouts
- customizing / Customizing HTTP timeouts
- HTTP uploads
- with IntentService / HTTP uploads with IntentService
- Hybrid Service
- about / Introducing Service
I
- indeterministic progress feedback
- providing / Providing indeterministic progress feedback
- inheritance / Composition versus inheritance
- input/output (I/O) / The main thread
- IntentService
- used, for building responsive apps / Building responsive apps with IntentService
- IntentService, applications
- about / Applications of IntentService
- HTTP uploads / HTTP uploads with IntentService
- progress, reporting / Reporting progress
- inter-process communication (IPC) technique / Service in a separate process
- inter-process communication (IPC) technique / Communicating with a Local Service
- Internal Remote Service (IRS)
- about / Introducing Service
- Internet Engineering Task Force (IETF) / Introducing Android HTTP clients
- IO operations
- performing, Schedulers used / Performing IO operations with Schedulers
J
- Java code
- C functions, calling / Calling C functions from Java code
- Java exceptions
- handling, in native layer / Handling Java exceptions in the native layer
- Java monitor
- interacting with, from native code / Interacting with a Java monitor from native code
- native data objects, wrapping / Wrapping native data objects
- Java Native Interface (JNI)
- about / Introduction to JNI
- Java objects
- accessing, from native code / Accessing Java objects from native code
- Java threads
- native background work, executing / Executing native background work on Java threads
- job
- scheduling / Scheduling a job
- pending jobs, listing / Listing pending jobs
- cancelling / Canceling a job
- periodic job, scheduling / Scheduling a periodic job
- JobScheduler
- about / Introduction to JobScheduler
- features / Introduction to JobScheduler
- running criteria, setting / Setting running criteria
- job, scheduling / Scheduling a job
- applications / Applications of the JobScheduler
- JobService
- implementing / Implementing the JobService
- JSONPlaceHolder
- reference link / Converting Java objects to JSON
- JSON web APIs
- interacting with / Interacting with JSON web APIs
- Java objects, converting to JSON / Converting Java objects to JSON
- Just-In-Time (JIT) compilation / Dalvik runtime
L
- Least-Recently-Used (LRU) / Process ranks
- Linux user ID (UID) / Process sandboxing
- Loader API
- about / Loader API
- Loader / Loader
- Loader Manager / Loader Manager
- LoaderManager.LoaderCallbacks / LoaderManager.LoaderCallbacks
- Loader Manager / Loader Manager
- LoaderManager.LoaderCallbacks / LoaderManager.LoaderCallbacks
- Loaders
- about / Introducing Loaders
- Lifecycle / Loader lifecycle
- used, for loading data / Loading data with Loader
- combining / Combining Loaders
- applications / Applications of Loader
- Local Service (LS)
- about / Introducing Service
- Looper
- about / Understanding Looper
- sequence, on Android / Understanding Looper
- Handler class / Understanding Handler
- work, sending to / Sending work to a Looper
- work, scheduling with post / Scheduling work with post
- Handler, used for deferring work / Using Handler to defer work
- implicit references, leaking / Leaking implicit references
- explicit references, leaking / Leaking explicit references
- UI, updating with Handler / Updating the UI with Handler
- pending Runnable, cancelling / Canceling a pending Runnable
- work, scheduling with send / Scheduling work with send
- pending messages, cancelling / Cancelling pending messages
- composition, versus inheritance / Composition versus inheritance
- multithreading, with Handler / Multithreading with Handler and ThreadHandler
- multithreading, with ThreadHandler / Multithreading with Handler and ThreadHandler
- messages, dispatching / Looper message dispatching debugging
- messages, debugging / Looper message dispatching debugging
- sending messages, versus posting runnables / Sending messages versus posting runnables
- Handler, applications / Applications of Handler and HandlerThread
- HandlerThread, applications / Applications of Handler and HandlerThread
- Looper Thread / The main thread
M
- messages
- receiving, from topic / Receiving messages from topic
- upstream messages, sending / Sending upstream messages
- mockable
- reference link / Converting XML to Java objects
N
- native background work
- executing, Java threads used / Executing native background work on Java threads
- native code
- C++ functions, calling / Calling C++ functions from native code
- Java objects, accessing / Accessing Java objects from native code
- native layer
- Java exceptions, handling / Handling Java exceptions in the native layer
- native thread
- asynchronous work, executing / Executing asynchronous work on a native thread
- attaching, from JVM / Attaching and detaching native threads from JVM
- detaching, from JVM / Attaching and detaching native threads from JVM
- JNI references / JNI references explained
- UI, interacting with / Interacting with UI from native threads
- starting / Starting the native threads
- stopping / Stopping the native threads
O
- Observables
- creating / Creating Observables
- transforming / Transforming Observables
- composing / Composing Observables
- combining / Combining Observables
P
- parallelism / Maintaining responsiveness
- parent process ID (PPID) / Process sandboxing
- PendingIntent
- used, for posting results / Posting results with PendingIntent
- pending jobs
- listing / Listing pending jobs
- periodic job
- scheduling / Scheduling a periodic job
- Plain Old Java Object (POJO) / Interacting with JSON web APIs
- process ID (PID) / Process sandboxing
- process ranks
- about / Process ranks
- foreground process / Process ranks
- visible process / Process ranks
- service process / Process ranks
- background process / Process ranks
- empty process / Process ranks
- publisher / Introduction to bus-based communication
R
- RenderThread / The main thread
- responsive apps
- building, AsyncTaskLoader used / Building responsive apps with AsyncTaskLoader
- building, CursorLoader used / Building responsive apps with CursorLoader
- building, IntentService used / Building responsive apps with IntentService
- results
- handling / Handling results
- posting, PendingIntent used / Posting results with PendingIntent
- posting, as system notifications / Posting results as system notifications
- broadcasting, intents used / Broadcasting results with intents
- RxJava
- about / Introduction to RxJava
- setup / RxJava setup
- used, for observing UI Events / Observing UI Events with RxJava
S
- sbscribers
- registering / Registering sbscribers
- Schedulers
- about / Understanding Schedulers
- used, for performing IO operations / Performing IO operations with Schedulers
- service
- about / Introducing Service
- started service / Introducing Service, Started service
- bound service / Introducing Service
- hybrid service / Introducing Service
- applications / Applications of Services
- SimpleXML
- reference link / Converting Java objects to XML
- Software as a Service (SaaS) / Converting XML to Java objects
- SSL sessions
- used for secure communications / Communicating securely over SSL sessions
- setting up / Communicating securely over SSL sessions
- started service
- about / Started service
- responsive apps building, IntentService used / Building responsive apps with IntentService
- results, handling / Handling results
- results posting, PendingIntent used / Posting results with PendingIntent
- results, posting as system notifications / Posting results as system notifications
- IntentService, applications / Applications of IntentService
- started services
- issues / Started services issues
- sticking events
- posting / Posting sticking events
- removing / Removing sticky events
- Subjects
- working with / Working with Subjects
- subscribers / Introduction to bus-based communication
- Subscriptions
- cancelling / Canceling subscriptions
T
- tasks
- executing, GCM Network Manager used / Executing tasks with GCM Network Manager
- thread ID (TID) / The main thread
- thread mode
- about / Thread mode
U
- UI/Main thread / The main thread
- UI Events
- observing, RxJava used / Observing UI Events with RxJava
- unhandled broadcasts
- detecting / Detecting unhandled broadcasts
- upstream messages
- setting up / Sending upstream messages
- user identifier (UID) / Process sandboxing
W
- WakeLocks
- used, for staying awake / Staying awake with WakeLocks
- Window Alarm
- setting / Setting a Window alarm
- World Wide Web Consortium (W3C) / Introducing Android HTTP clients
X
- XML web APIs
- interacting with / Interacting with XML web APIs
- Java objects, converting to XML / Converting Java objects to XML
- XML, converting to Java objects / Converting XML to Java objects
Z
- Zygote / Memory sharing and Zygote