Java 4
Java Abstract Window Toolkit Event package 528
Java API documentation 438
Java API Interfaces 681
Java Application Programming Interface (Java API) 435, 519, 527
java
command 428
Java Concurrency Package 528
Java Development Kit (JDK) 430
.java
file name extension 452
Java Input/Output Package 528
java
interpreter 431
Java Language Package 528
Strings
in switch
statements 506
Java SE Software Development Kit xxxvii
Java Swing GUI Components Package 528
Java Utilities Package 528
Java Virtual Machine (JVM) 428
java.awt.event
package 528, 715, 725
java.lang
package 436, 520, 528, 626, 647, 748
imported in every Java program 436
java.math
package 466
java.util
package 125, 435, 528, 529, 586
java.util.concurrent
package 749, 753
Java™ Language Specification 440
javac
compiler 431
JavaScript Object Notation (JSON) 275
javax.swing
package 528, 717, 718
javax.swing.event
package 715, 725
JComboBox
class 722
getSelectedIndex
method 725
setMaximumRowCount
method 724
JComboBox
that displays a list of image names 722
JetBrains xxxix
join operations 368
getPassword
method 714
JSON (JavaScript Object Notation) 271, 275
JSONArray
class 277
getJSONObject
method 298
length
method 298
JSONObject
class 276
getDouble
method 298
getJSONArray
method 298
getLong
method 298
getString
method 298
setEditable
method 712
JTextField
class 709, 713, 716
addActionListener
method 713
JTextFields
and JPasswordFields
709
Kaleidascope App exercise 227
Kelvin temperature scale 726
key event 717
keyboard types 358
KeyEvent
class 718
KeyListener
interface 718
keySet
method
of class HashMap
743
of interface Map
323
key–value pairs associated with an app 119, 311
abstract
653
boolean
477
break
504
case
504
catch
692
char
436
continue
507
default
504
else
476
enum
534
false
477
finally
692
if
476
implements
671
import
435
instanceof
668
int
436
interface
671
public
429, 452, 453, 459, 523, 598
super
626
switch
476
synchronized
753
throw
700
true
477
try
691
label in a switch
504
landscape mode 252
landscape orientation 105
landscapeorientation 38
language package 528
large-screen device 8
last-in, first-out (LIFO) 526
lastModified
method of class File
746
late binding 667
launch another app 327
launching activities 106
launchMode
of the <activity> element
168
"singleTop"
168
"standard"
168
create new 144
layout (GUI) 48
layout editor 38, 39, 40, 46, 48, 49, 51, 54, 62, 69
guide lines 62
Palette 50
tooltip 63
layout
folder of a project 49
layout manager 711
FlowLayout
711
layout XML editor
design preview 48
layout:column
of a view in a GridLayout
87
layout:columnPan
of a view in a GridLayout
87
layout:gravity
property of a view 61, 63, 89, 90, 91, 139
layout:margin
property of a view 139
layout:row
of a view in a GridLayout
87
layout:weight
property of a view 62, 63, 139
LayoutInflater
class 119
inflate
method 154
layouts
activity_main.xml
51
RelativeLayout
50
left justified 498
left-to-right evaluation 441
length
field of an array 549
length
of an array 549
length
method of class
JSONArray
298
length
method of File
746
license for Android 4
licensing policy 409
licensing service 409
lifecycle methods of an app 96
LIFO (last-in, first-out) 526
light sensor 182
line thickness 183
linear acceleration sensor 182
orientation
property 55
LinearLayoutManager
class (for RecyclerViews
) 313, 323
lines
property of a Button
142
LinkedList
class 730
add
method 736
addFirst
method 736
addLast
method 736
linking your apps 418
Lint, Android 62
list 724
addAll
method 734
clear
method 735
get
method 732
listIterator
method 734
subList
method 735
toArray
method 735
list
method of class AssetManager
157
list
method of File
746
listen for events 713
ListIterator
interface 730
hasPrevious
method 735
previous
method 735
set
method 735
listIterator
method of interface List
734
ListPreference
class 120
ListView
class 379
data binding 277
performance 278
setAdapter
method 293
smoothScrollToPosition
method 297
literals
floating point 466
load method of class SoundPool
252
loadAnimation
method of class AnimationUtils
122, 156
LoaderManager
class 349, 379, 382
LoaderManager.LoaderCallbacks
interface 349
onCreateLoader
method 384, 393, 400
onLoaderReset
method 384, 394, 400
onLoadFinished
method 384, 393, 400
local variable 458, 482, 535, 536, 600
localization 39, 40, 56, 69, 129
Localization Checklist 73
localized resources 70
location of a variable in the computer’s memory 438
lock screen widgets 10
lockCanvas
method of class SurfaceHolder
264
e
method 157
log
method of Math
521
logarithm 521
LogCat in Android Studio 124
LogCat tab in the Android DDMS perspective 124
logcat
tool 124
logging 124
logical complement operator, ! 510
logical negation, ! 510
logical negation, or logical NOT (!) operator truth table 510
Long
class 729
long
keyword 765
long press 307
long
promotions 527
long-running operations 277, 349
Nimbus 708
loop 482
body 499
continuation condition 476
counter 494
infinite 479
statement 476
loop-continuation condition 494, 495, 496, 499, 500, 507
looping 482
Lottery Number Picker App exercise 171
lowercase letter 429
m-by-n array 573
magnetic field sensor 182
make your point (game of craps) 531
makeText
method of class Toast
152
making decisions 446
manifest activity
element
android:label
attribute 105
android:name
attribute 105
android:screenOrientation
attribute 105
android:windowSoftInputMode
attribute 105
manifest application
element
android:allowBackup
attribute 104
android:icon
attribute 104
android:label
attribute 104
android:supportsRtl
attribute 104
android:theme
attribute 104
manifest
element in AndroidManifest.xml
104
manifest file 416
manually perform an animation 232
many-to-one mapping 741
containsKey
method 743
get
method 743
isEmpty
method 744
keySet
method 323
put
method 743
size
method 744
Mashup exercise 301
Master/Detail Flow template 45
matching catch
block 692
icons 132
Material
themes xxviii
specification xxviii
vector icons 186
abs
method 521
ceil
method 521
cos
method 521
E
constant 521
exp
method 521
floor
method 521
log
method 521
max
method 521
min
method 521
random
method 529
tan
method 521
Math.PI
constant 449
max
method of Collections
737
max
method of Math
521
max
property of a SeekBar
91
maxLength
property of an EditText
90
mean 441
media files 231
MediaStore
class 183
MediaStore.Images.Media
class 183
insertImage
method 183
medium sized font 87
memory location 438
menu
folder of an Android project 48, 120, 121
menu item
inflate
method 149
MenuItem
class
getItemID
method 201
message 463
local variable 458
parameter list 455
return type 460
signature 539
static
499
method-call stack 526
method declaration 523
method header 453
method overloading 537
methods implicitly final
670
Microsoft Windows 503
mileage obtained by automobiles 515
MIME type 330
min
method of Collections
737
min
method of Math
521
minimum screen width qualifier 121
minus sign (—) formatting flag 498
mipmap 53
mipmap
folder of an Android project 48
mipmap
resource folder 53
mobile advertising 412
mobile advertising network 413
AdMob 413
mobile advertising networks 423
AdMob 424
InMobi 424
Medialets 424
Millennial Media 424
mMedia 424
Smaato 424
Tapjoy 424
mobile payment provider 415
Boku 415
PayPal Mobile Libraries 415
Samsung In-App Purchase 415
mobile payment providers 415
modal dialog 123
MODE_PRIVATE
constant 322
MODE_WORLD_READABLE
constant 322
MODE_WORLD_WRITABLE
constant 322
modularizing a program with methods 520
modules in Java 519
monitor 752
monitor lock 752
MotionEvent
class 183, 210, 231, 262
getActionIndex
method 211
getActionMasked
method 210
getPointerCount
method 212
getX
method 212
getY
method 212
mouse 708
mouse event 717
MouseAdapter
class 725
mousePressed
method 762
MouseEvent
class 717
MouseListener
interface 717
MouseMotionListener
interface 718, 725
mousePressed
method of class MouseAdapter
762
moveTo
method of class Path
211
moveToFirst
method of class Cursor
394, 400
moveToPosition
method of class Cursor
387
Movie Collection App exercise 403
Movie Trivia Quiz App exercise 171
MP3 player 5
multidimensional array 573, 574
multimedia xxxi
multiple class declarations in one source-code file 599
multiple format specifiers 129
multiple-selection statement 476
multiplication compound assignment operator, *=
492
MultiSelectListPreference
class 120
multithreading 747
multitouch 210
multitouch screen 5
mutual exclusion 752
name of a variable 438
name of an array 549
Name That Song App exercise 301
named constant 553
naming convention
GUI components 85
natural comparison method 737
natural logarithm 521
near-field communication (NFC) 7
negative action in a dialog 123
nested array initializers 574
nested class 712
nested classes 708
nested control statements 488
Examination-results problem 490
nested for
statement 555, 575, 576, 580
nested if...else
selection statement 477
nested parentheses 440
Netbeans
demonstration video 428
network access 15
network message arrival 694
neutral action in a dialog 123
new
keyword 436, 454, 549, 551
new Scanner(System.in)
expression 436
New String Value Resource dialog 57, 89
newCachedThreadPool
method of class Executors
750
newline character 432
newline escape sequence,
433, 436
News Aggregator App exercise 301
enhanced 301
newsgroups 33
Android Developers 33
next
method
of Iterator
732
of Scanner
457
nextDouble
method of class Scanner
469
nextInt
method of class Random
529
nextLine
method of class Scanner
456
Nimbus look and feel 708
swing.properties
708
no-argument constructor 604, 606
non-static
class member 615
nonfatal logic error 479
notify
method of Object
648
notifyAll
method of Object
648
notifyDataSetChanged
method 277, 297, 326
notifyDataSetChanged
method of class
NumberFormat
class 81, 97, 284
format
method 100
numbering format specifiers 129
numeric Classes 729
numeric input 81
numeric keypad 77
obfuscate code 409
object 18
clone
method 647
equals
method 647
finalize
method 647
hashCode
method 648
notify
method 648
notifyAll
method 648
wait
method 648
object of a derived class 650
object-oriented analysis and design (OOAD) 21
object-oriented language 21
object-oriented programming (OOP) 21, 623
object serialization 746
ObjectInput
interface 747
readObject
method 747
ObjectInputStream
class 745, 747
ObjectOutput
interface 747
writeObject
method 747
ObjectOutputStream
class 745, 747
Oceania 114
OEM original equipment manufacturer 4
off-by-one error 496
offset
method of class Rect
247
onActivityCreated
method of class Fragment
237, 382
onAnimationEnd
method of class AnimatorListenerAdapter
162
onAttach
method of class Fragment
182, 217, 382, 389, 397
onBindViewHolder
method of class RecyclerView.Adapter
334, 387
onCreate
method of a ContentProvider
366
onCreate
method of class Activity
80, 98, 181
onCreate
method of class Fragment
119
onCreate
method of class SQLiteOpenHelper
364
onCreateDialog
method of class DialogFragment
164
onCreateLoader
method of interface
LoaderManager.LoaderCall backs
384, 393, 400
onCreateOptionsMenu
method of class Activity
118, 149
onCreateOptionsMenu
method of class Fragment
119, 201, 398
onCreateView
method of class Fragment
119, 154, 237
onCreateViewHolder
method of class RecyclerView.Adapter
334, 387
onDestroy
method of class Activity
181, 231
onDestroy
method of class Fragment
231, 238
onDetach
method of class Fragment
182, 217, 382, 389, 397
onDowngrade
method of class SQLiteOpenHelper
364
onDraw
method of class View
209
one-to-one mapping 741
onLoaderReset
method of interface
LoaderManager.LoaderCall backs
384, 394, 400
onLoadFinished
method of interface
LoaderManager.LoaderCall backs
384, 393, 400
onLongClick
method of interface
OnLongClickListener
327
OnLongClickListener
interface onLongClick
method 327
OnLongClickListener
nested interface of class View
327
onOptionsItemSelected
method of class Activity
118, 150
onOptionsItemSelected
method of class Fragment
119, 201, 398
onPause
method of class Activity
181
onPause
method of class Fragment
181, 199, 237
onPostExecute
method of class AsyncTask
291, 296
onProgressChanged
method of interface SeekBar.OnSeekBarChangeListener
82
onProgressUpdate
method of class AsyncTask
291, 296
onRequestPermissionsResult
method of class Fragment
204
onResume
method of class Activity
181
onResume
method of class Fragment
198
OnSeekBarChangeListener
interface 101
onSensorChanged
method 200
onSensorChanged
method of interface SensorEventListener
200
onSizeChanged
method of class View
208, 252
onStart
method of class Activity
148, 181
onStop
method of class Activity
181
onTextChanged
method of interface TextWatcher
82
OnTouchEvent
method of class View
210
onTouchEvent
method of class View
183, 231, 262
onUpgrade
method of class SQLiteOpenHelper
364
OOAD (object-oriented analysis and design) 21
OOP (object-oriented programming) 21, 623
open a file 745
Open Handset Alliance 6
open source 3
open source apps 4
Open Source Project discussion groups 3
openConnection
method of class HttpURLConnection
291
openPR 423
operating system 6
operating system requirements xxxvii
operating systems services 15
operator 437
operator precedence 440
operator precedence chart 487
Operator Precedence Chart Appendix 763
rules 440
Operators
^
, boolean logical exclusive OR 507, 509
--
, predecrement/postdecrement 491
--
, prefix decrement/postfix decrement 492
?:
, ternary conditional operator 477
*=
, multiplication assignment operator 492
/=
, division assignment operator 492
&
, boolean logical AND 507, 509
%=
, remainder assignment operator 492
++
, prefix increment/postfix increment 492
++
, preincrement/postincrement 491
+=
, addition assignment operator 491
-=
, subtraction assignment operator 492
|
, boolean logical inclusive OR 507, 509
arithmetic 439
boolean logical AND, & 507, 509
boolean logical exclusive OR, ^
507, 509
boolean logical inclusive OR, |
509
cast 487
compound assignment 491
conditional operator,?:
477
conditional OR, ||
507, 508, 509
decrement operator, --
491, 492
increment and decrement 492
increment, ++
492
logical complement, !
510
logical negation, !
510
multiplication, *
439
postfix decrement 492
postfix increment 492
prefix decrement 492
prefix increment 492
subtraction, -
440
options menu 27, 118, 175, 176
orange guide lines in layout editor 62
order 475
order in which actions should execute 474
Order of catch
Blocks exercise 706
order of exception handlers 706
org.json
package 276
orientation
landscape 38
portrait 38
orientation
instance variable of class Configuration
122
orientation
property of a LinearLayout
55
orientation qualifier 121
orientation sensor 182
ORIENTATION_LANDSCAPE
constant 122
ORIENTATION_PORTRAIT
constant 122
original equipment manufacturer (OEM) 4
out-of-bounds array index 694
outer set of brackets 558
output 430
output cursor 432
OutputStream
class 747
overflow 694
overflow options menu 175, 176
overload a method 537
overloaded constructors 601
override a superclass method 625, 629
package 14, 435, 519, 527, 618
package access 619
package-access methods 619
packages
android.animation
15
android.app
15, 79, 118, 119, 123, 349
android.content
15, 120, 147, 183, 349, 362
android.content.res
15, 120, 122, 148
android.database.sqlite
15, 348, 367
android.graphics.drawable
15, 160
android.hardware
15
android.support.design.widget
279
android.support.v4.app
118, 119
android.support.v7. widget
312
android.view.animation
122
android.view.inputmethod
294
android.widget
16, 81, 84, 97, 122
default package 458
java.lang
436, 520, 528, 626, 647, 748
java.math
466
java.util
125, 435, 528, 529, 586
javax.swing.event
715, 717, 725
org.json
276
padding
element of a shape
354
padding
property of a view 90, 90, 91
paid app
average price 412
Paint
class 183
filled shape with a border 207
filled shape without a border 207
line 207
setAntiAlias
method 207
setStrokeWidth
method 207
setStyle
method 207
styles 207
Palette in the layout editor 50
parallel operations 747
parent directory 746
parent of an Activity
168
nested 440
parse
method of class Uri
327
pass an array element to a method 565
pass an array to a method 565
pass-by-reference 567
password 709
Path
class 183
moveTo
method 211
quadTo
method 212
reset
method 211
PATH
environment variable xxxvii, xxxviii, 431
path information 745
Payable
interface declaration 674
Payable
interface hierarchy UML class diagram 673
payment processor 412
Payroll System Modification exercise 685
perform a calculation 446
perform a task 453
perform an action 430
performing operations concurrently 747
permission WRITE_EXTERNAL_PERMISSION
184
permission in Android 6.0 (Marshmallow) 184, 189
persistent data 744
photo sharing 421
Photo Sphere 10
“pick off” each digit 450
pixel density 52
play
method of class SoundPool
252
Play Store app 418
pointer (finger) in touch events 183, 206
pointer (for touch events) 210
polymorphic processing of related exceptions 696
polymorphically process Invoices
and Employees
680
polymorphism 648
pop off a stack 526
pop the back stack 375
popBackStack
method of class FragmentManager
375
portable GUI 528
portrait orientation 38, 84, 105
position number 548
positive action in a dialog 123
postdecrement 492
postDelayed
method of class Handler
122, 165
postfix decrement operator 492
postfix increment operator 492
postincrement 492
pow
method of class Math
499, 520, 521, 541
power (exponent) 521
power of 2 larger than 100 479
PR Leap 423
prebuilt data structures 728
arithmetic operators 440
Precedence Chart Appendix 763
precision of a floating-point value 465
precision of a formatted floating-point number 468, 488
predecrement 492
predicate method 621
Preference
class 120
PreferenceFragment
class 118, 120, 166
addPreferencesFromResource
method 166
PreferenceManager
class 120, 146, 147
setDefaultValues
method 146, 147
prefix decrement operator 492
prefix increment operator 492
preincrement 492
Preparing for Release 406
pressure sensor 182
prevent the soft keyboard from being displayed at app startup 314
Preview All Screen Sizes 66, 143
previous
method of ListIterator
735
price 412
pricing your app 411
primary key 363
prime 762
prime number 591
primitive type 436, 462, 493, 527
byte
500
names are keywords 436
passed by value 567
promotions 527
short
500
principal in an interest calculation 497
principle of least privilege 618
print a line of text 430
print
method of System.out
432
print on multiple lines 432
printBitmap
method of class PrintHelper
214
printf
method of System.out
434
PrintHelper
class 214
printBitmap
method 214
SCALE_MODE_FILL
214
SCALE_MODE_FIT
214
println
method of System.out
432
printStackTrace
method of class Throwable
703
private
private key 409
private static
class member 615
PRLog 423
probability 529
procedure 520
procedure for solving a problem 474
product icon size 408
program construction principles 511
program control 475
program execution stack 526
program in the general 648, 684
program in the specific 648
programmatically create GUI components 119
progress
property of a SeekBar
90
ProGuard 409
project 41
dependencies 314
project templates
Blank Activity 45
Fullscreen Activity 45
Master-Detail Application 45
Project Volta 12
Project window 47
promotion 487
of arguments 526
rules 526
promotions for primitive types 527
prompt 436
Properties window 47, 54, 57, 58, 89
protected
access modifier 598, 625
PROTECTION_NORMAL
permissions 280
<provider> element in AndroidManifest.xml
351
proximity sensor 182
algorithm 484
public
abstract
method 671
access modifier 452, 453, 459, 523, 598
class 429
final static
data 671
interface 594
member of a subclass 626
service 594
static
class members 614
static
method 615
public relations 422
publish a new version of an app 419
publishing data on an Android device 15
push onto a stack 526
push onto the back stack 376
put
method
of interface Map
743
putExtra
method of class Intent
330
putParcelable
method of class Bundle
376
putString
method of class SharedPreferences.Editor
326
putStringSet
method of class SharedPreferences.Editor
151
quadratic bezier curve 212
quadTo
method of class Path
212
query
method of a ContentProvider
367
query
method of class SQLiteQueryBuilder
369
Quiz App exercise
enhanced 300
R
class 99
R.drawable
class 99
R.id
class 99
R.layout
class 99
R.layout.activity_main
constant 99
R.string
class 99
radians 521
radio button 718
radius of a circle 545
nextInt
method 529
setSeed
method 530
random
method of class Math
529
random numbers 530
difference between values 530
generation 559
processing 528
pseudorandom number 529
scaling 529
seed 529
seed value 530
shift a range 529
range
method of class EnumSet
613
range-view methods 735
raw
folder of an Android project 48, 120, 121
readability 428
readObject
method of ObjectInput
747
realization in the UML 673
Recipe App exercise 403
reclaim memory 618
Rect
class
offset
method 247
rectangle 620
Rectangle
Class (exercise) 620
recycle
method of class Bitmap
208
addItemDecoration
method 323
format of a list item 318
setAdapter
method 323
setLayoutManager
method 323
RecyclerView.Adapter
class 313, 323, 351
for a Cursor
384
onBindViewHolder
method 334, 387
onCreateViewHolder
method 334, 387
RecyclerView.ItemDecoration
class 313, 323, 351
RecyclerView.LayoutManager
class 313
RecyclerView.ViewHolder
class 313
red
method of class Color
217
redraw a View
209
refer to an object 462
reference 462
reflection 669
registered listener 717
registering the event handler 712
registerListener
method of class SensorManager
198
registerOnSharedPreference ChangeListener
method of class SharedPreferences
147
reinventing the wheel 435, 583
relational operators 442
relative path 745
RelativeLayout
50
release a resource 697
release
method of class SoundPool
261
remainder 439
remainder compound assignment operator, %=
492
remainder operator, %
439, 440
remove apps from Market 419
remove duplicate String
740
remove
method of class ArrayList<T>
586, 588
remove
method of interface Iterator
732
rendering and tracking text 16
repetition
sentinel controlled 483, 484, 485
for
476
while
476, 479, 482, 486, 487, 494
repetition terminates 479
replace
method of class FragmentTransaction
376
reporting bugs 3
Representational State Transfer (REST) 274
requestFocus
method of class View
324
requestPermissions
method of class Fragment
203, 204
requirements 20
res
folder of an Android project 48, 56
res/drawable-mdpi
folder 354
res/raw
folder of an Android project 231, 234
reserved word 476
false
476
true
476
reset
method of class Path
211
resizable array
implementation of a List
730
resolveActivity
method of class Intent
124
resource 416
resource files 40
resource folders
qualified names 121
resource-release code 697
resources
alternative-resource naming conventions 70
default 70
Localization Checklist 73
localized 70
Resources
class 148
getConfiguration
method 148, 149
responses to a survey 556, 558
REST (Representational State Transfer) web service 274
invoke 296
restrict maximum number of digits in an EditText
81
resumption model of exception handling 693
Rethrowing Exceptions exercise 706
return
keyword 460
return type 460
reusable software components 18, 36, 528
reverse engineering 409
reverse
method of Collections
737
reverseOrder
method of Collections
738
RGB 177
RGB value 59
right brace, }
429, 430, 435, 487
right justify output 498
rise-and-shine algorithm 474
Road Sign Quiz App exercise 171
robust 437
robust application 687
rolling two dice 533
rollover Icon
721
root directory 745
rotate
animation for a View
133
rotation vector sensor 182
round a floating-point number for display purposes 488
rounding a number 439, 521, 544
rowCount
property of a GridLayout
86
rows of a two-dimensional array 573
rules of operator precedence 440
run
method of interface Runnable
748
Runnable
interface 122, 258, 682, 748
run
method 748
runOnUiThread
method of class Activity
258
runtime logic error 437
RuntimeException
class 695
saved state 99
savings account 497
SavingsAccount
Class (exercise) 620
scalable vector graphic 132
scalar 565
scale
animation for a View
133
scale mode 214
SCALE_MODE_FILL
214
SCALE_MODE_FIT
214
scale-independent pixels (sp
) 58
scaleType
property of an ImageView
140
scaling (random numbers) 529
scaling factor (random numbers) 529, 530
hasNext
method 504
next
method 457
nextDouble
method 469
nextLine
method 456
scope 496
scope of a declaration 535
scope of a variable 496
Scrapbooking App exercise 75
screen capture 410
screen capturing and sharing 12
screen cursor 433
screen-manager program 649
Screen Record tool in Android Studio 411
screen resolution 52
screen size 52
screen type for a GUI’s design 49
screenshot specifications 410
scroll 723
scroll arrow 724
scroll box 724
scrollbar of a JComboBox
724
ScrollView
class 357
SDK versions and API levels 44
search operators (Twitter) 303
second-degree polynomial 441, 442
seed value (random numbers) 529, 530
SeekBar
max
property 91
progress
property 90
SeekBar.OnSeekBarChangeLis tener
interface 82, 97, 218
onProgressChanged
method 82
selecting an item from a menu 709
send a message to an object 20, 35
send message 463
Sensor
class 182
SENSOR_DELAY_NORMAL
constant of class SensorManager
198
Sensor.TYPE_ACCELEROMETER
constant 198
SensorEvent
class 201
SensorEventListener
interface 200
SensorEventListener
listener 200
SensorManager
class 198
getDefaultSensor
method 198
registerListener
method 198
unregisterListener
method 199
SensorManager.SENSOR_DELAY_NORMAL
constant 198
sensors
gravity 182
gyroscope 182
light 182
linear acceleration 182
magnetic field 182
orientation 182
pressure 182
proximity 182
rotation vector 182
temperature 182
sentinel-controlled repetition 484, 485
sequence structure 475
sequential execution 475
Serializable
interface 682
serialized object 746
service 79
service of a class 598
set a value 462
set
in an animation 133
Set
interface 125, 729, 740, 741
set
method of interface ListIterator
735
set of constants
as an interface 671
set up event handling 712
setAdapter
method of class ListView
293
setAdapter
method of class RecyclerView
323
setAntiAlias
method of class Paint
207
setArguments
method of class Fragment
376
setAudioAttributes
method of class AudioAttributes.Builder
251
setBackgroundColor
method 218
setBackgroundColor
method of class View
218
setContentView
method of class Activity
99
setDefaultValues
method of class PreferenceManager
146, 147
setDuration
method of class Animator
123
setDuration
method of class ViewAnimationUtils
162
setEditable
method of class JTextComponent
712
setHasOptionsMenu
method of class Fragment
197
setImageBitmap
method of class View
222
setImageDrawable
method of class InputStream
160
setItems
method of class AlertDialog.Builder
313, 329
setLayout
method of class Container
711
setLayoutManager
method of class RecyclerView
323
setMaximumRowCount
method of class JComboBox
724
setNotificationUri
method of class Cursor
369
setRepeatCount
method of class Animation
122, 156
setRequestedOrientation
method of class Activity
148
setRolloverIcon
method of class AbstractButton
721
setSeed
method of class Random
530
setStrokeCap
method of class Paint
207, 222
setStrokeWidth
method of class Paint
207
setStyle
method of class Paint
207
setSystemUiVisibility
method of class View
264
setTables
method of a SQLiteQueryBuilder
367, 368
setTag
method of class View
278
Setting hardware emulation options 30
Setting the PATH
environment variable xxxvii, xxxviii
setUsage
method of class AudioAttributes
232, 251
setVolumeControlStream
method of class Activity
232, 237
shades of a color 83
shadow a field 535
Shape
class hierarchy 625
shape
element 354
Shape Hierarchy exercise 685
SharedPreferences
class 120, 311, 321
getAll
method 323
getString
method 327
getStringSet
method 151
registerOnSharedPrefere nceChangeListener
method 147
SharedPreferences.Editor
class 120, 151, 312, 325, 326
commit
method 152
putString
method 326
putStringSet
method 151
shell 430
shift (random numbers) 529
shifting value 529
shifting value (random numbers) 530
Shopping List App exercise 403
Shopping Mashup App exercise 301
short-circuit evaluation 509
Short
class 729
promotions 527
shouldShowRequestPermissio nRationale
method of class Fragment
203
show
method of class DialogFragment
164
show
method of class FloatingActionButton
324
showAsAction
attribute of a menu item 133, 187
showDividers
property of a LinearLayout
355
shuffle 559
algorithm 739
shuffle a collection 160
shuffle
method of class Collections
125, 737, 739
shuffling
Fisher-Yates 562
shutdown
method of class ExecutorService
752
side effect 509
Sieve of Eratosthenes 591
Sieve of Eratosthenes exercise 591
signal value 484
signature 539
signature of a method 539
signing apps 407
simple collision detection 246
simple touch events 231
simple_list_item_1
387
simulation 528
coin tossing 545
sin
method of class Math
521
sine 521
single-line (end-of-line) comment 430
single-precision floating-point number 466
single-selection statement 476
single-screen app 45
size
method
of class ArrayList<T>
588
of interface Map
744
size of a variable 438
sleep
method of class Thread
750
slider (SeekBar
) 79
smallest of several integers 516
smoothScrollToPosition
method of class ListView
297
SMS 309
Social API 9
social media sites 420
soft buttons 27
soft keyboard
prevent display at app startup 314
remain on screen 84
types 358
Solitaire Card Game App exercise 340
sort
case insensitive 323
sort
method
of class Collections
323, 737
sorted order 741
SortedMap
interface 741
SortedSet
interface 741
sorting with a Comparator
738
sound effects 231
sound files 234
load
method 252
play
method 252
release
method 261
SoundPool.Builder
class 232, 251
sounds 231
source code 3
source-code listing 2
sp
(scale-independent pixels) 58
space character 429
special character 436
specialization 623
specifics 650
sphere 541
Sports Trivia Quiz App exercise 171
SQL (Structured Query Language) 348
SQLiteDatabase
class 348
delete
method 373
execSQL
method 364
insert
method 370
update
method 371
SQLiteOpenHelper
class 348, 363
getReadableDatabase
method 369
getWritableDatabase
method 370
onCreate
method 364
onDowngrade
method 364
onUpgrade
method 364
SQLiteQueryBuilder
class 367
appendWhere
method 368
join 368
query
method 369
sqrt
method of class Math
520, 521, 526
square brackets, []
548
square root 521
src
property of a ImageView
55, 64
method call stack 526
program execution stack 526
stack overflow 526
stack frame 526
stack trace 688
stack unwinding 701
StackTraceElement
class 703
getClassName
method 703
getFileName
method 703
getLineNumber
method 703
getMethodName
method 703
standard error stream 692, 699
standard input stream 436
standard output stream 430, 699
standard time format 596
star ratings for apps 419
start
method of class Animator
123
startActivity
method of class Context
327
startAnimation
method of class View
122
stateAlwaysHidden
(virtual keyboard mode) 314
continue
507
control statement 475
double selection 476
empty 445
enhanced for
563
looping 476
multiple selection 476
nested 488
nested if...else
477
single selection 476
throw
596
try
558
while
476, 479, 482, 486, 487, 494
states of an Activity
80
class member 614
class variable 615
field (class variable) 614
keyword 520
static binding 670
straight-line form 439
stream 699
stream for playing music 237
stream of bytes 744
@string
resource 57
string 430
literal 430
of characters 430
String
class
format
method 596
immutable 616
toLowerCase
735
toUpperCase
735
String
resource 57
containing multiple format specifiers 129
String.CASE_INSENSITIVE_ORDER
323
Strings
in switch
statements 506
strings.xml
57
stroke
element of a shape
354
strongly typed languages 493
structured programming 475
Structured Query Language (SQL) 348
style
define new 353
style
attribute of a GUI component 350
style
property of a View
358
style
property of a view 94
style
resources 91
styles.xml
353
subclass 623
sublist 735
subList
method of List
735
subscript (index) 548
subtraction 439
operator, - 440
subtraction compound assignment operator, -=
492
summarizing responses to a survey 556
super
keyword 626
call superclass constructor 639
superclass 623
constructor 629
constructor call syntax 639
default constructor 629
method overridden in a subclass 647
support library
FragmentManager
119
surfaceChanged
method of interface SurfaceHolder.Callback
261
surfaceCreated
method of interface SurfaceHolder.Callback
261
surfaceDestroyed
method of interface SurfaceHolder.Callback
261
addCallback
method 251
lockCanvas
method 264
SurfaceHolder.Callback
interface 232, 251, 261
surfaceChanged
method 261
surfaceCreated
method 261
surfaceDestroyed
method 261
getHolder
method 251
Swing GUI components package 528
swing.properties
file 708
SwingConstants
interface 682
SwingWorker
class 754
doInBackground
method 754, 756
execute
method 754
get
method 754
process
method 754
publish
method 754
setProgress
method 754
switch
multiple-selection statement 476, 500
case
label 504
comparing Strings
506
controlling expression 504
synchronization 752
synchronize 748
synchronized
264
keyword 753
method 753
statement 753
synchronous error 694
syntax coloring xxxi
syntax shading 2
system bar 39
System
class
exit
method 697
SYSTEM_UI_FLAG_IMMERSIVE
265
System.err
(standard error stream) 692
System.out
print
method 432
printf
method 434
System.out
(standard output stream) 430
tab character,
433
tab stops 433
table 573
table element 573
table of values 573
tablet 8
tabular format 552
tagging interface 672
enable/disable 68
Localization 73
tan
method of class Math
521
tangent 521
Target-Heart-Rate Calculator App exercise 109
temperature sensor 182
temporary 487
terminal window 430
termination housekeeping 647
termination model of exception handling 693
ternary operator 477
text box 81
text field 81
text file 744
text
property of a TextView
55, 57, 139
Text tab in the layout editor 39
textAppearance
property of a TextView
87
textColor
property of a Button
142
textColor
property of a TextView
60
textSize
property of a TextView
58, 141
textStyle
property of a TextView
141
Text-to-Speech API 9
TextView
class 40, 51, 56, 81, 97
hint
property 89
textAppearance
property 87
textColor
property 60
textStyle
property 141
TextWatcher
interface 82, 96, 323
onTextChanged
method 82
The Java™ Language Specification 440
theme 91
Theme Editor 83
Theme.AppCompat.Light.Dark ActionBar
82, 91
this
reference 599
to call another constructor of the same class 604
thread 693
of execution 747
synchronization 752
thread (for animation) 232
Thread
class 263
interrupt
method 750
sleep
method 750
thread confinement 753
thread pool 749
thread safe 753
Threadr
class 232
throw an exception 558, 595, 687, 691
throw
keyword 700
throw point 689
throw
statement 699
getMessage
method 703
getStackTrace
method 703
printStackTrace
method 703
throws
clause 693
TicTacToe
exercise 621
Tip Calculator app xxvi, 17
toArray
method of List
735, 737
makeText
method 152
toggle buttons 718
toLowerCase
method of class String
735
Tools
logcat
124
tooltip in layout editor 63
top-level class 712
toString
method
total 480
touch events
simple 231
toUpperCase
method of class String
735
Towers of Hanoi App exercise 268
track app installs 419
traditional comment 429
training
Deitel 425
transfer of control 475
translate
animation
android:duration
attribute 134
android:fromXDelta
attribute 134
android:startOffset
attribute 134
android:toXDelta
attribute 134
translate
animation for a View
133
traverse an array 575
tree 740
TreeMap
class 741
trigonometric cosine 521
trigonometric sine 521
trigonometric tangent 521
trimToSize
method of class ArrayList<T>
586
true
442
truncate 439
truncate fractional part of a calculation 483
truth table 508
for operator ^
509
for operator !
510
for operator &&
508
for operator ||
508
terminates 693
try
keyword 691
tweet 421
24-hour clock format 594
@deitel
421
hashtag 421
tweet 421
Twitter App exercise 339
Twitter Fabric (mobile development platform) 336
Twitter search 303
operators 304
Twitter Searches app xxvi
Twitter Searches App exercise enhanced 338
two-dimensional array 573, 575
two-dimensional array with three rows and four columns 573
type 436
type casting 487
type of a variable 438
type-wrapper class 729
TYPE_ACCELEROMETER
constant of class Sensor
198
typing in a text field 709
U.S. State Quiz App exercise 171
UI thread 122
cast 487
unboxing conversion 729
uncaught exception 692
unchecked exceptions 695
Unicode character set 494, 765
Uniform Resource Identifier (URI) 327, 745
Uniform Resource Locator (URL) 327, 745
unique identifier for an app 42
universal-time format 594, 595, 596
unregisterListener
method of class SensorManager
199
UnsupportedOperationExcept
ion class 735
unwinding the method-call stack 701
update
method of a ContentProvider
371
update
method of a ContentResolver
393
update
method of class SQLiteDatabase
371
URI (Uniform Resource Identifier) 327, 745
getLastPathSegment
method 368
parse
method 327
UriMatcher
class 365
URL (Uniform Resource Locator) 327, 745
URL encoded String
327
USB debugging 30
useDefaultMargins
property of a GridLayout
86
utilities 31
Utilities Package 528
valid identifier 436
value of a variable 438
value to the nearest integer 544
values
folder of an Android project 49, 57
values
method of an enum
612
reference type 462
size 438
type 438
value 438
variable declaration statement 436
variable is not modifiable 618
variable scope 496
vector asset add to project 132
Vector Asset Studio 118, 132, 186
Vector
class 589
version code 408
version name 408
VERSION_SDK_INT
264
versioning your app 407
Versioning Your Applications 408
video 15
video game 529
video sharing 421
view (GUI component) 39, 48, 79, 735
View
animations 133
contentDescription
property 140
custom subclass 248
getTag
method 278
invalidate
method 208
layout:gravity
property 139
View
class 754
layout:margin
property 139
layout:weight
property 139
onDraw
method 209
onTouchEvent
method 183, 210, 231, 262
redraw a View
209
requestFocus
method 324
setImageBitmap
method 222
setSystemUiVisibility
method 264
setTag
method 278
size changes 252
startAnimation
method 122
View.OnClickListener
interface 156
View.OnLongClickListener
interface 327
View.SYSTEM_UI_FLAG_IMMERS IVE
265
ViewAnimationUtils
class 123
createCircularReveal
method 123, 162
setDuration
method 162
ViewGroup
class 357
views
viral video 421
virtual camera operator 9
virtual goods 414
virtual keyboard mode
stateAlwaysHidden
314
visual feedback 721
visual impairment 38
Voice Interaction API 13
volume 232
wait
method of class Object
648
Weather Viewer App exercise 300
WeatherBug 6
Amazon eCommerce 6
API key 274
eBay 6
Facebook 6
Flickr 6
Foursquare 6
Google Maps 6
host 273
Instagram 6
LinkedIn 6
Microsoft Bing 6
Netflix 6
PayPal 6
REST 274
Salesforce.com 6
Skype 6
Twitter 6
Wikipedia 6
Yahoo Search 6
YouTube 6
Zillow 6
weightSum
property of a LinearLayout
355
Welcome app xxvi, 17
Welcome window in Android Studio 41
while
repetition statement 476, 479, 482, 486, 487, 494
width of a column 84
Wi-Fi Direct 9
wildcard in a Uri
366
window event-handling methods 725
window gadgets 708
WindowListener
interface 725
windowSoftInputMode
option 314
Word Scramble Game App exercise 300
Word Search App exercise 227
wrapping stream objects 747
WRITE_EXTERNAL_PERMISSION
184
writeable 746
writeObject
method of interface ObjectOutput
747
www.deitel.com/training
425
XML 51
xml
folder of an Android project 48, 120, 121
XML namespace
android
187
app
187
XML resource files 40
XML utilities 16
YouTube 411
zero-based counting 551
zeroth element 548
3.142.136.226