Home > Store

Android How to Program

Register your product to gain access to bonus material or receive a coupon.

Android How to Program

Book

  • Sorry, this book is no longer in print.
Not for Sale

About

Features

  •  App-driven approach. Concepts are presented in the context of 12 complete working Android apps in the print book and several more online. Each of the app chapters begins with an introduction to the app, an app test-drive showing one or more sample executions and a technologies overview. Then a detailed code walkthrough of the app’s source code discusses the programming concepts and demonstrates the functionality of the Android APIs used in the app.
  • Android Smartphone Apps. The Deitels cover many of the features included in the Android Software Development Kit (SDK), including Bluetooth, Google Maps, the Camera APIs, graphics APIs and support for multiple screen sizes and resolutions.
  • Android Tablet Apps. The authors cover many Android features for developing tablet apps, including property animation, action bar and fragments.
  • Android Maps APIs. The Route Tracker App uses the Android Maps APIs which allow you to incorporate Google™ Maps in your app. Before developing any app using the Maps APIs, you must agree to the Android Maps APIs Terms of Service (including the related Legal Notices and Privacy Policy) at code.google.com/android/maps-api-tos.pdf
  • Eclipse. The free Eclipse integrated development environment (IDE) combined with the free Android SDK and the free Java Development Kit (JDK), provide everything you’ll need to develop and test Android apps.
  • Testing on Android SmartPhones, Tablets and the Android Emulator. For the best experience in this course, you should test your apps on actual Android smartphones and tablets. But you can still have a meaningful experience just using the Android emulator (see the Before You Begin section).
  • Multimedia. The apps use a broad range of Android multimedia capabilities, including graphics, images, frame-by-frame animation, property animation, audio, video, speech synthesis and speech recognition.
  • Android Best Practices. The authors adhere to accepted Android best practices, pointing them out in the detailed code walkthroughs. Check out the Android Best Practices Resource Center at www.deitel.com/AndroidBestPractices/
  • Web Services. Web services allow you to use the web as an extraordinary collection of services–many of which are free. Chapter 11’s Route Tracker app uses the built-in Android Maps APIs to interact with the Google Maps web services. Chapter 14’s Weather Viewer app uses WeatherBug’s web services. The exercises encourage you to explore the vast array of available web services.
  • (Early Objects) Java Content Can Be Used With Java SE 6 or Java SE 7. The Java Standard Edition (SE) 7 features are in modular easy-to-include-or-omit sections. Studying objects and classes early helps novice readers master these concepts more thoroughly before attempting the object-oriented Android material.
  • Exception Handling. The Deitelsintegrate basic exception handling early in the Java content then present a richer treatment in Appendix H.
  • Classes Arrays and ArrayList; Collections. Appendix E covers class Arrays– which contains methods for performing common array manipulations–and generic class ArrayList–which implements a dynamically resizable array-like data structure. Appendix J introduces Java’s generic collections that are used frequently in our Android treatment and for which Android has some similar classes.
  • Multithreading. Maintaining app responsiveness is a key to building robust Android apps and requires extensive use of Android multithreading. Appendix J introduces multithreading fundamentals, showing the features that we use in several of our Android apps. In addition, the authors present Java’s SwingWorker class for multithreading in GUI apps. Android’s AsyncTask class, which is used in several of our Android apps, closely parallels the SwingWorker class.
  • GUI Presentation. Appendix I introduces Java GUI development. Android provides its own GUI components, so this appendix presents only a few Java GUI components, focussing on event-handling techniques that are used in all Android GUIs. The appendix introduces nested classes and anonymous inner classes, which are frequently used in Android programming.
  • The Student Companion Website www.pearsonhighered.com/deitel contains the following resources
    • Additional app-development chapters
    • Source code for the examples in the book

Description

  • Copyright 2013
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-299054-7
  • ISBN-13: 978-0-13-299054-7

The Deitels' App-Driven, Live Code Approach is simply the best way to master Android programming! The Deitels teach Android programming through sixteen complete, working Android Apps. Each chapter presents new concepts through a single App. The authors first discuss what the App does, show screen shots, test drive the App, and present an overview of the technologies and architecture used to build it. Next, the authors walk through building the App, presenting complete code and providing a detailed "Live Code" walkthrough. As part of the code walkthrough, they discuss essential programming concepts, and demonstrate the functionality of relevant Android 2.x APIs. Readers will gain hands-on experience with a wide spectrum of essential Android APIs. The book also has an extensive introduction to programming using the Java language, making this book appropriate for Java courses that want to add an app-programming flavor.

Sample Content

Table of Contents

