Android, how to program / Paul Deitel, Harvey Deitel, Abbey Deitel.
Material type: TextSeries: How to program seriesPublisher: Boston : Pearson, [2015]Copyright date: ©2015Edition: Second editionDescription: xxxvii, 690 pages : illustrations ; 23 cmContent type:- text
- unmediated
- volume
- 9780133764031
- 0133764036
- 006.76 23
- QA76.76.A65 D44 2015
Item type | Current library | Call number | Copy number | Status | Date due | Barcode | |
---|---|---|---|---|---|---|---|
Book | City Campus City Campus Main Collection | 006.76 DEI (Browse shelf(Opens below)) | 1 | Available | A556159B |
Browsing City Campus shelves, Shelving location: City Campus Main Collection Close shelf browser (Hides shelf browser)
1. Introduction to Android -- 1.1. Introduction -- 1.2. Android-The World's Leading Mobile Operating System -- 1.3. Android Features -- 1.4. Android Operating System -- 1.4.1. Android 2.2 (Froyo) -- 1.4.2. Android 2.3 (Gingerbread) -- 1.4.3. Android 3.0 through 3.2 (Honeycomb) -- 1.4.4. Android 4.0 through 4.0.4 (Ice Cream Sandwich) -- 1.4.5. Android 4.1-4.3 (Jelly Bean) -- 1.4.6. Android 4.4 (KitKat) -- 1.5. Downloading Apps from Google Play -- 1.6. Packages -- 1.7. Android Software Development Kit (SDK) -- 1.8. Object-Oriented Programming: A Quick Refresher -- 1.8.1. The Automobile as an Object -- 1.8.2. Methods and Classes -- 1.8.3. Instantiation -- 1.8.4. Reuse -- 1.8.5. Messages and Method Calls -- 1.8.6. Attributes and Instance Variables -- 1.8.7. Encapsulation -- 1.8.8. Inheritance -- 1.8.9. Object-Oriented Analysis and Design (OOAD) -- 1.9. Test-Driving the Doodlz App in an Android Virtual Device (AVD) -- 1.9.1. Running the Doodlz App in the Nexus 4 Smartphone AVD -- 1.9.2. Running the Doodlz App in a Tablet AVD -- 1.9.3. Running the Doodlz App on an Android Device -- 1.10. Building Great Android Apps -- 1.11. Android Development Resources -- 1.12. Wrap-Up -- -- 2. Welcome AppDive-Into® the Android Developer Tools: Introducing Visual GUI Design, Layouts, Accessibility and Internationalization -- 2.1. Introduction -- 2.2. Technologies Overview -- 2.2.1. Android Developer Tools IDE -- 2.2.2. TextViews and ImageViews -- 2.2.3. App Resources -- 2.2.4. Accessibility -- 2.2.5. Internationalization -- 2.3. Creating an App -- 2.3.1. Launching the Android Developer Tools IDE -- 2.3.2. Creating a New Project -- 2.3.3. New Android Application Dialog -- 2.3.4. Configure Project Step -- 2.3.5. Configure Launcher Icon Step -- 2.3.6. Create Activity Step -- 2.3.7. Blank Activity Step -- 2.4. Android Developer Tools Window -- 2.4.1. Package Explorer Window -- 2.4.2. Editor Windows -- 2.4.3. Outline Window -- 2.4.4. App Resource Files -- 2.4.5. Graphical Layout Editor -- 2.4.6. The Default GUI -- 2.5. Building the App's GUI with the Graphical Layout Editor -- 2.5.1. Adding Images to the Project -- 2.5.2. Changing the Id Property of the RelativeLayout and the TextView -- 2.5.3. Configuring the TextView -- 2.5.4. Adding ImageViews to Display the Images -- 2.6. Running the Welcome App -- 2.7. Making Your App Accessible -- 2.8. Internationalizing Your App -- 2.9. Wrap-Up -- -- 3. Tip Calculator App: Introducing GridLayout, LinearLayout, EditText, SeekBar, Event Handling, NumberFormat and Defining App Functionality with Java -- 3.1. Introduction -- 3.2. Test-Driving the Tip Calculator App -- 3.3. Technologies Overview -- 3.3.1. Class Activity -- 3.3.2. Activity Lifecycle Methods -- 3.3.3. Arranging Views with LinearLayout and GridLayout -- 3.3.4. Creating and Customizing the GUI with the Graphical Layout Editor and the Outline and Properties Windows -- 3.3.5. Formatting Numbers as Locale-Specific Currency and Percentage Strings -- 3.3.6. Implementing Interface TextWatcher for Handling EditText Text Changes -- 3.3.7. Implementing Interface OnSeekBarChangeListener for Handling SeekBar Thumb Position Changes -- 3.3.8. AndroidManifest.xml -- 3.4. Building the App's GUI -- 3.4.1. GridLayout Introduction -- 3.4.2. Creating the TipCalculator Project -- 3.4.3. Changing to a GridLayout -- 3.4.4. Adding the TextViews, EditText, SeekBar and LinearLayouts -- 3.4.5. Customizing the Views to Complete the Design -- 3.5. Adding Functionality to the App -- 3.6. AndroidManifest.xml -- 3.7. Wrap-Up -- -- 4. Twitter® Searches App: SharedPreferences, Collections, ImageButton, ListView, ListActivity, ArrayAdapter, Implicit Intents and AlertDialogs -- 4.1. Introduction -- 4.2. Test-Driving the App -- 4.2.1. Importing the App and Running It -- 4.2.2. Adding a Favorite Search -- 4.2.3. Viewing Twitter Search Results -- 4.2.4. Editing a Search -- 4.2.5. Sharing a Search -- 4.2.6. Deleting a Search -- 4.2.7. Scrolling Through Saved Searches -- 4.3. Technologies Overview -- 4.3.1. ListView -- 4.3.2. ListActivity -- 4.3.3. Customizing a ListActivity's Layout -- 4.3.4. ImageButton -- 4.3.5. SharedPreferences -- 4.3.6. Intents for Launching Other Activities -- 4.3.7. AlertDialog -- 4.3.8. AndroidManifest.xml -- 4.4. Building the App's GUI -- 4.4.1. Creating the Project -- 4.4.2. activity_main.xml Overview -- 4.4.3. Adding the GridLayout and Components -- 4.4.4. Graphical Layout Editor Toolbar -- 4.4.5. ListView Item's Layout: list_item.xml -- 4.5. Building the MainActivity Class -- 4.5.1. Package and import Statements -- 4.5.2. Extending ListActivity -- 4.5.3. Fields of Class MainActivity -- 4.5.4. Overriding Activity Method onCreate -- 4.5.5. Anonymous Inner Class That Implements the saveButton's OnClickListener to Save a New or Updated Search -- 4.5.6. addTaggedSearch Method -- 4.5.7. Anonymous Inner Class That Implements the ListView's OnItemClickListener to Display Search Results -- 4.5.8. Anonymous Inner Class That Implements the ListView's OnItemLongClickListener to Share, Edit or Delete a Search -- 4.5.9. shareSearch Method -- 4.5.10. deleteSearch Method -- 4.6. AndroidManifest.xml -- 4.7. Wrap-Up -- --
5. Flag Quiz App: Fragments, Menus, Preferences, AssetManager, Tweened Animations, Handler, Toasts, Explicit Intents, Layouts for Multiple Device Orientations -- 5.1. Introduction -- 5.2. Test-Driving the Flag Quiz App -- 5.2.1. Importing the App and Running It -- 5.2.2. Configuring the Quiz -- 5.2.3. Taking the Quiz -- 5.3. Technologies Overview -- 5.3.1. Menus -- 5.3.2. Fragments -- 5.3.3. Fragment Lifecycle Methods -- 5.3.4. Managing Fragments -- 5.3.5. Preferences -- 5.3.6. Assets Folder -- 5.3.7. Resource Folders -- 5.3.8. Supporting Different Screen Sizes and Resolutions -- 5.3.9. Determining the Screen Size -- 5.3.10. Toasts for Displaying Messages -- 5.3.11. Using a Handler to Execute a Runnable in the Future -- 5.3.12. Applying an Animation to a View -- 5.3.13. Logging Exception Messages -- 5.3.14. Using an Explicit Intent to Launch Another Activity in the Same App -- 5.3.15. Java Data Structures -- 5.4. Building the GUI and Resource Files -- 5.4.1. Creating the Project -- 5.4.2. strings.xml and Formatted String Resources -- 5.4.3. arrays.xml -- 5.4.4. colors.xml -- 5.4.5. dimens.xml -- 5.4.6. activity_settings.xml Layout -- 5.4.7. activity_main.xml Layout for Phone and Tablet Portrait Orientation -- 5.4.8. fragment_quiz.xml Layout -- 5.4.9. activity_main.xml Layout for Tablet Landscape Orientation -- 5.4.10. preferences.xml for Specifying the App's Settings -- 5.4.11. Creating the Flag Shake Animation -- 5.5. MainActivity Class -- 5.5.1. Package Statement, import Statements and Fields -- 5.5.2. Overridden Activity Method onCreate -- 5.5.3. Overridden Activity Method onStart -- 5.5.4. Overridden Activity Method onCreateOptionsMenu -- 5.5.5. Overridden Activity Method onOptionsItemSelected -- 5.5.6. Anonymous Inner Class That Implements OnSharedPreferenceChangeListener -- 5.6. QuizFragment Class -- 5.6.1. Package Statement and import Statements -- 5.6.2. Fields -- 5.6.3. Overridden Fragment Method onCreateView -- 5.6.4. Method updateGuessRows -- 5.6.5. Method updateRegions -- 5.6.6. Method resetQuiz -- 5.6.7. Method loadNextFlag -- 5.6.8. Method getCountryName -- 5.6.9. Anonymous Inner Class That Implements OnClickListener -- 5.6.10. Method disableButtons -- 5.7. SettingsFragment Class -- 5.8. SettingsActivity Class -- 5.9. AndroidManifest.xml -- 5.10. Wrap-Up -- -- 6. Cannon Game App: Listening for Touches, Manual Frame-By-Frame Animation, Graphics, Sound, Threading, SurfaceView and SurfaceHolder -- 6.1. Introduction -- 6.2. Test-Driving the Cannon Game App -- 6.3. Technologies Overview -- 6.3.1. Attaching a Custom View to a Layout -- 6.3.2. Using the Resource Folder raw -- 6.3.3. Activity and Fragment Lifecycle Methods -- 6.3.4. Overriding View Method onTouchEvent -- 6.3.5. Adding Sound with SoundPool and AudioManager -- 6.3.6. Frame-by-Frame Animation with Threads, SurfaceView and SurfaceHolder -- 6.3.7. Simple Collision Detection -- 6.3.8. Drawing Graphics Using Paint and Canvas -- 6.4. Building the App's GUI and Resource Files -- 6.4.1. Creating the Project -- 6.4.2. strings.xml -- 6.4.3. fragment_game.xml -- 6.4.4. activity_main.xml -- 6.4.5. Adding the Sounds to the App -- 6.5. Class Line Maintains a Line's Endpoints -- 6.6. MainActivity Subclass of Activity -- 6.7. CannonGameFragment Subclass of Fragment -- 6.8. CannonView Subclass of View -- 6.8.1. Package and import Statements -- 6.8.2. Instance Variables and Constants -- 6.8.3. Constructor -- 6.8.4. Overriding View Method onSizeChanged -- 6.8.5. Method newGame -- 6.8.6. Method updatePositions -- 6.8.7. Method fireCannonball -- 6.8.8. Method alignCannon -- 6.8.9. Method drawGameElements -- 6.8.10. Method showGameOverDialog -- 6.8.11. Methods stopGame and releaseResources -- 6.8.12. Implementing the SurfaceHolder.Callback Methods -- 6.8.13. Overriding View Method onTouchEvent -- 6.8.14. CannonThread: Using a Thread to Create a Game Loop -- 6.9. Wrap-Up -- -- 7. Doodlz App: Two-Dimensional Graphics, Canvas, Bitmap, Accelerometer, SensorManager, Multitouch Events, MediaStore, Printing, Immersive Mode -- 7.1. Introduction -- 7.2. Technologies Overview -- 7.2.1. Using SensorManager to Listen for Accelerometer Events -- 7.2.2. Custom DialogFragments -- 7.2.3. Drawing with Canvas and Bitmap -- 7.2.4. Processing Multiple Touch Events and Storing Lines in Paths -- 7.2.5. Android 4.4 Immersive Mode -- 7.2.6. GestureDetector and SimpleOnGestureListener -- 7.2.7. Saving the Drawing to the Device's Gallery -- 7.2.8. Android 4.4 Printing and the Android Support Library's PrintHelper Class -- 7.3. Building the App's GUI and Resource Files -- 7.3.1. Creating the Project -- 7.3.2. strings.xml -- 7.3.3. dimens.xml -- 7.3.4. Menu for the DoodleFragment -- 7.3.5. activity_main.xml Layout for MainActivity -- 7.3.6. fragment_doodle.xml Layout for DoodleFragment -- 7.3.7. fragment_color.xml Layout for ColorDialogFragment -- 7.3.8. fragment_line_width.xml Layout for LineWidthDialogFragment -- 7.3.9. Adding Class EraseImageDialogFragment -- 7.4. MainActivity Class -- 7.5. DoodleFragment Class -- 7.6. DoodleView Class -- 7.7. ColorDialogFragment Class -- 7.8. LineWidthDialogFragment Class -- 7.9. EraseImageDialogFragment Class -- 7.10. Wrap-Up -- -- 8. Address Book App: ListFragment, FragmentTransactions and the Fragment Back Stack, Threading and AsyncTasks, CursorAdapter, SQLite and GUI Styles -- 8.1. Introduction -- 8.2. Test-Driving the Address Book App -- 8.3. Technologies Overview -- 8.3.1. Displaying Fragments with FragmentTransactions -- 8.3.2. Communicating Data Between a Fragment and a Host Activity -- 8.3.3. Method onSaveInstanceState -- 8.3.4. Defining Styles and Applying Them to GUI Components -- 8.3.5. Specifying a Background for a TextView -- 8.3.6. Extending Class ListFragment to Create a Fragment That Contains a ListView -- 8.3.7. Manipulating a SQLite Database -- 8.3.8. Performing Database Operations Outside the GUI Thread with AsyncTasks -- 8.4. Building the GUI and Resource Files -- 8.4.1. Creating the Project -- 8.4.2. Creating the App's Classes -- 8.4.3. strings.xml -- 8.4.4. styles.xml -- 8.4.5. textview_border.xml -- 8.4.6. MainActivity's Layout: activity_main.xml -- 8.4.7. DetailsFragment's Layout: fragment_details.xml -- 8.4.8. AddEditFragment's Layout: fragment_add_edit.xml -- 8.4.9. Defining the Fragments' Menus -- 8.5. MainActivity Class -- 8.6. ContactListFragment Class -- 8.7. AddEditFragment Class -- 8.8. DetailsFragment Class -- 8.9. DatabaseConnector Utility Class -- 8.10. Wrap-Up -- -- 9. Google Play and App Business Issues -- 9.1. Introduction -- 9.2. Preparing Your Apps for Publication -- 9.2.1. Testing Your App -- 9.2.2. End User License Agreement -- 9.2.3. Icons and Labels -- 9.2.4. Versioning Your App -- 9.2.5. Licensing to Control Access to Paid Apps -- 9.2.6. Obfuscating Your Code -- 9.2.7. Getting a Private Key for Digitally Signing Your App -- 9.2.8. Screenshots -- 9.2.9. Promotional App Video -- 9.3. Pricing Your App: Free or Fee -- 9.3.1. Paid Apps -- 9.3.2. Free Apps -- 9.4. Monetizing Apps with In-App Advertising -- 9.5. Monetizing Apps: Using In-App Billing to Sell Virtual Goods -- 9.6. Registering at Google Play -- 9.7. Setting Up a Google Wallet Merchant Account -- 9.8. Uploading Your Apps to Google Play -- 9.9. Launching the Play Store from Within Your App -- 9.10. Managing Your Apps in Google Play -- 9.11. Other Android App Marketplaces -- 9.12. Other Popular Mobile App Platforms -- 9.13. Marketing Your Apps -- 9.14. Wrap-Up -- --
A. Introduction to Java Applications A.1. Introduction -- A.2. Your First Program in Java: Printing a Line of Text -- A.3. Modifying Your First Java Program -- A.4. Displaying Text with printf -- A.5. Another Application: Adding Integers -- A.6. Memory Concepts -- A.7. Arithmetic -- A.8. Decision Making: Equality and Relational Operators -- A.9. Wrap-Up -- -- B. Introduction to Classes, Objects, Methods and Strings-- B.1. Introduction -- B.2. Declaring a Class with a Method and Instantiating an Object of a Class -- B.3. Declaring a Method with a Parameter -- B.4. Instance Variables, set Methods and get Methods -- B.5. Primitive Types vs. Reference Types -- B.6. Initializing Objects with Constructors -- B.7. Floating-Point Numbers and Type double -- B.8. Wrap-Up -- -- C. Control Statements -- C.1. Introduction -- C.2. Algorithms -- C.3. Pseudocode -- C.4. Control Structures -- C.5. If Single-Selection Statement -- C.6. if... else Double-Selection Statement -- C.7. While Repetition Statement -- C.8. Case Study: Counter-Controlled Repetition -- C.9. Case Study: Sentinel-Controlled Repetition -- C.10. Case Study: Nested Control Statements -- C.11. Compound Assignment Operators -- C.12. Increment and Decrement Operators -- C.13. Primitive Types -- C.14. Essentials of Counter-Controlled Repetition -- C.15. For Repetition Statement -- C.16. Examples Using the for Statement -- C.17. do... while Repetition Statement -- C.18. Switch Multiple-Selection Statement -- C.19. Break and continue Statements -- C.20. Logical Operators -- C.21. Wrap-Up -- -- D. Methods: A Deeper Look -- D.1. Introduction -- D.2. Program Modules in Java -- D.3. Static Methods, static Fields and Class Math -- D.4. Declaring Methods with Multiple Parameters -- D.5. Notes on Declaring and Using Methods -- D.6. Method-Call Stack and Activation Records -- D.7. Argument Promotion and Casting -- D.8. Java API Packages -- D.9. Introduction to Random-Number Generation -- D.9.1. Scaling and Shifting of Random Numbers -- D.9.2. Random-Number Repeatability for Testing and Debugging -- D.10. Case Study: A Game of Chance; Introducing Enumerations -- D.11. Scope of Declarations -- D.12. Method Overloading -- D.13. Wrap-Up -- -- E. Arrays and ArrayLists -- E.1. Introduction -- E.2. Arrays -- E.3. Declaring and Creating Arrays -- E.4. Examples Using Arrays -- E.5. Case Study: Card Shuffling and Dealing Simulation -- E.6. Enhanced for Statement -- E.7. Passing Arrays to Methods -- E.8. Case Study: Class GradeBook Using an Array to Store Grades -- E.9. Multidimensional Arrays -- E.10. Case Study: Class GradeBook Using a Two-Dimensional Array -- E.11. Class Arrays -- E.12. Introduction to Collections and Class ArrayList -- E.13. Wrap-Up -- -- F. Classes and Objects: A Deeper Look -- F.1. Introduction -- F.2. Time Class Case Study -- F.3. Controlling Access to Members -- F.4. Referring to the Current Object's Members with the this Reference -- F.5. Time Class Case Study: Overloaded Constructors -- F.6. Default and No-Argument Constructors -- F.7. Composition -- F.8. Enumerations -- F.9. Garbage Collection -- F.10. Static Class Members -- F.11. Final Instance Variables -- F.12. Packages -- F.13. Package Access -- F.14. Wrap-Up -- -- G. Object-Oriented Programming: Inheritance and Polymorphism --G.1. Introduction to Inheritance -- G.2. Superclasses and Subclasses -- G.3. Protected Members -- G.4. Relationship between Superclasses and Subclasses -- G.4.1. Creating and Using a CommissionEmployee Class -- G.4.2. Creating and Using a BasePlusCommissionEmployee Class -- G.4.3. Creating a CommissionEmployee -- G.4.4. CommissionEmployee -- G.4.5. CommissionEmployee -- G.5. Class Object -- G.6. Introduction to Polymorphism -- G.7. Polymorphism: An Example -- G.8. Demonstrating Polymorphic Behavior -- G.9. Abstract Classes and Methods -- G.10. Case Study: Payroll System Using Polymorphism -- G.10.1. Abstract Superclass Employee -- G.10.2. Concrete Subclass SalariedEmployee -- G.10.3. Concrete Subclass HourlyEmployee -- G.10.4. Concrete Subclass CommissionEmployee -- G.10.5. Indirect Concrete Subclass BasePlusCommissionEmployee -- G.10.6. Polymorphic Processing, Operator instanceof and Downcasting -- G.10.7. Summary of the Allowed Assignments Between Superclass and Subclass Variables -- G.11. Final Methods and Classes -- G.12. Case Study: Creating and Using Interfaces -- G.12.1. Developing a Payable Hierarchy -- G.12.2. Interface Payable -- G.12.3. Class Invoice -- G.12.4. Modifying Class Employee to Implement Interface Payable -- G.12.5. Modifying Class SalariedEmployee for Use in the Payable Hierarchy -- G.12.6. Using Interface Payable to Process Invoices and Employees Polymorphically -- G.13. Common Interfaces of the Java API -- G.14. Wrap-Up -- -- H. Exception Handling: A Deeper Look H.1. Introduction -- H.2. Example: Divide by Zero without Exception Handling -- H.3. Example: Handling ArithmeticExceptions and InputMismatchExceptions -- H.4. When to Use Exception Handling -- H.5. Java Exception Hierarchy -- H.6. Finally Block -- H.7. Stack Unwinding and Obtaining Information from an Exception Object -- H.8. Wrap-Up -- -- I. GUI Components and Event Handling I.1. Introduction -- I.2. Nimbus Look-and-Feel -- I.3. Text Fields and an Introduction to Event Handling with Nested Classes -- I.4. Common GUI Event Types and Listener Interfaces -- I.5. How Event Handling Works -- I.6. JButton -- I.7. JComboBox; Using an Anonymous Inner Class for Event Handling -- I.8. Adapter Classes -- I.9. Wrap-Up -- -- J. Other Java Topics J.1. Introduction -- J.2. Collections Overview -- J.3. Type-Wrapper Classes for Primitive Types -- J.4. Interface Collection and Class Collections -- J.5. Lists -- J.5.1. ArrayList and Iterator -- J.5.2. LinkedList -- J.5.3. Views into Collections and Arrays Method asList -- J.6. Collections Methods -- J.6.1. Method sort -- J.6.2. Method shuffle -- J.7. Interface Queue -- J.8. Sets -- J.9. Maps -- J.10. Introduction to Files and Streams -- J.11. Class File -- J.12. Introduction to Object Serialization -- J.13. Introduction to Multithreading -- J.14. Creating and Executing Threads with the Executor Framework -- J.15. Overview of Thread Synchronization -- J.16. Concurrent Collections Overview -- J.17. Multithreading with GUI -- J.18. Wrap-Up.
There are no comments on this title.