J

Java 4

Java Abstract Window Toolkit Event package 528

Java API 519, 681

Java API documentation 438

Java API Interfaces 681

Java Application Programming Interface (Java API) 435, 519, 527

Java class library 435, 519

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

Java SE 7 506

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.io package 160, 528, 745

java.lang package 436, 520, 528, 626, 647, 748

imported in every Java program 436

java.math package 466

java.text package 81, 97

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

JButton class 718, 721

JComboBox class 722

getSelectedIndex method 725

setMaximumRowCount method 724

JComboBox that displays a list of image names 722

JComponent class 717, 722

JDK xxxvii, 430

JetBrains xxxix

join operations 368

JPasswordField class 709, 714

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

JTextComponent class 709, 712

setEditable method 712

JTextField class 709, 713, 716

addActionListener method 713

JTextFields and JPasswordFields 709

K

Kaleidascope App exercise 227

Kelvin temperature scale 726

key event 717

keyboard 5, 434, 708

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

keywords 429, 476

abstract 653

boolean 477

break 504

case 504

catch 692

char 436

class 429, 453

continue 507

default 504

do 476, 499

double 436, 465

else 476

enum 534

extends 626, 637

false 477

final 506, 521, 553

finally 692

float 436, 466

for 476, 495

if 476

implements 671

import 435

instanceof 668

int 436

interface 671

new 436, 454, 549, 551

null 462, 550

private 459, 598

public 429, 452, 453, 459, 523, 598

return 459, 460

static 499, 520

super 626

switch 476

synchronized 753

this 599, 615

throw 700

true 477

try 691

void 430, 453

while 476, 499

L

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

layout 16, 39

create new 144

layout (GUI) 48

layout editor 38, 39, 40, 46, 48, 49, 51, 54, 62, 69

Design tab 39, 48

guide lines 62

Palette 50

Text tab 39, 48

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

GridLayout 81, 84

LinearLayout 39, 50

RelativeLayout 50