Preface xviii
Before You Begin xix
1 Introduction to Android 1
1.1 Introduction 2
1.2 Android Overview 4
1.3 Android 2.2 (Froyo) 7
1.4 Android 2.3 (Gingerbread) 10
1.5 Android 3.0 (Honeycomb) 12
1.6 Android 4.0 (Ice Cream Sandwich) 15
1.7 Downloading Apps from the Android Market 17
1.8 Packages 18
1.9 Android Software Development Kit (SDK) 20
1.10 Object Technology: A Quick Refresher 22
1.11 Test-Driving the Doodlz App in an Android Virtual Device (AVD) 24
1.12 Deitel Resources 33
1.13 Android Development Resources 34
1.14 Wrap-Up 35
2 Android Market and App Business Issues 39
2.1 Introduction 40
2.2 Building Great Android Apps 40
2.3 Android Best Practices 42
2.3.1 Compatibility 42
2.3.2 Supporting Multiple Screens 44
2.3.3 Android User Interface Guidelines 44
2.4 Registering at Android Market 48
2.5 Setting Up a Google Checkout Merchant Account 48
2.6 AndroidManifest.xml File 49
2.7 Preparing Your Apps for Publication 50
2.8 Uploading Your Apps to Android Market 55
2.9 Other Android App Marketplaces 57
2.10 Pricing Your App: Free or Fee 58
2.11 Monetizing Apps with In-App Advertising 60
2.12 Monetizing Apps: Using In-App Billing to Sell Virtual Goods in Your Apps 60
2.13 Launching the Market App from Within Your App 63
2.14 Managing Your Apps in Android Market 63
2.15 Marketing Your App 63
2.16 Other Popular App Platforms 68
2.17 Android Developer Documentation 69
2.18 Android Humor 70
2.19 Wrap-Up 71
3 Welcome App 74
3.1 Introduction 75
3.2 Technologies Overview 75
3.3 Eclipse IDE 76
3.4 Creating a New Project 77
3.5 Building the Welcome App’s GUI with the ADT’s Visual Layout Editor 80
3.6 Examining the main.xml File 93
3.7 Running the Welcome App 95
3.8 Wrap-Up 95
4 Tip Calculator App 98
4.1 Introduction 99
4.2 Test-Driving the Tip Calculator App 100
4.3 Technologies Overview 101
4.4 Building the App’s GUI 101
4.4.1 TableLayout Introduction 101
4.4.2 Creating the Project and Adding the TableLayout and Components 102
4.4.3 Reviewing the Layout So Far 106
4.4.4 Customizing the Components to Complete the Design 106
4.4.5 Final XML Markup for the Tip Calculator GUI 109
4.4.6 strings.xml 113
4.5 Adding Functionality to the App 113
4.6 Wrap-Up 123
5 Favorite Twitter® Searches App 127
5.1 Introduction 128
5.2 Test-Driving the Favorite Twitter Searches App 129
5.3 Technologies Overview 131
5.4 Building the App’s GUI and Resource Files 133
5.4.1 main.xml TableLayout 133
5.4.2 Creating the Project 134
5.4.3 Creating the Resource Files 134
5.4.4 Adding the TableLayout and Components 136
5.4.5 Creating a TableRow That Displays a Search and an Edit Button 140
5.5 Building the App 141
5.6 AndroidManifest.xml 152
5.7 Wrap-Up 153
6 Flag Quiz Game App 158
6.1 Introduction 159
6.2 Test-Driving the Flag Quiz Game App 163
6.3 Technologies Overview 163
6.4 Building the App’s GUI and Resource Files 165
6.4.1 main.xml LinearLayout 165
6.4.2 Creating the Project 165
6.4.3 Creating and Editing the Resource Files 166
6.4.4 Adding the Components to the LinearLayout 167
6.4.5 Creating a Button That Can Be Dynamically Inflated 170
6.4.6 Creating the Flag Shake Animation 170
6.5 Building the App 172
6.6 AndroidManifest.xml 186
6.7 Wrap-Up 187
7 Cannon Game App 191
7.1 Introduction 192
7.2 Test-Driving the Cannon Game App 193
7.3 Technologies Overview 194
7.4 Building the App’s GUI and Resource Files 196
7.4.1 Creating the Project 196
7.4.2 AndroidManifest.xml 196
7.4.3 strings.xml 197
7.4.4 main.xml 197
7.4.5 Adding the Sounds to the App 198
7.5 Building the App 198
7.5.1 Line Class Maintains a Line’s Endpoints 198
7.5.2 CannonGame Subclass of Activity 198
7.5.3 CannonView Subclass of View 201
7.6 Wrap-Up 218
8 SpotOn Game App 223
8.1 Introduction 224
8.2 Test-Driving the SpotOn Game App 225
8.3 Technologies Overview 226
8.4 Building the App’s GUI and Resource Files 227
8.4.1 AndroidManifest.xml 227
8.4.2 main.xml RelativeLayout 227
8.4.3 untouched.xml ImageView for an Untouched Spot 228
8.4.4 life.xml ImageView for a Life 228
8.5 Building the App 229
8.5.1 SpotOn Subclass of Activity 229
8.5.2 SpotOnView Subclass of View 231
8.6 Wrap-Up 243
9 Doodlz App 247
9.1 Introduction 248
9.2 Test-Driving the Doodlz App 249
9.3 Technologies Overview 250
9.4 Building the App’s GUI and Resource Files 251
9.4.1 Creating the Project 251
9.4.2 AndroidManifest.xml 252
9.4.3 strings.xml 252
9.4.4 main.xml 253
9.4.5 color_dialog.xml 253
9.4.6 width_dialog.xml 255
9.5 Building the App 256
9.5.1 Doodlz Subclass of Activity 256
9.5.2 DoodleView Subclass of View 269
9.6 Wrap-Up 278
10 Address Book App 282
10.1 Introduction 283
10.2 Test-Driving the Address Book App 285
10.3 Technologies Overview 286
10.4 Building the GUI and Resource Files 287
10.4.1 Creating the Project 288
10.4.2 AndroidManifest.xml 288
10.4.3 styles.xml 288
10.4.4 textview_border.xml 289
10.4.5 AddressBook Activity’s Layout: contact_list_item.xml 290
10.4.6 ViewContact Activity’s Layout: view_contact.xml 290
10.4.7 AddEditContact Activity’s Layout: add_contact.xml 290
10.4.8 Defining the App’s MenuItems with menu Resources in XML 292
10.5 Building the App 293
10.5.1 AddressBook Subclass of ListActivity 293
10.5.2 ViewContact Subclass of Activity 299
10.5.3 AddEditContact Subclass of Activity 305
10.5.4 DatabaseConnector Utility Class 308
10.6 Wrap-Up 314
11 Route Tracker App 318
11.1 Introduction 319
11.2 Test-Driving the Route Tracker App 321
11.3 Technologies Overview 323
11.4 Building the GUI and Resource Files 325
11.4.1 Creating the Project 325
11.4.2 AndroidManifest.xml 325
11.4.3 Route Tracker Layout: main.xml 326
11.5 Building the App 327
11.5.1 RouteTracker Subclass of MapActivity 327
11.5.2 BearingFrameLayout Subclass of FrameLayout 338
11.5.3 RouteOverlay Subclass of Overlay 341
11.6 Wrap-Up 345
12 Slideshow App 349
12.1 Introduction 350
12.2 Test-Driving the Slideshow App 353
12.3 Technologies Overview 354
12.4 Building the GUI and Resource Files 357
12.4.1 Creating the Project 357
12.4.2 Using Standard Android Icons in the App’s GUI 357
12.4.3 AndroidManifest.xml 357
12.4.4 Layout for ListView Items in the Slideshow ListActivity 358
12.4.5 Slideshow ListActivity’s Menu 358
12.4.6 Layout for the EditText in the Set Slideshow Name Dialog 359
12.4.7 Layout for the SlideshowEditor ListActivity 359
12.4.8 Layout for ListView Items in the SlideshowEditor ListActivity 360
12.4.9 Layout for the SlideshowPlayer Activity 360
12.5 Building the App 361
12.5.1 SlideshowInfo Class 361
12.5.2 Slideshow Subclass of ListActivity 362
12.5.3 SlideshowEditor Subclass of ListActivity 373
12.5.4 SlideshowPlayer Subclass of ListActivity 381
12.6 Wrap-Up 388
13 Enhanced Slideshow App 392
13.1 Introduction 393
13.2 Test-Driving the Enhanced Slideshow App 394
13.3 Technologies Overview 395
13.4 Building the GUI and Resource Files 396
13.4.1 Creating the Project 397
13.4.2 AndroidManifest.xml 397
13.4.3 SlideshowEditor ListActivity’s Modified Layout 398
13.4.4 PictureTaker Activity’s Layout 398
13.4.5 SlideshowPlayer Activity’s Modified Layout 398
13.5 Building the App 399
13.5.1 MediaItem Class 399
13.5.2 SlideshowInfo Class 400
13.5.3 Slideshow Class 402
13.5.4 SlideshowEditor Class 407
13.5.5 PictureTaker Subclass of Activity 410
13.5.6 SlideshowPlayer Class 416
13.6 Wrap-Up 421
14 Weather Viewer App 424
14.1 Introduction 425
14.2 Test-Driving the Weather Viewer App 427
14.3 Technologies Overview 428
14.4 Building the App’s GUI and Resource Files 430
14.4.1 AndroidManifest.xml 430
14.4.2 WeatherViewerActivity’s main.xml Layout 431
14.4.3 Default Cities and ZIP Codes in arrays.xml 432
14.4.4 WeatherViewerActivity’s actionmenu.xml Menu Layout 432
14.4.5 WeatherProvider App Widget Configuration and Layout 433
14.5 Building the App 433
14.5.1 Class WeatherViewerActivity 434
14.5.2 Class CitiesFragment 449
14.5.3 Class AddCityDialogFragment 456
14.5.4 Class ForecastFragment 459
14.5.5 Class SingleForecastFragment 459
14.5.6 Class ReadLocationTask 466
14.5.7 Class ReadForecastTask 470
14.5.8 Class FiveDayForecastFragment 476
14.5.9 Class ReadFiveDayForecastTask 481
14.5.10 Class DailyForecast 486
14.5.11 Class WeatherProvider 487
14.6 Wrap-Up 493

