LEADER 12622nam 2200613 450 001 9910151650603321 005 20230807205037.0 010 $a0-273-79387-X 035 $a(CKB)2670000000599011 035 $a(MiAaPQ)EBC5174104 035 $a(MiAaPQ)EBC5176049 035 $a(MiAaPQ)EBC5832516 035 $a(MiAaPQ)EBC5137652 035 $a(MiAaPQ)EBC5483616 035 $a(MiAaPQ)EBC6398943 035 $a(Au-PeEL)EBL5137652 035 $a(OCoLC)1024279325 035 $a(EXLCZ)992670000000599011 100 $a20210323d2015 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $2rdacontent 182 $2rdamedia 183 $2rdacarrier 200 10$aAndroid $ehow to program /$fPaul Deitel, Harvey Deitel, Abbey Deitel 205 $aSecond, global edition. 210 1$aBoston :$cPearson,$d[2015] 210 4$d©2015 215 $a1 online resource (736 pages) $cillustrations 225 0 $aHow to program 300 $aIncludes index. 311 $a0-273-79339-X 311 $a1-336-02896-3 327 $aCover -- Title -- Copyright -- Contents -- Preface -- Before You Begin -- 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 App -- 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. 327 $a2.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 -- 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 -- 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. 327 $a4.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 -- 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. 327 $a5.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 -- 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. 327 $a6.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 -- 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. 327 $a7.9 EraseImageDialogFragment Class. 330 $aAndroid How to Program, Second Edition provides a clear and entertaining App-driven introduction to Android 4.3 development for both introductory- and intermediate-level programming courses.   The Deitels' App-driven, Live Code Approach is simply the best way to master Android programming! The Deitels teach Android programming through ten 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 4.3 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.   Teaching and Learning Experience This program will provide a better teaching and learning experience-for you and your students. Add an App Component to your Java Course: An extensive, optional introduction to programming using the Java language makes this book appropriate for Java courses. Motivate Students with an App-driven, Live Code Approach to Android 4.3 Development: Concepts are presented in the context of 10 complete working Android Apps, complete with syntax coloring, code walkthroughs and sample outputs. 410 0$aHow to program series. 606 $aApplication software$xDevelopment 615 0$aApplication software$xDevelopment. 676 $a005.3 700 $aDeitel$b Paul$08045 702 $aDeitel$b Harvey 702 $aDeitel$b Abbey 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910151650603321 996 $aAndroid$93406998 997 $aUNINA