left brace, { 429, 430, 435

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 181, 231

lifecycle methods of an app 96

LIFO (last-in, first-out) 526

light sensor 182

line thickness 183

linear acceleration sensor 182

LinearLayout 39, 50

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

Linux 16, 35, 430

list 724

List interface 125, 729, 735

add method 732, 734

addAll method 734

clear method 735

get method 732

listIterator method 734

size method 732, 735

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

Loader class 349, 382

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

Log class 124, 157

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

logging exceptions 124, 157

logic error 437, 479, 496

logical complement operator, ! 510

logical negation, ! 510

logical negation, or logical NOT (!) operator truth table 510

logical operators 507, 510

Long class 729

long keyword 765

long press 307

long promotions 527

long-running operations 277, 349

look-and-feel

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

m-by-n array 573

Mac OS X 16, 35, 430

magnetic field sensor 182

main method 435, 453

main thread 122, 752

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

Map interface 729, 741

containsKey method 743

get method 743

isEmpty method 744

keySet method 323

put method 743

size method 744

mashup 5, 301

Mashup exercise 301

Master/Detail Flow template 45

matching catch block 692

material design 11, 12, 278

color palette 40, 59

icons 132

Material themes xxviii

specification xxviii

vector icons 186

Math class 499, 520

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

PI constant 521, 541

pow method 499, 520, 521, 541

random method 529

sqrt method 520, 521, 526

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 leak 614, 697

memory location 438

Menu class 118, 149, 201

menu folder of an Android project 48, 120, 121

menu item

showAsAction 133, 187

MenuInflater class 149, 201

inflate method 149

MenuItem class

getItemID method 201

merchant account 412, 416

message 463

method 19, 430

local variable 458

parameter 455, 457

parameter list 455

return type 460

signature 539

static 499

method call 20, 523

method-call stack 526

method declaration 523

method header 453

method overloading 537

methods implicitly final 670

micro blogging 420, 421

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

monetizing apps 406, 413

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

multiplication, * 439, 440

MultiSelectListPreference class 120

multithreading 747

multitouch 210

multitouch screen 5

music audio stream 232, 237

mutual exclusion 752

N

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

ArrayAdapter 277, 297, 326

null keyword 461, 462, 550

NumberFormat class 81, 97, 284

format method 100

numbering format specifiers 129

numeric Classes 729

numeric input 81

numeric keypad 77

O

obfuscate code 409

object 18

object (or instance) 20, 36

Object class 623, 626

clone method 647

equals method 647

finalize method 647

getClass method 648, 669

hashCode method 648

notify method 648

notifyAll method 648

toString method 629, 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 291, 296

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

operand 437, 487

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

!, logical NOT 507, 510

?:, ternary conditional operator 477

*=, multiplication assignment operator 492

/=, division assignment operator 492

&, boolean logical AND 507, 509

&&, conditional AND 507, 508

%=, remainder assignment operator 492

++, prefix increment/postfix increment 492

++, preincrement/postincrement 491

+=, addition assignment operator 491

= 437, 445

-=, subtraction assignment operator 492

|, boolean logical inclusive OR 507, 509

||, conditional OR 507, 508

arithmetic 439

binary 437, 439

boolean logical AND, & 507, 509

boolean logical exclusive OR, ^ 507, 509

boolean logical inclusive OR, | 509

cast 487

compound assignment 491

conditional AND, && 507, 509

conditional operator,?: 477

conditional OR, || 507, 508, 509

decrement operator, -- 491, 492

increment and decrement 492

increment, ++ 492

logical complement, ! 510

logical negation, ! 510

logical operators 507, 510

multiplication, * 439

postfix decrement 492

postfix increment 492

prefix decrement 492

prefix increment 492

remainder, % 439, 440

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

P

package 14, 435, 519, 527, 618

package access 619

package-access methods 619

package name 42, 458

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 15, 348

android.database.sqlite 15, 348, 367

android.graphics 15, 183

android.graphics.drawable 15, 160

android.hardware 15

android.media 15, 231, 232

android.net 15, 327

android.os 15, 96, 122

android.preference 15, 118

android.provider 15, 348, 363

android.support.design.widget 279

android.support.v4.app 118, 119

android.support.v7.app 80, 96

android.support.v7. widget 312

android.text 16, 82, 96

android.util 16, 124, 250

android.view 16, 118, 231

android.view.animation 122

android.view.inputmethod 294

android.widget 16, 81, 84, 97, 122

default package 458

java.awt.event 528, 715, 725

java.io 160, 528, 745

java.lang 436, 520, 528, 626, 647, 748

java.math 466

java.text 81, 97

java.util 125, 435, 528, 529, 586

java.util.concurrent 749, 753

javax.swing 528, 718

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

setStrokeCap method 207, 222

setStrokeWidth method 207

setStyle method 207

styles 207

Palette in the layout editor 50

parallel operations 747

parameter 455, 457

parameter list 455, 464

parent directory 746

parent of an Activity 168

parentheses 430, 440

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

pass-by-value 565, 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

polynomial 441, 442

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

precedence 440, 445

arithmetic operators 440

chart 440, 487

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

char 436, 500

double 436, 465, 466, 484

float 436, 465, 466

int 436, 484, 492, 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

access modifier 459, 598

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

property animation 121, 134

protected access modifier 598, 625

PROTECTION_NORMAL permissions 280

<provider> element in AndroidManifest.xml 351

proximity sensor 182

pseudocode 475, 477, 480, 489

algorithm 484

pseudorandom number 529, 530

public

abstract method 671

access modifier 452, 453, 459, 523, 598

class 429

final static data 671

interface 594

keyword 429, 459

member of a subclass 626

method 595, 598

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

Q

quadratic bezier curve 212

quadTo method of class Path 212

query method of a ContentProvider 367

query method of class SQLiteQueryBuilder 369

queue 729, 740

Queue interface 729, 740

Quiz App exercise

enhanced 300

R

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

Random class 528, 529

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

scaling factor 529, 530

seed 529

seed value 530

shift a range 529

shifting value 529, 530

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

real number 436, 484

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

RecyclerView class 312, 323

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

getItemCount method 334, 387

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

reference type 462, 619

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

counter controlled 480, 486

sentinel controlled 483, 484, 485

repetition statement 475, 476

do...while 476, 499

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

null 461, 462

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 leak 613, 697

resource-release code 697

resources

alternative-resource naming conventions 70

default 70

Localization Checklist 73

localized 70

style 91, 350

Resources class 148

getConfiguration method 148, 149

Resources dialog 57, 58, 89

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

rethrow an exception 700, 706

Rethrowing Exceptions exercise 706

return keyword 460

return type 460

of a method 453, 460

reusable software components 18, 36, 528

reuse 19, 19, 435

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

S

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

Scanner class 435, 436

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 class 77, 81, 97

SeekBar.OnSeekBarChangeLis tener interface 82, 97, 218

onProgressChanged method 82

selecting an item from a menu 709

selection statement 475, 476

if 476, 500

if...else 476, 486, 500

switch 476, 500

semicolon (;) 430, 436, 445

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

accelerometer 182, 200

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

sentinel value 484, 487

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 method 462, 601

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

settings icon 112, 113

setUsage method of class AudioAttributes 232, 251

setVolumeControlStream method of class Activity 232, 237

shades of a color 83

shadow a field 535

shallow copy 647, 648

Shape class hierarchy 625

shape element 354

Shape Hierarchy exercise 685

SharedPreferences class 120, 311, 321

edit method 151, 325

getAll method 323

getString method 327

getStringSet method 151

registerOnSharedPrefere nceChangeListener method 147

SharedPreferences.Editor class 120, 151, 312, 325, 326

apply method 151, 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

short primitive type 500, 765

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 List 732, 735

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

Snackbar class 279, 281, 294

Social API 9

social media sites 420

social networking 420, 421

soft buttons 27

soft keyboard

prevent display at app startup 314

remain on screen 84

types 358

software reuse 520, 619, 623

Solitaire Card Game App exercise 340

sort

case insensitive 323

sort method

of class Arrays 583, 583

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

SoundPool class 231, 251

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

SQLite 15, 343, 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

setTables method 367, 368

sqrt method of class Math 520, 521, 526

square brackets, [] 548

square root 521

src property of a ImageView 55, 64

stack 268, 526

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

statement 430, 453

break 504, 507

continue 507

control statement 475

do...while 476, 499

double selection 476

empty 445

enhanced for 563

for 476, 495, 498

if 442, 476, 500

if...else 476, 486, 500

looping 476

multiple selection 476

nested 488

nested if...else 477

repetition 475, 476

selection 475, 476

single selection 476

switch 476, 500

throw 596

try 558

while 476, 479, 482, 486, 487, 494

states of an Activity 80

static

class member 614

class variable 615

field (class variable) 614

keyword 520

method 453, 499

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 concatenation 524, 616

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 resource 350, 358

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

direct 623, 625

indirect 623, 625

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

SurfaceHolder class 232, 251

addCallback method 251

lockCanvas method 264

SurfaceHolder.Callback interface 232, 251, 261

surfaceChanged method 261

surfaceCreated method 261

surfaceDestroyed method 261

SurfaceView class 232, 251

getHolder method 251

Swing GUI components package 528

swing.properties file 708

SwingConstants interface 682

SwingWorker class 754

doInBackground method 754, 756

done 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

default case 504, 506

synchronization 752

synchronize 748

synchronized 264

keyword 753

method 753

statement 753

synchronous error 694

syntax coloring xxxi

syntax error 429, 431

syntax shading 2

system bar 39

System class

arraycopy 583, 585

exit method 697

SYSTEM_UI_FLAG_IMMERSIVE 265

System.err (standard error stream) 692

System.out

print method 432

printf method 434

println method 430, 432

System.out (standard output stream) 430

T

tab character, 433

tab stops 433

table 573

table element 573

table of values 573

tablet 8

tabular format 552

tagging interface 672

TalkBack 38, 40, 68, 140

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

gravity property 60, 91

hint property 89

text property 55, 57, 139

textAppearance property 87

textColor property 60

textSize property 58, 141

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

keyword 599, 615

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 an exception 596, 605

throw keyword 700

throw point 689

throw statement 699

Throwable class 694, 703

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

Toast class 122, 152

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

of class Object 629, 648

total 480

touch event 183, 210

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

TreeSet class 740, 741

trigonometric cosine 521

trigonometric sine 521

trigonometric tangent 521

trimToSize method of class ArrayList<T> 586

true 442

true reserved word 476, 477

truncate 439

truncate fractional part of a calculation 483

truth table 508

for operator ^ 509

for operator ! 510

for operator && 508

for operator || 508

try block 558, 691, 702

terminates 693

try keyword 691

try statement 558, 693

tweened animation 121, 133

tweet 421

24-hour clock format 594

Twitter 5, 309, 421

@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

U.S. State Quiz App exercise 171

UI thread 122

unary operator 487, 510

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

UNIX 430, 503

unregisterListener method of class SensorManager 199

UnsupportedOperationExcept ion class 735

unwinding the method-call stack 701

up button 136, 166

update method of a ContentProvider 371

update method of a ContentResolver 393

update method of class SQLiteDatabase 371

uppercase letter 429, 436

URI (Uniform Resource Identifier) 327, 745

Uri class 327, 349

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

V

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

variable 434, 436

name 436, 438

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

View class 79, 218, 232

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

onSizeChanged method 208, 252

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

view–holder pattern 278, 313

views

ImageView 40, 51, 62

TextView 40, 51, 56

viral marketing 420, 421

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

void keyword 430, 453

volume 232

volume of a sphere 541, 543

W

wait method of class Object 648

waiting line 729, 740

Weather Viewer App exercise 300

WeatherBug 6

web service 5, 273

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

white space 429, 430, 445

widget 16, 97, 708

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

Windows 16, 35, 503

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

X

XML 51

xml folder of an Android project 48, 120, 121

XML namespace

android 187

app 187

XML resource files 40

XML utilities 16

Y

YouTube 411

Z

zero-based counting 551

zeroth element 548

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.136.226