A Introduction to Java Applications 498
A.1 Introduction 499
A.2 Your First Program in Java: Printing a Line of Text 499
A.3 Modifying Your First Java Program 503
A.4 Displaying Text with printf 505
A.5 Another Application: Adding Integers 505
A.6 Memory Concepts 509
A.7 Arithmetic 510
A.8 Decision Making: Equality and Relational Operators 513
A.9 Wrap-Up 517
B Introduction to Classes, Objects, Methods and Strings 522
B.1 Introduction 523
B.2 Declaring a Class with a Method and Instantiating an Object of a Class 523
B.3 Declaring a Method with a Parameter 526
B.4 Instance Variables, set Methods and get Methods 529
B.5 Primitive Types vs. Reference Types 533
B.6 Initializing Objects with Constructors 534
B.7 Floating-Point Numbers and Type double 536
B.8 Wrap-Up 540
C Control Statements 544
C.1 Introduction 545
C.2 Algorithms 545
C.3 Pseudocode 546
C.4 Control Structures 546
C.5 if Single-Selection Statement 547
C.6 if…else Double-Selection Statement 547
C.7 while Repetition Statement 550
C.8 Case Study: Counter-Controlled Repetition 550
C.9 Case Study: Sentinel-Controlled Repetition 554
C.10 Case Study: Nested Control Statements 559
C.11 Compound Assignment Operators 562
C.12 Increment and Decrement Operators 562
C.13 Primitive Types 564
C.14 Essentials of Counter-Controlled Repetition 565
C.15 for Repetition Statement 566
C.16 Examples Using the for Statement 568
C.17 do…while Repetition Statement 570
C.18 switch Multiple-Selection Statement 571
C.19 break and continue Statements 578
C.20 Logical Operators 578
C.21 Wrap-Up 581
D Methods: A Deeper Look 589
D.1 Introduction 590
D.2 Program Modules in Java 590
D.3 static Methods, static Fields and Class Math 591
D.4 Declaring Methods with Multiple Parameters 593
D.5 Notes on Declaring and Using Methods 596
D.6 Method-Call Stack and Activation Records 597
D.7 Argument Promotion and Casting 597
D.8 Java API Packages 598
D.9 Introduction to Random-Number Generation 599
D.9.1 Scaling and Shifting of Random Numbers 600
D.9.2 Random-Number Repeatability for Testing and Debugging 601
D.10 Case Study: A Game of Chance; Introducing Enumerations 602
D.11 Scope of Declarations 606
D.12 Method Overloading 608
D.13 Wrap-Up 611
E Arrays and ArrayLists 618
E.1 Introduction 619
E.2 Arrays 619
E.3 Declaring and Creating Arrays 620
E.4 Examples Using Arrays 621
E.5 Case Study: Card Shuffling and Dealing Simulation 630
E.6 Enhanced for Statement 634
E.7 Passing Arrays to Methods 635
E.8 Case Study: Class GradeBook Using an Array to Store Grades 639
E.9 Multidimensional Arrays 644
E.10 Case Study: Class GradeBook Using a Two-Dimensional Array 648
E.11 Class Arrays 654
E.12 Introduction to Collections and Class ArrayList 656
E.13 Wrap-Up 659
F Classes and Objects: A Deeper Look 664
F.1 Introduction 665
F.2 Time Class Case Study 665
F.3 Controlling Access to Members 669
F.4 Referring to the Current Object’s Members with the this Reference 670
F.5 Time Class Case Study: Overloaded Constructors 672
F.6 Default and No-Argument Constructors 678
F.7 Composition 679
F.8 Enumerations 682
F.9 Garbage Collection 684
F.10 static Class Members 685
F.11 final Instance Variables 689
F.12 Packages 689
F.13 Package Access 690
F.14 Wrap-Up 690
G Object-Oriented Programming: Inheritance and Polymorphism 693
G.1 Introduction to Inheritance 694
G.2 Superclasses and Subclasses 695
G.3 protected Members 696
G.4 Relationship between Superclasses and Subclasses 697
G.4.1 Creating and Using a CommissionEmployee Class 697
G.4.2 Creating and Using a BasePlusCommissionEmployee Class 702
G.4.3 Creating a CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy 707
G.4.4 CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables 710
G.4.5 CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy Using private Instance Variables 713
G.5 Class Object 718
G.6 Introduction to Polymorphism 719
G.7 Polymorphism: An Example 720
G.8 Demonstrating Polymorphic Behavior 721
G.9 Abstract Classes and Methods 724
G.10 Case Study: Payroll System Using Polymorphism 725
G.10.1 Abstract Superclass Employee 726
G.10.2 Concrete Subclass SalariedEmployee 729
G.10.3 Concrete Subclass HourlyEmployee 731
G.10.4 Concrete Subclass CommissionEmployee 732
G.10.5 Indirect Concrete Subclass BasePlusCommissionEmployee 734
G.10.6 Polymorphic Processing, Operator instanceof and Downcasting 735
G.10.7 Summary of the Allowed Assignments Between Superclass and Subclass Variables 740
G.11 final Methods and Classes 741
G.12 Case Study: Creating and Using Interfaces 742
G.12.1 Developing a Payable Hierarchy 743
G.12.2 Interface Payable 744
G.12.3 Class Invoice 745
G.12.4 Modifying Class Employee to Implement Interface Payable 747
G.12.5 Modifying Class SalariedEmployee for Use in the Payable Hierarchy 749
G.12.6 Using Interface Payable to Process Invoices and Employees Polymorphically 751
G.13 Common Interfaces of the Java API 752
G.14 Wrap-Up 753
H Exception Handling: A Deeper Look 757
H.1 Introduction 758
H.2 Example: Divide by Zero without Exception Handling 758
H.3 Example: Handling ArithmeticExceptions and InputMismatchExceptions 760
H.4 When to Use Exception Handling 765
H.5 Java Exception Hierarchy 765
H.6 finally Block 768
H.7 Stack Unwinding and Obtaining Information from an Exception Object 772
H.8 Wrap-Up 775
I GUI Components and Event Handling 778
I.1 Introduction 779
I.2 Nimbus Look-and-Feel 779
I.3 Text Fields and an Introduction to Event Handling with Nested Classes 780
I.4 Common GUI Event Types and Listener Interfaces 786
I.5 How Event Handling Works 787
I.6 JButton 789
I.7 JComboBox; Using an Anonymous Inner Class for Event Handling 793
I.8 Adapter Classes 796
I.9 Wrap-Up 797
J Other Topics 798
J.1 Introduction 799
J.2 Collections Overview 799
J.3 Type-Wrapper Classes for Primitive Types 800
J.4 Interface Collection and Class Collections 800
J.5 Lists 801
J.5.1 ArrayList and Iterator 801
J.5.2 LinkedList 803
J.5.3 Views into Collections and Arrays Method asList 806
J.6 Collections Methods 808
J.6.1 Method sort 808
J.6.2 Method shuffle 810
J.7 Interface Queue 811
J.8 Sets 811
J.9 Maps 812
J.10 Introduction to Files and Streams 815
J.11 Class File 816
J.12 Introduction to Object Serialization 817
J.13 Introduction to Multithreading 818
J.14 Creating and Executing Threads with the Executor Framework 819
J.15 Overview of Thread Synchronization 823
J.16 Concurrent Collections Overview 824
J.17 Multithreading with GUI 824
J.18Wrap-Up 831
K Operator Precedence Chart 834
L Primitive Types 836

Index 837

Chapters on the Web
The following chapters are located on the book’s Companion Website at www.pearsonhighered.com/deitel
15 Pizza App
Text-to-Speech, Speech-to-Text and Telephony
16 Voice Recorder App
Audio Recording and Playback
17 Enhanced Address Book App
Bluetooth
18 3D Art App
OpenGL ES 3D Rendering

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020