Java 5
Java Abstract Window Toolkit Event package 599
Java API documentation
download: www.oracle.com/technetwork/java/javase/downloads/index.html
509
download.oracle.com/javase/6/docs/api/
509
java.sun.com/javase/6/docs/api/
509
Java API Interfaces 752
Java Application Programming Interface (Java API) 506, 590, 598
Java code xxxi
java
command 499
Java Concurrency Package 599
Java developer documentation (www.oracle.com/technetwork/java/javase/downloads/index.html
) xxvi
Java Development Kit (JDK) 501
.java
file name extension 523
Java Input/Output Package 599
java
interpreter 502
Java Language Package 599
Java perspective in Eclipse 25
Java Resource Centers at www.deitel.com/ResourceCenters.html
34, 501
Java SE 6
API documentation (java.sun.com/javase/6/docs/api/
) 599
Java SE 6 Resource Center (www.deitel.com/java/
) xxvi
Java SE 6 Software Development Kit xxxi
Java SE 7 577 String
s in switch
statements 577
Java Swing GUI Components Package 599
Java Utilities Package 599
Java Virtual Machine (JVM) 499
Java website (java.sun.com
) 599
java.awt.event
package 599, 786, 796
java.io
class 395
java.lang
package 507, 591, 599, 697, 718, 819
imported in every Java program 507
java.math
package 537
java.util
package 164, 506, 599, 600, 657
java.util.concurrent
package 227, 820, 824
java.util.concurrent.atomic
package 250
Java™ Language Specification (java.sun.com/docs/books/jls/
) 511
javac
compiler 502
JavaScript Object Notation (JSON) 468
javax.swing
package 599, 788, 789
javax.swing.event
package 786, 796
JComboBox
class 793
getSelectedIndex
method 796
setMaximumRowCount
method 795
JComboBox
that displays a list of image names 793
JDK 501
Jigsaw Puzzle Generator App exercise 391
Jigsaw Puzzle Quiz App exercise 245, 496
getPassword
method 785
JSON (JavaScript Object Notation) 426, 468
JsonReader 430
JsonReader
class 426, 430, 468, 472, 481
beginObject
method 469, 472, 474
getString
method 470
hasNext
method 484
nextString
method 484
skipValue
method 470, 474, 483, 484
setEditable
method 783
JTextField
class 780, 784, 787
addActionListener
method 784
JTextField
s and JPasswordField
s 780
Kaleidascope App exercise 281
Kelvin temperature scale 797
kernel memory management boost 7
key event 788
key/value pairs
persistent 142
key/value pairs associated with an app 132
types 292
KeyEvent
class 789
KeyListener
interface 789
keySet
method
of class HashMap
814
keySet
method of interface Map
144
Keywords
abstract
724
boolean
548
break
575
case
575
catch
763
char
507
continue
578
default
575
else
547
enum
605
false
548
finally
763
if
547
implements
742
import
506
instanceof
739
int
507
interface
742
public
500, 523, 524, 530, 594, 669
super
697
switch
547
synchronized
824
throw
771
true
548
try
762
Khronos EGL APIs 20
Khronos EGL library 14
Khronos OpenGL ES interfaces 20
Khronos OpenSL ES API 14
Knight’s Tour App exercise 246
label 50
label in a switch
575
Labyrinth Game App: Open Source exercise 281
landscape mode 227
landscape orientation 429
language package 599
last-in, first-out (LIFO) 597
lastModified
method of class File
817
late binding 738
launcher icon 44
layer components 326
layout 19
Layout height property of a component 108
layout manager 782
FlowLayout
782
Layout margin top property of a component 89
layout resource 286
Layout weight property of a component 109
Layout width property of a component 104, 137
layout XML file
inflate
method 146
LayoutParams
class 338
Layouts
LinearLayout
80
main.xml
80
left justified 569
left-to-right evaluation 512
length
field of an array 620
length
instance variable of an array 620
length
method of File
817
license for Android 5
licensing policy 52
licensing service 52
lifecycle methods 194
lifecycle methods of an app 113
LIFO (last-in, first-out) 597
light sensor 250
line thickness 196
linear acceleration sensor 250
LinearInterpolator
class 240
LinearLayout
80
LinearLayout
class 290
LinkedList
class 801
add
method 807
addFirst
method 807
addLast
method 807
list 795
addAll
method 805
clear
method 806
get
method 803
listIterator
method 805
subList
method 806
toArray
method 806
list item
touched 298
touched row ID 299
list
method of class AssetManager
175
list
method of File
817
list view icon 44
ListActivity
class 287, 290, 293, 362, 373, 374, 402
built-in ListView
294
custom GUI 290
ListView android:id
359
setListAdapter
method 295
listen for events 784
listen for location changes 331
listening for touches xxi
ListFragment
class 427, 428, 449
ListIterator
interface 801
hasPrevious
method 806
previous
method 806
set
method 806
listIterator
method of interface List
805
ListView
class 286, 290, 293, 355, 362, 373
format of a list item 290
in a Fragment
428
floating point 537
load a URL into a web browser 132
load
method of class SoundPool
205
loadAnimation
method of class AnimationUtils
164, 175
local variable 529, 553, 606, 607, 671
numbering format specifiers in String
resources 194
localize an app 102
location 319
bearing 319
direction 319
location animation 239
location changes
listen for 331
bearingTo
method 333
distanceTo
method 332
getBearing
method 333
getLatitude
method 333
getLongitude
method 333
location of a variable in the computer’s memory 509
location provider 330 status 333
location providers 324
Location-Based Ringer App exercise 347
location-based services 19
LocationListener
interface 324, 332, 333
onLocationChanged
method 333
LocationManager
class 324, 331
getBestProvider
method 331
getLastKnownLocation
method 331
requestLocationUpdates
method 331
lockCanvas
method of class SurfaceHolder
217
e
method 179
log
method of Math
592
logarithm 592
LogCat tab in the Android DDMS perspective 164
logcat
tool 164
logical complement operator, !
581
logical negation, !
581
logical negation, or logical NOT (!) operator truth table 581
Long
class 800
Long clickable property of an EditText
109
long
keyword 836
long press 21
long
promotions 598
long-press touch event 195
look-and-feel
Nimbus 779
loop 553
body 570
continuation condition 547
counter 565
infinite 550
statement 547
loop-continuation condition 565, 566, 567, 570, 571, 578
looping 553
Lottery Number Picker App exercise 189
lowercase letter 500
m-by-n array 644
magnetic field sensor 250
main thread 823
main.xml
80
contents explained 93
make your point (game of craps) 602
makeText
method of class Toast
278
making decisions 517
Manage Applications shortcut 11
managing persistent data xxii
receiver
element 430
service
element 430
manifest editor 153
manifest
element of the manifest file 152
manifest file 14, 42, 49, 50, 55, 152, 323
access a non-standard library 323
uses-permission
element 323, 326
manually add an attribute to the XML 107
manually perform an animation 195
many-to-one mapping 812
map 319
geographic coordinates 344
move the center 333
orientation 319
pixel coordinates 344
zoom level 328
containsKey
method 814
get
method 814
isEmpty
method 815
keySet
method 144
put
method 814
size
method 815
map tiles 321
isRouteDisplayed
method 335
animateTo
method 333
getController
method 328
setZoom
method 328
Maps API xxi
MapView
class 324, 327, 328, 338, 339
getProjection
method 344
setBuiltInZoomControls
method 339
setClickable
method 339
setEnabled
method 339
setLayoutParams
method 339
setSatellite
method 339
Market app 63
Market filters 43
marketing 18
Marketwire 67
Mashup exercise 496
match_parent
value for the Layout width property of a component 104, 137
match_parent
value of the android:layout_width
attribute 94
match_parent
value of the Layout height property 137, 168
match_parent
value of the Layout width property 137, 168
matching catch
block 763
abs
method 592
ceil
method 592
cos
method 592
E
constant 592
exp
method 592
floor
method 592
log
method 592
max
method 592
min
method 592
random
method 600
tan
method 592
Math.PI
constant 520
max
method of Collections
808
max
method of Math
592
MD5 fingerprint 321
mean 512
media files 194
media framework 14
Media Transfer Protocol (MTP) 13
Media/Picture Transfer Protocol (MTP/PTP) 14
MediaController
class 396
MediaPlayer
class 356, 383, 384, 384, 386, 390
MediaPlayer.OnCompletionListener
class 396
MediaStore.Images.Thumbnails
class 372
Memory Game App exercise 245
enhanced 245
memory location 509
menu xxi
Context menu 45
Options menu 45
Menu Design Guidelines 45
menu
element 292
menu icon 44
menu name xxxi
MenuInflater
class 287, 297, 302
merchant account 48
message 534
Messaging 45
local variable 529
parameter list 526
return type 531
signature 610
static
570
method-call stack 597
method declaration 594
method header 524
method overloading 608
methods implicitly final
741
microdegrees 333
Microsoft Windows 574
mileage obtained by automobiles 586
Miles-Per-Gallon Calculator App exercise 126
MIME type 278
video/*
408
MIME type of an Intent
355
min
method of Collections
808
min
method of Math
592
minus sign (–
) formatting flag 569
Misc section of the Properties window 107
MKMapView
class 314
mobile advertising 58
mobile advertising networks 60, 67
AdMob (www.admob.com/
) 67
AdWhirl 68
Decktrade 68
Flurry 68
Google AdSense for Mobile 67
Medialets 68
Nexage 68
Pinch Media 60
Smaato 68
mobile app design resources
Android Developer Guide: Compatibility 42
Android Developer Guide: Designing for Performance 42
Android Developer Guide: Designing for Responsiveness 42
Android Developer Guide: Designing for Seamlessness 42
Android Developer Guide: Supporting Multiple Screens 42
Android Developer Guide: User Interface Guidelines 42
mobile payment providers 62
Boku 62
PayPal Mobile Libraries 62
Zong 62
mock GPS data for testing purposes 326
modal dialog 132
MODE_PRIVATE
constant 144
MODE_WORLD_READABLE
constant 144
MODE_WORLD_WRITABLE
constant 144
modularizing a program with methods 591
modules in Java 590
monitor 823
monitor lock 823
MotionEvent
class 194, 200, 251, 273
getActionIndex
method 274
getActionMasked
method 273
getPointerCount
method 275
getX
method 275
getY
method 275
mouse 779
mouse event 788
MouseAdapter
class 796
mousePressed
method 833
MouseEvent
class 788
MouseListener
interface 788
MouseMotionListener
interface 789, 796
mousePressed
method of class MouseAdapter
833
move the center of the map 333
moveTo
method of class Path
274
moveToFirst
method of class Cursor
302
Movie Collection App exercise 316
enhanced 422
Movie Trivia Quiz App exercise 189
MP3 12
MP3 player 6
Multicore processor architecture 14
multidimensional array 644, 645
multimedia xxiii
multimedia playlist 14
multiple class declarations
in one source-code file 670
multiple format specifiers 194, 197
multiple-selection statement 547
multiplication compound assignment
operator, *=
563
multiselect 14
multitasking 13
multithreading 818
multitouch screen 6
music library 350
mutual exclusion 823
name of a variable 509
name of an array 620
Name That Song App exercise 497
named constant 624
naming convention
Native Asset Manager API 14
native audio 14
native graphics management 14
native input 14
natural comparison method 808
natural logarithm 592
NAVIGATION_MODE_TABS
447
near-field communication (NFC) 11
API 12
nested array initializers 645
nested class 783
nested classes 779
nested control statements 559
Examination-results problem 561
nested for
statement 626, 646, 647, 651
nested if
...else
selection statement 548
nested parentheses 511
nested structure of a layout 103
nested View
s 131
Netbeans
demonstration video (www.deitel.com/books/androidHTP
) 499
network access 19
network message arrival 765
networking 19
New Android Project dialog 77
New Android XML File dialog 134, 166
new
keyword 507, 525, 620, 622
new Scanner(System.in)
expression 507
newCachedThreadPool
method of class Executors
821
newline character 503
newline escape sequence,
504, 507
News Aggregator App exercise 496
newsgroups 3
Android Developers 4
newTab method
447
newWakeLock
method of class PowerManager
332
next
method
of Iterator
803
of Scanner
528
nextDouble
method of class Scanner
540
nextInt
method of class Random
600
nextLine
method of class Scanner
527
nextName
method of class JsonReader
469, 472
nextString
method of class JsonReader
484
Nimbus look and feel 779
no-argument constructor 675, 677
NO_REQUIREMENT
constant of class Criteria
330
non-static
class member 686
nonfatal logic error 550
non-standard library
access 323
notification 14
notify
method of Object
719
notifyAll
method of Object
719
notifyDataSetChanged
method 356, 366, 371
notifyDataSetChanged
method of
class ArrayAdapter
356, 366, 371
NotSerializableException
class 395
number picker 14
numbering format specifiers 194, 197
numeric Classes 800
obfuscate 52
object (or instance) 24
clone
method 718
equals
method 718
finalize
method 718
hashCode
method 719
notify
method 719
notifyAll
method 719
wait
method 719
object graph 395
object of a derived class 721
object-oriented analysis and design (OOAD) 24
object-oriented language 24
object-oriented programming (OOP) 24, 101, 694
object serialization xxi, 393, 395, 402, 817
ObjectAnimator
class 226
ObjectInput
interface 818
readObject
method 818
ObjectInputSteam
class 404
ObjectInputStream
class 396, 816, 818
writeObject
method 405
Objective-C command xxxi
ObjectOutput
interface 818
writeObject
method 818
ObjectOutputStream
class 395, 405, 816, 818
writeObject
method 395
obtaining a Google Maps API key 321
OEMoriginal equipment manufacturer 5
off-by-one error 567
onActivityCreated
method of class Fragement
450
onActivityCreated
method of class Fragment
463
onActivityResult
method 364, 366, 371, 375, 390
onActivityResult
method of class Activity
364, 366, 371, 375, 390, 407
onAnimationCancel
method of interface AnimationListener
235
onAnimationEnd
method of interface AnimatorListener
235, 240
onAnimationStart
method of interface AnimatorListener
240
onCheckedChanged
method of interface OnCheckedChangeListener
337
OnCheckedChangeListener
interface 324, 329, 336
onCheckedChanged
method 337
OnClickListener
interface 227
onCompletion
method of interface
OnCompletionListener
417
OnCompletionListener
interface 417
onCreate
method of class Activity
115, 199, 231, 294, 300, 363, 374, 382, 403, 435
onCreate
method of class SQLiteOpenHelper
313
onCreateOptionsMenu
method of class Activity
164, 261, 302, 364
onCreateView
method of class Fragment
458, 462
onDestroy
method of class Activity
194, 199, 200, 384
onDoubleTap
method of class GestureDetector.SimpleGestureListener
201
onDowngrade
method of class SQLiteOpenHelper
313
onDraw
method of class View
272
One-Armed Bandit App exercise 423
one-to-one mapping 812
onItemClick
method of interface AdapterView.OnItemClickListener
298
OnItemClickListener
interface 294, 298
onItemClick
method 298
OnItemLongClickListener
interface 429
onLocationChanged
method of interface LocationListener
333
on–off state 324
on–off state button 319
onOptionsItemSelected
method of class Activity
164, 263, 303, 364
onPause
method of class Activity
194, 199, 200, 384
onPictureTaken
method of class Camera.PictureCallback
414
onPostExecute
method of class AsyncTask
296, 297, 301, 302
onProgressUpdate
method of class AsyncTask
296, 301
onRestoreInstanceState
method of class Activity
436
onResume
method of class Activity
231, 295, 384, 437
onSaveInstanceState
method of class Activity
115, 120, 381, 385, 390, 436
on-screen component xxxi
onSensorChanged
method of interface SensorEventListener
259
onSizeChanged
method of class View
205, 234, 271
onStart
method of class Activity
231, 384
onStop
method of class Activity
296, 332, 384
onTouchEvent
method of class Activity
194, 200
OnTouchEvent
method of class View
251, 272
onTouchEvent
method of class View
240
onUpgrade
method of class SQLiteOpenHelper
313
OOAD (object-oriented analysis and design) 24
OOP (object-oriented programming) 24, 694
open a file 816
Open Handset Alliance 4
open
method of class Camera
413
open source 4
open source apps 5
Open Source Project discussion groups 4
OpenCORE 8
OpenGL 20
OpenGL ES xxii
OpenGL renderer 15
opening a database 309
openPR 67
operating system 4
operating system requirements xxxi
operating systems services 19
operator 508
operator precedence 511
operator precedence chart 558
Operator Precedence Chart Appendix 834
rules 511
Operators
^
, boolean logical exclusive OR 578, 580
--
, predecrement/postdecrement 562
--
, prefix decrement/postfix decrement 563
?:
, ternary conditional operator 548
*=
, multiplication assignment operator 563
/=
, division assignment operator 563
&
, boolean logical AND 578, 580
%=
, remainder assignment operator 563
++
, prefix increment/postfix increment 563
++
, preincrement/postincrement 562
+=
, addition assignment operator 562
-=
, subtraction assignment operator 563
|
, boolean logical inclusive OR 578, 580
arithmetic 510
boolean logical AND, &
578, 580
boolean logical exclusive OR, ^
578, 580
boolean logical inclusive OR, |
580
cast 558
compound assignment 562
conditional operator, ?:
548
conditional OR, ||
578, 579, 580
decrement operator, --
562, 563
increment and decrement 563
increment, ++
563
logical complement, !
581
logical negation, !
581
multiplication, *
510
postfix decrement 563
postfix increment 563
prefix decrement 563
prefix increment 563
subtraction, -
511
Options menu 45
order 546
order in which actions should execute 545
Order of catch
Blocks exercise 777
order of exception handlers 777
landscape 429
portrait 429
original equipment manufacturer (OEM) 5
out-of-bounds array index 765
outer set of brackets 629
Outline window in Eclipse 100, 101
output 501
output cursor 503
OutputStream
class 251, 278, 395, 818
overflow 765
draw
method 343
overload a method 608
overloaded constructors 672
override a superclass method 696, 700
Override/Implement Methods option
in Eclipse 120
overscroll 286
package 18, 506, 590, 598, 689
package access 690
package-access methods 690
Package Explorer window 79, 84, 100, 129, 163, 193, 225
package name 529
Packages
android.animation
226
android.app
18, 113, 142, 250, 428, 429
android.content
19, 132, 142, 251, 429, 430
android.content.res
19, 164, 175
android.database.sqlite
19, 287
android.graphics.drawable
19, 164, 357
android.opengl
20
android.speech
19
android.speech.tts
19
android.telephony
20
android.util
19, 164, 204, 430
android.view
19, 142, 164, 194, 195
android.view.animation
164
android.view.inputmethod
142
android.widget
19, 81, 114, 142, 251, 324, 326
com.google.android.maps
19, 324
default package 529
java.io
19, 164, 395, 599, 816
java.lang
507, 591, 599, 697, 718, 819
java.math
537
java.net
19
java.nio
20
java.util
19, 164, 506, 599, 600, 657
java.util.concurrent
227, 820, 824
java.util.concurrent.atomic
250
javax.microedition.khronos.egl
20
javax.microedition.khronos.opengles
20
javax.swing.event
786, 788, 796
javax.xml.parsers
19
org.xml.sax
19
Padding bottom property of a component 108, 109
padding
element of a shape
289
Padding left property of a component 108, 109
Padding
property of a layout 104
Padding right property of a component 108, 109
filled shape with a border 270
filled shape without a border 270
line 270
setAntiAlias
method 270
setStrokeWidth
method 270
setStyle
method 270
styles 270
parallel operations 818
parent directory 817
nested 511
parse
method of class Uri
151
PARTIAL_WAKE_LOCK
constant of class PowerManager
332
pass an array element to a method 636
pass an array to a method 636
pass-by-reference 638
password expiration 15
Path
class 251
moveTo
method 274
quadTo
method 275
reset
method 274
PATH
environment variable xxxii, 502
path information 816
pause
method 384
pause
method of class MediaPlayer
384
Payable
interface declaration 745
Payable
interface hierarchy UML class diagram 744
Payable
interface test program
processing Invoice
s and Employee
s
polymorphically 751
payment 49
payment processor 59
Payroll System Modification exercise 756
People app 16
perform a calculation 517
perform a task 524
perform an action 501
performance 42
performing operations concurrently 818
permissions 323
android.permission.ACCESS_FINE_LOCATION
326
android.permission.ACCESS_MOCK_LOCATION
326
android.permission.INTERNET
326
android.permission.WAKE_LOCK
326
requesting 326
persistent data 815
persistent key/value pairs 142
photo xxi
photo preview 411
photo sharing 64
Photo Transfer Protocol (PTP) 13
photos 6
“pick off” each digit 521
picture
take programmatically 396
pinch 21
Pinch Media 60
piracy 53
pixel coordinates 344
Pizza Ordering app xxii
play
method of class SoundPool
210
polymorphic processing of related exceptions 767
polymorphically process Invoice
s and Employee
s 751
polymorphism 719
pop off a stack 597
portable GUI 599
position number 619
postdecrement 563
postDelayed
method of class Handler
164
postfix decrement operator 563
postfix increment operator 563
postincrement 563
pow
method of class Math
570, 591, 592, 612
power 330
power (exponent) 592
power management 11
power of 2 larger than 100 550
power state 324
POWER_HIGH
constant of class Criteria
330
POWER_LOW
constant of class Criteria
330
POWER_MEDIUM
constant of class Criteria
330
newWakeLock
method 332
PARTIAL_WAKE_LOCK
332
PR Leap 67
prebuilt data structures 799
arithmetic operators 511
Precedence Chart Appendix 834
precision
format of a floating-point number 559
precision of a floating-point value 536
precision of a formatted floating-point number 539
predecrement 563
predefined color 137
predefined color transparent
140
predicate method 692
prefix decrement operator 563
prefix increment operator 563
preincrement 563
Preincrementing and postincrementing 564
prepare
method 383
prepare
method of class MediaPlayer
383
prepareAsync
method 384
prepareAsync
method of class MediaPlayer
384
Preparing to Publish: A Checklist 50
press release writing 67
pressure sensor 250
prevent the soft keyboard from displaying
when app loads 133
previous
method of ListIterator
806
prime 833
prime number 662
primitive type 507, 533, 564, 598
byte
571
names are keywords 507
passed by value 638
promotions 598
short
571
principal in an interest calculation 568
principle of least privilege 689
print a line of text 501
print
method of System.out
503
print on multiple lines 503
printf
method of System.out
505
println
method of System.out
503
printStackTrace
method of class Throwable
774
privacy 7
private
private key 53
private static
class member 686
PRLog 66
probability 600
procedure 591
procedure for solving a problem 545
processing XML documents 19
program construction principles 582
program control 546
program execution stack 597
program in the general 719, 755
program in the specific 719
programmatically create GUI components 132
Progress property of a SeekBar
108, 109
ProGuard 53
project 77
project, add a class 198
Projection
class 344
toPixels
method 344
promotion 558
of arguments 597
rules 597
promotions for primitive types 598
prompt 507
Properties tab in Eclipse 75
Misc section 107
property-animation lifecycle events 226
protected
access modifier 669, 696
proximity sensor 250
algorithm 555
public
abstract
method 742
access modifier 523, 524, 530, 594, 669
class 500
final static
data 742
interface 665
member of a subclass 697
service 665
static
class members 685
static
method 686
public relations 66
publish a new version of an app 63
publishing data on an Android device 19
push onto a stack 597
put
method
of interface Map
814
put
method of class ContentValues
278
putExtra
method of class Intent
299
putString
method of class
SharedPreferences.Editor
146
quadratic bezier curve 275
quadTo
method of class Path
275
query
method of class SQLiteDatabase
312
Queue
227
Queue
class 227
Quick Contact 7
Quiz App exercise 422
enhanced 496
R
class 117
R.color
class 137
R.drawable
class 117
R.layout
class 117
R.layout.main
constant 117, 143
R.string
class 117
radians 592
radio button 789
radius of a circle 616
download.oracle.com/javase/6/docs/api/java/util/Random.html
600
nextInt
method 600
setSeed
method 601
Random Interimage Transition App exercise 390
random
method of class Math
600
random numbers 601
difference between values 601
generation 630
processing 599
pseudorandom number 600
scaling 600
seed 600
seed value 601
shift a range 600
range
method of class EnumSet
684
range-view methods 806
readability 499
readObject
method of class ObjectInputStream
396, 404
readObject
method of ObjectInput
818
realization in the UML 744
receiver
element of the manifest 430
Recent Apps 13
Recipe App exercise 316
enhanced 422
reclaim memory 689
reconfigure the camera 412
record GPS data 322
rectangle 691
Rectangle
Class (exercise) 691
red
method of class Color
263
redraw a View
272
refer to an object 533
reference 533
Reference Chooser dialog 91
reflection 740
registered listener 788
registering the event handler 783
registerListener
method of class SensorManager
258
reinventing the wheel 506, 654
relational operators 513
relative path 816
RelativeLayout.LayoutParams
class 238
release a resource 768
release
method 384
release
method of class MediaPlayer
384
release
method of class SoundPool
215
release
method of class WakeLock
332
release resources 302
remainder 510
remainder compound assignment operator, %=
563
remainder operator, %
510, 511
Remote Wipe 7
RemoteViews
class 472, 487, 490, 492
remove apps from Market 63
remove duplicate String
811
remove
method of class ArrayAdapter
378
remove
method of class ArrayList<T>
657, 659
remove
method of interface Iterator
803
removeAllViews
method of class ViewGroup
147, 235
removeCallbacks
method of class Handler
384
rendering and tracking text 19
Renderscript 3D graphics engine 14
repetition
sentinel controlled 554, 555, 556
for
547
while
547, 550, 553, 557, 558, 565
repetition terminates 550
replace
method of class FragmentTransaction
442
reporting bugs 4
requery
method of class Cursor
297
request code 364
requesting app permissions 326
requestLocationUpdates
method of class LocationManager
331
requirements 24
res
folder of an Android project 80, 87
res/anim
folder 171
res/drawable
folder 289
res/menu folder
292
res/raw
folder of an Android project 194, 198
res/values
folder 134
reserved word 547
false
547
true
547
reset
method of class MediaPlayer
386
reset
method of class Path
274
resizable array
implementation of a List
801
resizable widget 15
resource 55
Resource Chooser dialog 87
Resource
class 194
getString
method 194
resource file
color
element 135
dimen
element 135
resources
element 135
resource files 79
arrays.xml
432
item
element for defining a MenuItem
292
resource-release code 768
resource value
access 139
access a color resource@color/
139
access a dimension resource@dimen/
140
access a string resource@string/
139
resources
androiddevelopers.blogspot.com/
35
answers.oreilly.com/topic/862-ten-tips-for-android-application-development/
34
code.google.com/p/apps-for-android/
34
developer.htc.com/
35
developer.motorola.com/
35
developer.sprint.com/site/global/develop/mobile_platforms/android/android.jsp
35
developer.t-mobile.com/site/global/resources/partner_hubs/android/p_android.jsp
35
dynamically load 175
layout 286
www.androidtapp.com/10-user-experience-tips-for-successful-android-apps/
34
www.brighthub.com/mobile/google-android.aspx
34
www.droidnova.com/
34
www.ibm.com/developerworks/opensource/library/xandroid/index.html
34
www.youtube.com/user/androiddevelopers
34
getString
method 237
getStringArray
method 440
resources
element of a resource file 135
responses to a survey 627, 629
responsiveness 42
RESULT_CANCELED
constant in class Activity
366
RESULT_OK
constant in class Activity
366
resumption model of exception handling 764
Rethrowing Exceptions exercise 777
return
keyword 531
return type 531
returning false
from an event handler 201
returning true
from an event handler 201
reusable software components 22, 599
revenue share 18
reverse engineering 52
reverse
method of Collections
808
reverseOrder
method of Collections
809
RGB color scheme 28
RGB values 85
right align text 108
right brace, }
500, 501, 506, 558
right justify output 569
right
value of the Gravity property of a component 108
rise-and-shine algorithm 545
Road Sign Quiz App exercise 189
robust 508
robust application 758
rolling two dice 604
rollover Icon
792
root directory 816
rotate a Canvas
341
rotate
animation for a View
171
rotation animation 239
rotation vector sensor 250
round a floating-point number for display purposes 559
rounding a number 510, 592, 615
exercise 347
row ID of a touched list item 299
rows of a two-dimensional array 644
rules of operator precedence 511
run
method of interface Runnable
819
Runnable
interface 164, 214, 386, 753, 819
run
method 819
runOnUiThread
method of class Activity
214, 404, 405
runtime logic error 508
RuntimeException
class 766
SalariedEmployee
class that
implements interface Payable
method getPaymentAmount
750
SalariedEmployee
concrete class
extends abstract
class Employee
730
save data on the iPhone 128
saved state 117
savings account 568
SavingsAccount
Class (exercise) 691
SAX API (Simple API for XML) 19
scalar 636
scale animation 239
scale
animation for a View
171
scale-independent pixel 88, 89, 135
scaled pixels (sp) 88
scaleX
method of class ViewPropertyAnimator
239
scaleY
method of class ViewPropertyAnimator
239
scaling (random numbers) 600
scaling factor (random numbers) 600, 601
hasNext
method 575
next
method 528
nextDouble
method 540
nextLine
method 527
scope 567
scope of a declaration 606
scope of a variable 567
Scrapbooking App exercise 97
screen capture 54
screen cursor 504
screen density 44
screen dimensions 339
screen-manager program 720
screen orientation 46
portrait 196
screen size 44
screenshot specifications 54
scroll arrow 795
scroll box 795
scroll touch event 195
scrollable list of items 287
scrollbar
of a JComboBox
795
scrolling GUI components 129
Scrolling Image Marquee App exercise 391
Scrolling Marquee Sign App exercise 391
seamlessness 42
second-degree polynomial 512, 513
security 7
seed value (random numbers) 600, 601
android:thumb
attribute 253
SeekBar.OnSeekBarChangeListener
interface 114, 263, 264
seekTo
method 384
seekTo
method of class MediaPlayer
384
select multiple components 106
select videos 393
selecting an item from a menu 780
selectTab
method of class ActionBar
437
sell your app xxii
send a message to an object 23
send message 534
sendBroadcast
method of class Activity
439
sending GPS data to an AVD 322
Sensor
class 250
sensor events 14
SENSOR_DELAY_NORMAL
constant of class SensorManager
258, 259
SENSOR_SERVICE
constant in class Context
259
Sensor.TYPE_ACCELEROMETER
constant 258, 259
SensorEvent
class 261
SensorEventListener
interface 250, 259
SensorEventListener
listener 259
SensorManager
class 250, 257, 258
getDefaultSensor
method 258
registerListener
method 258
SensorManager.SENSOR_DELAY_NORMAL
constant 258, 259
sensors
gravity 250
gyroscope 250
light 250
linear acceleration 250
magnetic field 250
pressure 250
proximity 250
rotation vector 250
temperature 250
sentinel-controlled repetition 555, 556
sequence structure 546
sequential execution 546
Serializable
interface 395, 399, 753
serialization 395
service
element of the manifest 430
service of a class 669
service to inflate a layout 146
Session Initiation Protocol (SIP) 11
SIP providers 11
set a value 533
set
in an animation 171
Set
interface 800, 800, 811, 812
toArray
method 144
set
method
of interface ListIterator
806
set of constants
as an interface 742
set up event handling 783
setAccuracy
method of class Criteria
330
setAltitudeRequired
method of class Criteria
330
setAntiAlias
method of class Paint
270
setArguments
method of class Fragment
460, 476
setBackgroundColor
method of class View
264
setBuiltInZoomControls
method of class MapView
339
setClickable
method of class MapView
339
setColorEffect
method of class Camera.Parameters
412, 414
setCompoundDrawables
method of class TextView
451
setContentView
method of class Activity
117, 294
setContentView
method of class Dialog
263, 266
setCostAllowed
method of class Criteria
330
setDataSource
method of class MediaPlayer
383
setDuration
method of class ViewPropertyAnimator
239
setEditable
method of class JTextComponent
783
setEnabled
method of class MapView
339
setGravity
method of class Toast
278
setImageBitmap
method of class View
267
setImageDrawable
method of class InputStream
164, 179
setImageResource
method of class ImageView
238
setItems
method of class AlertDialog,Builder
185
setLayout
method of class Container
782
setLayoutParams
method of class MapView
339
setLayoutParams
method of class View
238
setListAdapter
method of class ListActivity
295
setListener
method of class ViewPropertyAnimator
239
setLooping
method of class MediaPlayer
384, 390
setMaximumRowCount
method of class JComboBox
795
setMultiChoiceItems
method of class AlertDialog,Builder
185
setParameters
method of class Camera
412, 414
setPowerRequirement
method of class Criteria
330
setPreviewDisplay
method of class Camera
414
setPreviewSize
method of class Camera.Parameters
414
setRepeatCount
method of class Animation
164, 175
setResult
method of class Activity
414
setRolloverIcon
method of class AbstractButton
792
setSatellite
method of class MapView
339
setSeed
method of class Random
601
setStrokeCap
method of class Paint
267, 270
setStrokeWidth
method of class Paint
270
setStyle
method of class Paint
270
setTag
method of class View
356, 369, 371
Setting hardware emulation options 33
Setting the PATH
environment variable xxxii
setType
method of class Intent
376
setVolumeControlStream
method of class Activity
195
setZoom
method of class MapController
328
shadow a field 606
Shape
class hierarchy 696
shape
element 289
Shape Hierarchy exercise 756
shared storage 354
SharedPreferences
class 132, 142, 143, 437, 438, 439
apply
method 439
default file 231
edit
method 146
getAll
method 144
getInt
method 233
getString
method 145
SharedPreferences.Editor
class 132, 146
apply
method 146
clear
method 150
putString
method 146
shell 501
shift (random numbers) 600
shifting value 600
shifting value (random numbers) 601
Shop4Apps 58
Shopping List App exercise 316
Shopping Mashup App exercise 348, 497
short-circuit evaluation 580
Short
class 800
promotions 598
show
method of class Dialog
263
shuffle 630
algorithm 810
shuffle a collection 179
shuffle
method of class Collections
164, 808, 810
shuffling
Fisher-Yates 633
shut down activity 200
shutdown
method of class ExecutorService
823
side effect 580
Sieve of Eratosthenes 662
Sieve of Eratosthenes exercise 662
signal value 555
signature 610
signature of a method 610
signing apps 50
Simple API for XML (SAX API) 19
simple collision detection 209
simple touch events 194
SimpleCursorAdapter
class 295, 355
SimpleOnGestureListener
interface 201
simulation 599
coin tossing 616
sin
method of class Math
592
sine 592
single-line (end-of-line) comment 501
single-precision floating-point number 537
single-selection statement 547
size
method
of class ArrayList<T>
659
of interface Map
815
size of a variable 509
skipValue
method of class JsonReader
470, 474, 483, 484
sleep
method of class Thread
821
slider 101
Slideshow app xxi
Slideshow App exercise 390
smallest of several integers 587
Social API 16
social bookmarking 64
social commerce 64
social media 63
social media sites
Bebo 64
Blogger 64
Delicious 64
Digg 64
Facebook 64
Flickr 64
Foursquare 64
Gowalla 64
Groupon 64
LinkedIn 64
Squidoo 64
StumbleUpon 64
Tip’d 64
Twitter 64
Wordpress 64
YouTube (www.youtube.com
) 64
social news 64
soft buttons on an Android device 28
soft keyboard
prevent from displaying when app loads 133
types 292
Solitaire Card Game app exercise 157
sort
case insensitive 144
sort
method
of class Arrays
144, 145, 654, 654
of class Collections
808
sorted order 812
SortedMap
interface 812
SortedSet
interface 812
sorting
with a Comparator
809
sound effects 195
sound files 198
sound quality 205
Sound Recorder app 352
load
method 205
play
method 210
release
method 215
sounds 194
source code 2
source-code listing 2
sp (scaled pixels) 88
space character 500
spanning multiple columns in a TableLayout
106
special character 507
specialization 694
specifics 721
specify a component’s column number in a TableLayout
107
Speech APIs xxii
speech recognition xxiii, 19, 47
speech-to-text input 47
speed 324
sphere 612
splash screen 47
Sports Trivia Quiz App exercise 189
Spot-On Game app xxi
SpotOn Game App exercise
SQLite 3 Resource Center (www.deitel.com/SQLite3/
) xxvi, 34
SQLiteDatabase
class 287
delete
method 312
execSQL
method 313
insert
method 310
query
method 312
update
method 311
SQLiteOpenHelper
class 287, 309, 312
close
method 309
getWritableDatabase
method 309
onCreate
method 313
onDowngrade
method 313
onUpgrade
method 313
sqrt
method of class Math
591, 592, 597
square brackets, []
619
square root 592
Src property of an ImageView
75, 91
method call stack 597
program execution stack 597
stack overflow 597
stack components 326
stack frame 597
stack trace 759
stack unwinding 772
StackTraceElement
class 774
getClassName
method 774
getFileName
method 774
getLineNumber
method 774
getMethodName
method 774
Stagefright 8
standard error stream 763, 770
standard input stream (System.in
) 507
standard output stream 770
standard output stream (System.out
) 501
standard time format 667
Standup Timer App exercise 222
star ratings for apps 63
start
method 384
start
method of class MediaPlayer
384
startActivity
method of class Activity
355
startActivity
method of class Context
132, 151
startActivityForResult
method of class Activity
355, 364, 370, 375, 390
startAnimation
method of class View
164
startManagingCursor
method of class Activity
297
startPreview
method of class Camera
414
startTransition
method of class TransitionDrawable
388
continue
578
control statement 546
double selection 547
empty 516
enhanced for
634
looping 547
multiple selection 547
nested 559
nested if
...else
548
single selection 547
try
629
while
547, 550, 553, 557, 558, 565
statements
throw
667
static
class member 685
class variable 686
field (class variable) 685
keyword 591
static binding 741
status bar icon 44
stopPreview
method of class Camera
414
Storage Manager API 14
straight-line form 510
stream 770
stream for playing music 205
stream of bytes 815
streaming 19
streaming media 384
Stretch columns property of a TableLayout
104, 137
string 501
literal 501
of characters 501
String
arrays
defining in strings.xml
166
String
class
immutable 687
toLowerCase
806
toUpperCase
806
String
resource
containing multiple format specifiers 194, 197
String
resources 252
String.CASE_INSENSITIVE_ORDER Comparator<String>
object 144
string-array
element item
element 166
string-array
element in strings.xml
166
String
s in switch
statements 577
defining String
arrays 166
numbering format specifiers for localization 194
string-array
element 166
stroke
element of a shape
289
strongly typed languages 564
structured programming 546
style
attribute of a GUI component 286, 290
style
element 288
item
element 288
name
attribute 288
sublist 806
subList
method of List
806
subscript (index) 619
subtraction 510
operator, -
511
subtraction compound assignment
operator, -=
563
Sudoku App exercise 496
summarizing responses to a survey 627
super
keyword 697
call superclass constructor 710
superclass 694
constructor 700
constructor call syntax 710
default constructor 700
method overridden in a subclass 718
supporting multiple screens 42
supports-screens
element 44
surfaceChanged
method of interface SurfaceHolder.Callback
215
surfaceCreated
method of class SurfaceHolder.Callback
413, 414
surfaceCreated
method of interface SurfaceHolder.Callback
215
surfaceDestroyed
method of class SurfaceHolder.Callback
413
surfaceDestroyed
method of interface SurfaceHolder.Callback
215
SurfaceHolder
class 195, 205, 410, 411
addCallback
method 205
lockCanvas
method 217
SurfaceHolder.Callback
class 411, 412
surfaceCreated
method 413, 414
surfaceDestroyed
method 413
SurfaceHolder.Callback
interface 195, 205, 215
surfaceChanged
method 215
surfaceCreated
method 215
surfaceDestroyed
method 215
SurfaceView
class 195, 205, 396, 398, 410, 411
getHolder
method 205
Swing GUI components package 599
swing.properties
file xxxii, 779
SwingConstants
interface 753
SwingWorker
class 825
doInBackground
method 825, 827
execute
method 825
get
method 825
process
method 825
publish
method 825
setProgress
method 825
switch
multiple-selection statement 547, 571
case
label 575
comparing String
s 577
controlling expression 575
synchronization 823
synchronize 819
synchronized
217
keyword 824
method 824
statement 824
synchronous error 765
System
class
exit
method 768
System.err
(standard error stream) 763
System.out
printf
method 505
System.out
(standard output stream) 501
tab character,
504
Tab
class 447
tab icon 44
tab stops 504
tabbed navigation 426
selected tab 436
table 644
table element 644
table of values 644
TableLayout
class 101, 133, 290
android:stretchColumns
attribute 104, 133, 139
columns numbered from 0 107
documentation (developer.android.com/reference/android/widget/TableLayout.html
) 101
spanning multiple columns 106
specify a component’s column number 107
TableRow
class 101
documentation (developer.android.com/reference/android/widget/TableRow.html
) 101
tablet 12
Tablet Typing Tutor App exercise 246
TabListener
interface 447
tabular format 623
tan
method of class Math
592
tangent 592
tap 21
target SDK version 227, 252, 430
Target-Heart-Rate Calculator app exercise 126
tasks 45
temperature sensor 250
temporary 558
terminal window 501
termination housekeeping 718
termination model of exception handling 764
ternary operator 548
testing 51
tethering 8
text alignment right 108
text box 101
Text color property of a component 89
text field 101
text file 815
Text property of a component 75, 87
Text size property of a component 89
Text size property of an EditText
107
Text style property of a component 89
Text-to-Speech (TTS) 47
Text-to-speech API 17
TextView
class 75, 86, 101, 114
setCompoundDrawables
method 451
Text
property 75
TextView
component 80
TextWatcher
interface 114
The Java™ Language Specification (java.sun.com/docs/books/jls/
) 511
this
reference 670
to call another constructor of the same class 675
thread 764
of execution 818
synchronization 823
UI 404
thread (for animation) 195
Thread
class 216
interrupt
method 821
sleep
method 821
thread confinement 824
thread pool 820
thread safe 824
Threadr
class 195
thread-safe list 227
throw an exception 629, 666, 758, 762
throw
keyword 771
throw point 760
throw
statement 770
getMessage
method 774
getStackTrace
method 774
printStackTrace
method 774
throws
clause 764
thumbnail utility 9
Tic-Tac-Toe App exercise 245
TicTacToe
exercise 692
TimeInterpolator
class 239
time-lapse video recording 13
Tip Calculator app xxi, 21, 99
title bar
hiding 326
toArray
method of interface Set
144
toArray
method of List
806, 808
Toast
class 251, 278, 322, 404
makeText
method 278
setGravity
method 278
toggle buttons 789
toLowerCase
method of class String
806
Tools
logcat
164
top-level class 783
toPixels
method of class Projection
344
toString
method of class Object
700, 719
total 551
touch events 411
fling 195
long press 195
scroll 195
simple 194
touched list item 298
toUpperCase
method of class String
806
Towers of Hanoi App exercise 221
track app installs 63
traditional comment 500
transaction fee 49
transfer of control 546
transfering music and photos to an AVD 353
transferring data via Bluetooth xxii
TRANSIT_FRAGMENT_FADE
442
TransitionDrawable
class 357, 388
startTransition
method 388
translate
animation
android:duration
attribute 171
android:fromXDelta
attribute 171
android:startOffset
attribute 171
android:toXDelta
attribute 171
translate
animation for a View
171
translation animation 239
transparent
predefined Android color 140, 140
traverse an array 646
tree 811
TreeMap
class 812
trigonometric cosine 592
trigonometric sine 592
trigonometric tangent 592
trimToSize
method of class ArrayList<T>
657
true
513
truncate 510
truncate fractional part of a calculation 554
truth table 579
for operator ^
580
for operator !
581
for operator &&
579
for operator ||
579
terminates 764
try
keyword 762
TTS (Text-to-Speech)) 47
turn off logging and debugging 50
tweened animation 171
tweening 226
tweet 65
24-hour clock format 665
Twitter 65
hashtag 65
search 128
search operators 128
tweet 65
two-dimensional array 644, 646
two-dimensional array with three rows and four columns 644
type 507
type casting 558
type of a variable 509
type-wrapper class 800
TYPE_ACCELEROMETER
constant of class Sensor
258, 259
typing in a text field 780
U.S. State Quiz App exercise 189
UI thread 404
unary operator 558, 581 cast 558
unboxing conversion 800
uncaught exception 763
unchecked exceptions 766
Unicode character set 565, 836
Uniform Resource Identifier (URI) 816
Uniform Resource Locator (URL) 816
unique row ID of a touched list item 299
universal-time format 665, 666, 667
UnsupportedOperationException
class 806
unwinding the method-call stack 772
update
method of class SQLiteDatabase
311
upgrading a database 309
URI (Uniform Resource Identifier) 816
parse
method 151
URL (Uniform Resource Locator) 816
User Interface Guidelines 40
uses-library
element of manifest 323, 326
uses-permission
element of manifest 323, 326
uses-sdk
element of the manifest file 152
using an external library 326
utilities 41
Utilities Package 599
valid identifier 507
value of a variable 509
value to the nearest integer 615
ValueAnimator
class 226
values
folder of an Android project 87
values
method of an enum
683
reference type 533
size 509
type 509
value 509
variable declaration statement 507
variable is not modifiable 689
variable scope 567
Vector
class 660
version code 52
version name 52
versioning your app 50
Versioning Your Applications 52
vertically center text 108
video driver 14
video format 12
video game 600
video playback 8
video sharing 64
VideoView
class 393, 395, 396, 416
View
animation 226
View
animations 171
View
class 195, 264, 369, 370, 371
custom subclass 201
dispatchDraw
method 340
getTag
method 356
invalidate
method 271
onDraw
method 272
onSizeChanged
method 205, 234, 271
onTouchEvent
method 240
redraw a View
272
setImageBitmap
method 267
setLayoutParams
method 238
setTag
method 356
size changes 205
startAnimation
method 164
View
hierarchy 234
View.OnClickListener
interface 142
ViewGroup
class 131
removeAllViews
method 147, 235
View-Holder Pattern 366
view-holder pattern 356
ViewPropertyAnimator
class 226, 239
scaleX
method 239
scaleY
method 239
setDuration
method 239
setListener
method 239
x
method 239
y
method 239
viral video 65
virtual goods 60
visual feedback 792
Visual Layout Editor 75, 80, 100, 101
select multiple components 106
voice input engine 15
Voice Recorder app xxii
volume 195
VP8 open video compression 12
wait
method of class Object
719
acquire
method 332
release
method 332
Weather AppWidget
44
Weather Viewer app xxi
Weather Viewer App exercise 348, 495
WeatherBug web services xxiii
web services xxi, xxiii, 9, 468
Amazon eCommerce 10
eBay 10
Facebook 10
Flickr 10
Foursquare 10
Google Maps 10
Groupon 10
Last.fm 10
LinkedIn 10
Microsoft Bing 10
Netflix 10
PayPal 10
Salesforce.com 10
Skype 10
Twitter 10
WeatherBug 10
Wikipedia 10
Yahoo Search 10
YouTube 10
Zillow 10
web services directories
APIfinder 10
Google Code API Directory 10
ProgrammableWeb 10
Webapi.org 10
Webmashup.com 10
WebM open container format 12
Welcome tab 25
Welcome tab in Eclipse 76
while
repetition statement 547, 550, 553, 557, 558, 565
widget xxi, 19, 44, 114, 142, 779
Android Agenda Widget 45
App Protector Pro 45
BatteryLife 45
Difficult Logic Riddles Pro 45
ecoTips 45
ESPN ScoreCenter 44
Favorite Quotes 45
Pandora Radio 44
Shazam Encore 45
Stock Alert 45
System Info Widget 45
The Coupons App 45
Twidroyd PRO 45
Weather & Toggle Widget 45
WeatherBug Elite 45
Widget Design Guidelines 44
WIDGET_UPDATE_BROADCAST_ACTION
439
width of a column 101
hotspot 8
Wi-Fi Direct 16
window event-handling methods 796
window gadgets 779
WindowListener
interface 796
Wine Country Mashup App exercise 348, 497
Word Scramble Game App exercise enhanced 496
Word Scramble Game app exercise 156
Word Search App exercise 281
word-of-mouth marketing 64
wrap_content
value of the android:layout_height
attribute 94
wrap_content
value of the android:layout_width
attribute 94
wrapping stream objects 818
WRITE_EXTERNAL_STORAGE
permission 397
writeable 817
writeObject
method
of interface ObjectOutput
818
writeObject
method of class ObjectInputStream
405
writeObject
method of class ObjectOutputStream
395
www.deitel.com/training
493
www.housingmaps.com
9
x
method of class ViewPropertyAnimator
239
XML layout
inflate dynamically 132
XML markup of a GUI 101
XML utilities 19
y
method of class ViewPropertyAnimator
239
zero-based counting 622
zeroth element 619
zipalign 53
zoom level of a map 328
3.144.35.148