Android 6 for programmers: an app-driven approach, 3/E
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston
Prentice Hall
[2016]
|
Ausgabe: | Third edition |
Schriftenreihe: | Deitel developer series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Auf dem Cover: "8 fully coded Android apps" |
Beschreibung: | xxxv, 422 Seiten Illustration |
ISBN: | 9780134289366 0134289366 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV043325257 | ||
003 | DE-604 | ||
005 | 20160401 | ||
007 | t | ||
008 | 160129s2016 a||| |||| 00||| eng d | ||
020 | |a 9780134289366 |c Print |9 978-0-13-428936-6 | ||
020 | |a 0134289366 |c Print |9 0-13-428936-6 | ||
035 | |a (OCoLC)936134304 | ||
035 | |a (DE-599)HBZHT018862198 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-11 |a DE-573 | ||
084 | |a ST 261 |0 (DE-625)143633: |2 rvk | ||
100 | 1 | |a Deitel, Paul J. |d 1969- |e Verfasser |0 (DE-588)138556512 |4 aut | |
245 | 1 | 0 | |a Android 6 for programmers |b an app-driven approach, 3/E |c Paul Deitel, Harvey Deitel, Alexander Wald, Deitel & Associates, Inc. |
250 | |a Third edition | ||
264 | 1 | |a Boston |b Prentice Hall |c [2016] | |
264 | 4 | |c © 2016 | |
300 | |a xxxv, 422 Seiten |b Illustration | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Deitel developer series | |
500 | |a Auf dem Cover: "8 fully coded Android apps" | ||
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Android |g Systemplattform |0 (DE-588)7635475-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Android |g Systemplattform |0 (DE-588)7635475-1 |D s |
689 | 0 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Deitel, Harvey M. |d 1945- |e Verfasser |0 (DE-588)129749311 |4 aut | |
700 | 1 | |a Wald, Alexander |e Verfasser |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028745577&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-028745577 |
Datensatz im Suchindex
_version_ | 1804175868931604480 |
---|---|
adam_text | Titel: Android 6 for programmers
Autor: Deitel, Paul J
Jahr: 2016
Contents
_______________
Preface xxi
Before You Begin xxxi
I Introduction to Android I
1.1 Introduction 2
1.2 Android—The World s Leading Mobile Operating System 3
1.3 Android Features 3
1.4 Android Operating System 6
1.4.1 Android 2.2 (Froyo) 7
1.4.2 Android 2.3 (Gingerbread) 7
1.4.3 Android 3.0 through 3.2 (Honeycomb) 8
1.4.4 Android 4.0 through 4.0.4 (Ice Cream Sandwich) 8
1.4.5 Android 4.1—4.3 (Jelly Bean) 9
1.4.6 Android 4.4 (KitKat) 10
1.4.7 Android 5.0 and 5.1 (Lollipop) 11
1.4.8 Android 6 (Marshmallow) 12
1.5 Downloading Apps from Google Play 13
1.6 Packages 14
1.7 Android Software Development Kit (SDK) 16
1.8 Object-Oriented Programming: A Quick Refresher 18
1.8.1 The Automobile as an Object 19
1.8.2 Methods and Classes 19
1.8.3 Instantiation 19
1.8.4 Reuse 19
1.8.5 Messages and Method Calls 19
1.8.6 Attributes and Instance Variables 20
1.8.7 Encapsulation 20
1.8.8 Inheritance 20
1.8.9 Object-Oriented Analysis and Design (OOAD) 20
1.9 Test-Driving the Tip Calculator App in an Android Virtual Device (AVD) 21
1.9.1 Opening the Tip Calculator App s Project in Android Studio 22
1.9.2 Creating Android Virtual Devices (AVDs) 24
1.9.3 Running the Tip Calculator App on the Nexus 6 Smartphone AVD 25
1.9.4 Running the Tip Calculator App on an Android Device 30
1.10 Building Great Android Apps 30
viii
Contents
1.11 Android Development Resources 32
1.12 Wrap-Up 34
2 Welcome App 35
Dive-Into® Android Studio: Introducing Visual GUI Design, Layouts, Accessibility
and Internationalization
2.1 Introduction 36
2.2 Technologies Overview 37
2.2.1 Android Studio 37
2.2.2 LinearLayout, TextView and ImageView 37
2.2.3 Extensible Markup Language (XML) 38
2.2.4 App Resources 38
2.2.3 Accessibility 38
2.2.6 Internationalization 38
2.3 Creating an App 38
2.3.1 Launching Android Studio 39
2.3.2 Creating a New Project 39
2.3.3 Create New Project Dialog 40
2.3.4 Target Android Devices Step 40
2.3.3 Add an Activity to Mobile Step 42
2.3.6 Customize the Activity Step 43
2.4 Android Studio Window 44
2.4.1 Project Window 45
2.4.2 Editor Windows 46
2.4.3 Component Tree Window 46
2.4.4 App Resource Files 46
2.4.5 Layout Editor 47
2.4.6 Default GUI 48
2.4.7 XML for the Default GUI 49
2.5 Building the App s GUI with the Layout Editor 49
2.5.1 Adding an Image to the Project 50
2.5.2 Adding an App Icon 51
2.5.3 Changing RelativeLayout to a LinearLayout 52
2.5.4 Changing the Li nearLayout s i d and ori entati on 53
2.5.5 Configuring the TextView s id and text Properties 54
2.5.6 Configuring the TextVi ew s textSi ze Property—Scaled Pixels
and Density-Independent Pixels 56
2.5.7 Setting the TextView s textColor Property 57
2.5.8 Setting the TextView s gravi ty Property 58
2.5.9 Setting the TextVi ew s layout: gravity Property 59
2.5.10 Setting the TextView s layout:weight Property 60
2.5.11 Adding an ImageVi ew to Display the Image 60
2.5.12 Previewing the Design 64
2.6 Running the Welcome App 65
2.7 Making Your App Accessible 66
Contents ix
2.8 Internationalizing Your App 67
2.8.1 Localization 67
2.8.2 Naming the Folders for Localized Resources 68
2.8.3 Adding String Translations to the App s Project 68
2.8.4 Localizing Strings 68
2.8.5 Testing the App in Spanish on an AVD 69
2.8.6 Testing the App in Spanish on a Device 70
2.8.7 TalkBack and Localization 71
2.8.8 Localization Checklist 71
2.8.9 Professional Translation 71
2.9 Wrap-Up 72
3 Tip Calculator App 73
Introducing CridLayout, EditText, SeekBar, Event Handling, NumberFormat,
Customizing the App s Theme and Defining App Functionality with Java
3.1 Introduction 74
3.2 Test-Driving the Tip Calculator App 75
3.3 Technologies Overview 76
3.3.1 Class Activity 76
3.3.2 Acti vi ty Lifecycle Methods 77
3.3.3 AppCompat Library and Class AppCompatActivity 77
3.3.4 Arranging Views with a CridLayout 78
3.3.5 Creating and Customizing the GUI with the Layout Editor
and the Component Tree and Properties Windows 78
3.3.6 Formatting Numbers as Locale-Specific Currency and
Percentage Strings 78
3.3.7 Implementing Interface TextWatcher for Handling Edi tText
Text Changes 79
3.3.8 Implementing Interface OnSeekBarChangeLi stener for
Handling SeekBar Thumb Position Changes 79
3.3.9 Material Themes 79
3.3.10 Material Design: Elevation and Shadows 80
3.3.11 Material Design: Colors 80
3.3.12 AndroidManifest.xml 81
3.3.13 Searching in the Properties Window 81
3.4 Building the GUI 81
3.4.1 CridLayout Introduction 81
3.4.2 Creating the TipCalculator Project 82
3.4.3 Changing to a CridLayout 83
3.4.4 Adding the TextViews, EditText and SeekBar 83
3.4.5 Customizing the Views 86
3.5 Default Theme and Customizing Theme Colors 88
3.5.1 parent Themes 88
3.5.2 Customizing Theme Colors 89
3.5.3 Common Vi ew Property Values as Styles 91
X
Contents
3.6 Adding the App s Logic 92
3.6.1 package and import Statements 93
3.6.2 Mai nActi vi ty Subclass of AppCompatActi vi ty 94
3.6.3 Class Variables and Instance Variables 94
3.6.4 Overriding Activity Method onCreate 95
3.6.5 Mai nActi vi ty Method cal cul ate 97
3.6.6 Anonymous Inner Class That Implements Interface
OnSeekBarChangeListener 98
3.6.7 Anonymous Inner Class That Implements Interface TextWatcher 99
3.7 AndroidManifest.xml 100
3.7.1 manifest Element 101
3.7.2 application Element 101
3.7.3 acti vi ty Element 102
3.7.4 intent-filter Element 102
3.8 Wrap-Up 103
4 Flag Quiz App 105
Fragments, Menus, Preferences, Explicit Intents, Handler, AssetManager, Tweened
Animations, Animators, Toasts, Color State Lists, Layouts for Multiple Device
Orientations, Logging Error Messages for Debugging
4.1 Introduction 106
4.2 Test-Driving the Flag Quiz App 108
4.2.1 Configuring the Quiz s Settings 108
4.2.2 Taking the Quiz 110
4.3 Technologies Overview 113
4.3.1 Menus 113
4.3.2 Fragments 113
4.3.3 Fragment Lifecycle Methods 114
4.3.4 Managing Fragments 114
4.3.5 Preferences 114
4.3.6 assets Folder 115
4.3.7 Resource Folders 115
4.3.8 Supporting Different Screen Sizes and Resolutions 116
4.3.9 Determining the Device Orientation 117
4.3.10 Toasts for Displaying Messages 117
4.3.11 Using a Handler to Execute a Runnable in the Future 117
4.3.12 Applying an Animation to a Vi ew 117
4.3.13 Using ViewAnimationlltiIs to Create a Circular Reveal Animator 118
4.3.14 Specifying Colors Based on a Vi ew s State Via a Color State List 118
4.3.15 AlertDialog 118
4.3.16 Logging Exception Messages 119
4.3.17 Launching Another Activity Via an Explicit Intent 119
4.3.18 Java Data Structures 120
4.3.19 Java SE 7 Features 120
4.3.20 AndroidManifest.xml 120
Contents xi
4.4 Creating the Project, Resource Files and Additional Classes 121
4.4.1 Creating the Project 121
4.4.2 Blank Activity Template Layouts 121
4.4.3 Configuring Java SE 7 Support 122
4.4.4 Adding the Flag Images to the Project 122
4.4.5 strings, xml and Formatted String Resources 123
4.4.6 arrays.xml 124
4.4.7 colors, xml 126
4.4.8 button_text_color.xml 126
4.4.9 Editing menu_main. xml 127
4.4.10 Creating the Flag Shake Animation 128
4.4.11 preferences. xml for Specifying the App s Settings 129
4.4.12 Adding Classes Setti ngsActi vi ty and
SettingsActivityFragment to the Project 131
4.5 Building the App s GUI 132
4.5.1 acti vi ty_mai n. xml Layout for Devices in Portrait Orientation 132
4.5.2 Designing fragment_main. xml Layout 132
4.5.3 Graphical Layout Editor Toolbar 138
4.5.4 content_mai n. xml Layout for Tablet Landscape Orientation 138
4.6 Mai nActi vi ty Class 140
4.6.1 package Statement and import Statements 140
4.6.2 Fields 141
4.6.3 Overridden Acti vity Method onCreate 141
4.6.4 Overridden Activity Method onStart 143
4.6.5 Overridden Activity Method onCreateOptionsMenu 144
4.6.6 Overridden Acti vi ty Method onOpti onsItemSel ected 145
4.6.7 Anonymous Inner Class That Implements
OnSharedPreferenceChangeListener 145
4.7 Mai nActi vityFragment Class 147
4.7.1 package and import Statements 147
4.7.2 Fields 148
4.7.3 Overridden Fragment Method onCreateView 149
4.7.4 Method updateCuessRows 151
4.7.5 Method updateRegions 152
4.7.6 Method resetQuiz 152
4.7.7 Method loadNextFlag 154
4.7.8 Method getCountryName 156
4.7.9 Method animate 156
4.7.10 Anonymous Inner Class That Implements OnClickListener 158
4.7.11 Method disableButtons 160
4.8 Setti ngsActi vity Class 161
4.9 SettingsActivityFragment Class 161
4.10 AndroidManifest.xml 162
4.11 Wrap-Up 164
xii
Contents
5 Doodlz App 165
2D Graphics, Canvas, Bitmap, Accelerometer, SensorHanager, Multitouch Events,
MediaStore, Printing, Android6.0 Permissions, Grodle
5.1 Introduction 167
5.2 Test-Driving the Doodlz App in an Android Virtual Device (AVD) 168
5.3 Technologies Overview 173
5.3.1 Activity and Fragment Lifecycle Methods 173
5.3.2 Custom Views 174
5.3.3 Using SensorManager to Listen for Accelerometer Events 174
5.3.4 Custom DialogFragments 174
5.3.5 Drawing with Canvas, Paint and Bitmap 175
5.3.6 Processing Multiple Touch Events and Storing Lines in Paths 175
5.3.7 Saving to the Device 175
5.3.8 Printing and the Android Support Library s Pri ntHel per Class 176
5.3.9 New Android 6.0 (Marshmallow) Permissions Model 176
5.3.10 Adding Dependencies Using the Gradle Build System 176
5.4 Creating the Project and Resources 176
5.4.1 Creating the Project 176
5.4.2 Gradle: Adding a Support Library to the Project 177
5.4.3 strings.xml 177
5.4.4 Importing the Material Design Icons for the App s Menu Items 178
5.4.5 Mai nActivityFragment Menu 179
5.4.6 Adding a Permission to AndroidManifest.xml 181
5.5 Building the App s GUI 181
5.5.1 content_main.xml Layout for MainActivity 181
5.5.2 f ragment_mai n. xml Layout for Mai nActivityFragment 181
5.5.3 f ragment_color.xml Layout for ColorDialogFragment 182
5.5.4 fragment_line_width.xml Layout for LineWidthDialogFragment 185
5.5.5 Adding Class EraselmageDialogFragment 187
5.6 Mai nActi vi ty Class 187
5.7 Mai nActivityFragment Class 188
5.7.1 package Statement, import Statements and Fields 188
5.7.2 Overridden Fragment Method onCreateView 189
5.7.3 Methods onResume and enableAccelerometerListening 190
5.7.4 Methods onPause and disableAccelerometerListening 191
5.7.5 Anonymous Inner Class for Processing Accelerometer Events 192
5.7.6 Method confi rmErase 193
5.7.7 Overridden Fragment Methods onCreateOptionsMenu and
onOptionsItemSelected 193
5.7.8 Method savelmage 195
5.7.9 Overridden Method onRequestPermissionsResult 196
5.7.10 Methods getDoodleView and setDialogOnScreen 197
5.8 Doodl eVi ew Class 198
5.8.1 package Statement and import Statements 198
5.8.2 stati c and Instance Variables 198
5.8.3 Constructor 199
Contents xiii
5.8.4 Overridden Vi ew Method onSi zeChanged 200
5.8.5 Methods clear, setDrawingColor, getDrawingColor,
setLi neWi dth and getLi neWi dth 200
5.8.6 Overridden View Method onDraw 201
5.8.7 Overridden View Method onTouchEvent 202
5.8.8 touchStarted Method 203
5.8.9 touchMoved Method 204
5.8.10 touchEnded Method 205
5.8.11 Method savelmage 205
5.8.12 Method printlmage 206
5.9 ColorDialogFragment Class 207
5.9.1 Overridden DialogFragment Method onCreateDialog 208
5-9.2 Method getDoodleFragment 209
5.9.3 Overridden Fragment Lifecycle Methods onAttach and onDetach 209
5.9.4 Anonymous Inner Class That Responds to the Events of the
Alpha, Red, Green and Blue SeekBars 210
5.10 Li neWi dthDi alogFragment Class 211
5.10.1 Method onCreateDialog 213
5.10.2 Anonymous Inner Class That Responds to the Events of the
widthSeekBar 214
5.11 EraselmageDialogFragment Class 214
5.12 Wrap-Up 216
6 Cannon Game App 217
Manual Frame-By-Frame Animation, Graphics, Sound, Threading,
SurfaceView and SurfaceHolder, Immersive Mode and Full-Screen
6.1 Introduction 218
6.2 Test-Driving the Cannon Game App 220
6.3 Technologies Overview 220
6.3.1 Using the Resource Folder res/raw 220
6.3.2 Activity and Fragment Lifecycle Methods 220
6.3.3 Overriding Vi ew Method onTouchEvent 220
6.3.4 Adding Sound with SoundPool and Audi oManager 220
6.3.5 Frame-by-Frame Animation with Threads, SurfaceView and
SurfaceHolder 221
6.3.6 Simple Collision Detection 221
6.3.7 Immersive Mode 222
6.4 Building the GUI and Resource Files 222
6.4.1 Creating the Project 222
6.4.2 Adjusting the Theme to Remove the App Title and App Bar 223
6.4.3 strings.xml 223
6.4.4 Colors 223
6.4.5 Adding the Sounds to the App 223
6.4.6 Adding Class Mai nActivi tyFragment 224
6.4.7 Editing activity_main.xml 224
6.4.8 Adding the CannonVi ew to f ragment_mai n. xml 224
xiv
Contents
6.5 Overview of This App s Classes 225
6.6 Mai nActi vi ty Subclass of Acti vi ty 226
6.7 Mai nActi vityFragment Subclass of Fragment 226
6.8 Class GameElement 228
6.8.1 Instance Variables and Constructor 229
6.8.2 Methods update, draw, and pi aySound 229
6.9 Blocker Subclass of GameElement 230
6.10 Target Subclass of GameElement 230
6.11 Cannon Class 231
6.11.1 Instance Variables and Constructor 231
6.11.2 Method align 232
6.11.3 Method fireCannonball 232
6.11.4 Method draw 233
6.11.5 Methods getCannonball and removeCannonball 234
6.12 Cannonbal 1 Subclass of GameEl ement 234
6.12.1 Instance Variables and Constructor 234
6.12.2 Methods getRadius, collidesWith, isOnScreen, and
reverseVelocityX 235
6.12.3 Method update 236
6.12.4 Method draw 236
6.13 CannonView Subclass of Surf aceView 237
6.13.1 package and import Statements 237
6.13.2 Instance Variables and Constants 238
6.13.3 Constructor 239
6.13.4 Overriding Vi ew Method onSi zeChanged 241
6.13.5 Methods getScreenWidth, getScreenHeight, and pi aySound 241
6.13.6 Method newGame 242
6.13.7 Method updatePositions 244
6.13.8 Method alignAndFireCannonball 245
6.13.9 Method showGameOverDialog 246
6.13.10 Method drawGameElements 247
6.13.11 Method testForColli sions 248
6.13.12 Methods stopGame and releaseResources 249
6.13.13 Implementing the Surf aceHol dec. Call back Methods 250
6.13.14 Overriding View Method onTouchEvent 251
6.13.15 CannonThread: Using a Thread to Create a Game Loop 252
6.13.16 Methods hideSystemBars and showSystemBars 253
6.14 Wrap-Up 254
7 WeatherViewer App 256
REST Web Services, AsyncTask, HttpUrl Connection, Processing JSONResponses,
JSONObject, JSONArray, ListView, ArrayAdapter, ViewHolder Pattern,
TextlnputLayout, FloatingActionButton
7.1 Introduction 257
Contents xv
7.2 Test-Driving the WeatherViewer App 258
7.3 Technologies Overview 259
7.3.1 Web Services 259
7.3.2 JavaScript Object Notation (JSON) and the org. json Package 261
7.3.3 HttpUrlConnection Invoking a REST Web Service 263
7.3.4 Using AsyncTask to Perform Network Requests Outside the
GUI Thread 263
7.3.5 ListView, ArrayAdapter and the View-Holder Pattern 263
7.3.6 FloatingActionButton 264
7.3.7 TextlnputLayout 265
7.3.8 Snackbar 265
7.4 Building the App s GUI and Resource Files 265
7.4.1 Creating the Project 265
7.4.2 AndroidManifest.xml 265
7.4.3 strings.xml 266
7.4.4 colors.xml 266
7.4.5 activity_mai n .xml 266
7.4.6 content_mai n. xml 26 7
7.4.7 list_i tern, xml 268
7.5 Class Weather 269
7.5.1 package Statement, import Statements and Instance Variables 270
7.5.2 Constructor 270
7.5.3 Method convertTimeStampToDay 271
7.6 Class WeatherArrayAdapter 272
7.6.1 package Statement and import Statements 272
7.6.2 Nested Class ViewHolder 273
7.6.3 Instance Variable and Constructor 273
7.6.4 Overridden ArrayAdapter Method getView 273
7.6.5 AsyncTask Subclass for Downloading Images in a Separate Thread 275
7.7 Class Mai nActi vi ty 277
7.7.1 package Statement and import Statements 277
7.7.2 Instance Variables 278
7.7.3 Overridden Activity Method onCreate 279
7.7.4 Methods dismissKeyboard and createURL 280
7.7.5 AsyncTask Subclass for Invoking a Web Service 281
7.7.6 Method convertJSONtoArrayLi st 283
7.8 Wrap-Up 284
8 Twitter Searches App 286
SharedPreferences, SharedPreferences. Editor, Implicit Intents, Intent
Choosers, RecyclerView, Recyc 1 erView. Adapter, RecyclerView.ViewHolder,
Recyc lerView. I temDecora t i on
8.1 Introduction 287
8.2 Test-Driving the App 288
8.2.1 Adding a Favorite Search 288
291
291
293
294
295
295
295
296
296
297
297
297
297
298
298
298
298
299
299
299
300
300
300
302
303
304
304
305
307
308
309
310
311
313
314
315
315
316
317
318
320
320
Contents
8.2.2 Viewing Twitter Search Results
8.2.3 Editing a Search
8.2.4 Sharing a Search
8.2.5 Deleting a Search
8.2.6 Scrolling Through Saved Searches
Technologies Overview
8.3.1 Storing Key-Value Data in a SharedPreferences File
8.3.2 Implicit Intents and Intent Choosers
8.3.3 RecyclerView
8.3.4 RecyclerView.Adapter and RecyclerView.ViewHolder
8.3.5 Recycl erVi ew. ItemDecorati on
8.3.6 Displaying a List of Options in an A1 ertDi al og
Building the App s GUI and Resource Files
8.4.1 Creating the Project
8.4.2 AndroidManifest.xml
8.4.3 Adding the Recycl erVi ew Library
8.4.4 colors.xml
8.4.5 strings.xml
8.4.6 arrays.xml
8.4.7 di mens, xml
8.4.8 Adding the Save Button Icon
8.4.9 activity_main.xml
8.4.10 content_main.xml
8.4.11 RecyclerView Item s Layout: list_item.xml
Mai nActi vi ty Class
8.5.1 package and import Statements
8.5.2 Mai nActi vity Fields
8.5.3 Overriden Activity Method onCreate
8.5.4 TextWatcher Event Handler and Method updateSaveFAB
8.5.5 saveButton s OnClickListener
8.5.6 addTaggedSearch Method
8.5.7 Anonymous Inner Class That Implements
Vi ew. OnCl i ckLi stene r to Display Search Results
8.5.8 Anonymous Inner Class That Implements
Vi ew. OnLongCl i ckLi stene r to Share, Edit or Delete a Search
8.5.9 shareSearch Method
8.5.10 deleteSearch Method
SearchesAdapter Subclass of RecyclerView. Adapter
8.6.1 package Statement, import statements, Instance Variables and
Constructor
8.6.2 Nested ViewHolder Subclass of RecyclerView.ViewHolder
8.6.3 Overridden RecyclerView. Adapter Methods
ItemDi vi der Subclass of Recycl erVi ew. ItemDecorati on
A Note on Fabric: Twitter s New Mobile Development Platform
Wrap-Up
Contents xvii
9 Address Book App 322
FragmentTransactions and the Fragment Back Stack, SQLite, SQLiteDatabase,
SQLiteOpenHelper, ContentProvider, Con ten tReso 7 ver, Loader, LoaderManager,
Cursor and GUI Styles
9.1 Introduction 324
9.2 Test-Driving the Address Book App 326
9.2.1 Adding a Contact 326
9.2.2 Viewing a Contact 327
9.2.3 Editing a Contact 327
9.2.4 Deleting a Contact 327
9.3 Technologies Overview 328
9.3.1 Displaying Fragments with FragmentTransactions 328
9.3.2 Communicating Data Between a Fragment and a Host Acti vi ty 329
9.3.3 Manipulating a SQLite Database 329
9.3.4 Content?roviders and ContentResol vers 329
9.3.5 Loader and LoaderManager—Asynchronous Database Access 330
9.3.6 Defining Styles and Applying Them to GUI Components 331
9.3.7 Specifying a TextVi ew Background 331
9.4 Building the GUI and Resource Files 331
9.4.1 Creating the Project 331
9.4.2 Creating the App s Classes 331
9.4.3 Add the App s Icons 333
9.4.4 strings.xml 333
9.4.5 styles, xml 334
9.4.6 textview_border.xml 335
9.4.7 Mai nActivity s Layout 335
9.4.8 ContactsFragment s Layout 337
9.4.9 Detail Fragment s Layout 338
9.4.10 AddEditFragment s Layout 339
9.4.11 Detail Fragment s Menu 341
9.5 Overview of This Chapter s Classes 341
9.6 DatabaseDescription Class 342
9.6.1 static Fields 342
9.6.2 Nested Class Contact 343
9.7 AddressBookDatabaseHel per Class 344
9.8 AddressBookContentProvider Class 346
9.8.1 AddressBookContentProvider Fields 346
9.8.2 Overridden Methods onCreate and getType 347
9.8.3 Overridden Method query 348
9.8.4 Overridden Method insert 350
9.8.5 Overridden Method update 352
9.8.6 Overridden Method del ete 353
9.9 MainActivity Class 354
9.9.1 Superclass, Implemented Interfaces and Fields 354
9.9.2 Overridden Method onCreate 355
9.9.3 ContactsFragment.ContactsFragmentListener Methods 356
xviii
Contents
9.9.4 Method displayContact 357
9.9.5 Method displayAddEditFragment 358
9.9.6 DetailFragment.DetailFragmentListener Methods 358
9.9.7 AddEditFragment.AddEditFragmentListener Method 359
9.10 Contacts Fragment Class 360
9.10.1 Superclass and Implemented Interface 360
9.10.2 ContactsFragmentListener 360
9.10.3 Fields 361
9.10.4 Overridden Fragment Method onCreateView 361
9.10.5 Overridden Fragment Methods onAttach and onDetach 363
9.10.6 Overridden Fragment Method onActivityCreated 363
9.10.7 Method updateContactLi st 364
9.10.8 LoaderManager.LoaderCallbacks Cursor Methods 364
9.11 ContactsAdapter Class 365
9.12 AddEditFragment Class 368
9.12.1 Superclass and Implemented Interface 368
9.12.2 AddEditFragmentListener 369
9.12.3 Fields 369
9.12.4 Overridden Fragment Methods onAttach, onDetach and
onCreateView 370
9.12.5 TextWatcher nameChangedLi stener and Method
updateSaveButtonFAB 372
9.12.6 View.OnClickListener saveContactButtonClicked and
Method saveContact 373
9.12.7 LoaderManager.LoaderCallbacks Cursor Methods 374
9.13 Detail Fragment Class 376
9.13.1 Superclass and Implemented Interface 376
9.13.2 DetailFragmentListener 377
9.13.3 Fields 377
9.13.4 Overridden Methods onAttach, onDetach and onCreateView 378
9.13.5 Overridden Methods onCreateOptionsMenu and
onOptionsItemSelected 379
9.13.6 Method deleteContact and DialogFragment confi rmDelete 380
9.13.7 LoaderManager.LoaderCallback Cursor Methods 381
9.14 Wrap-Up 382
10 Google Play and App Business Issues 384
10.1 Introduction 383
10.2 Preparing Your Apps for Publication 385
10.2.1 Testing Your App 386
10.2.2 End User License Agreement 386
10.2.3 Icons and Labels 387
10.2.4 Versioning Your App 387
10.2.5 Licensing to Control Access to Paid Apps 388
10.2.6 Obfuscating Your Code 388
Contents xix
10.2.7 Getting a Private Key for Digitally Signing Your App 388
10.2.8 Featured Image and Screenshots 388
10.2.9 Promotional App Video 390
10.3 Pricing Your App: Free or Fee 390
10.3.1 PaidApps 391
10.3.2 FreeApps 391
10.4 Monetizing Apps with In-App Advertising 392
10.5 Monetizing Apps: Using In-App Billing to Sell Virtual Goods 393
10.6 Registering at Google Play 394
10.7 Setting Up a Google Payments Merchant Account 395
10.8 Uploading Your Apps to Google Play 395
10.9 Launching Play Store from Within Your App 397
10.10 Managing Your Apps in Google Play 398
10.11 Other Android App Marketplaces 398
10.12 Other Mobile App Platforms and Porting Your Apps 398
10.13 Marketing Your Apps 399
10.14 Wrap-Up 403
Index
405
|
any_adam_object | 1 |
author | Deitel, Paul J. 1969- Deitel, Harvey M. 1945- Wald, Alexander |
author_GND | (DE-588)138556512 (DE-588)129749311 |
author_facet | Deitel, Paul J. 1969- Deitel, Harvey M. 1945- Wald, Alexander |
author_role | aut aut aut |
author_sort | Deitel, Paul J. 1969- |
author_variant | p j d pj pjd h m d hm hmd a w aw |
building | Verbundindex |
bvnumber | BV043325257 |
classification_rvk | ST 261 |
ctrlnum | (OCoLC)936134304 (DE-599)HBZHT018862198 |
discipline | Informatik |
edition | Third edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01726nam a2200421 c 4500</leader><controlfield tag="001">BV043325257</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20160401 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">160129s2016 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780134289366</subfield><subfield code="c">Print</subfield><subfield code="9">978-0-13-428936-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0134289366</subfield><subfield code="c">Print</subfield><subfield code="9">0-13-428936-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)936134304</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)HBZHT018862198</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-11</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 261</subfield><subfield code="0">(DE-625)143633:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Deitel, Paul J.</subfield><subfield code="d">1969-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)138556512</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Android 6 for programmers</subfield><subfield code="b">an app-driven approach, 3/E</subfield><subfield code="c">Paul Deitel, Harvey Deitel, Alexander Wald, Deitel & Associates, Inc.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Third edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston</subfield><subfield code="b">Prentice Hall</subfield><subfield code="c">[2016]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2016</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxv, 422 Seiten</subfield><subfield code="b">Illustration</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Deitel developer series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Cover: "8 fully coded Android apps"</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Android</subfield><subfield code="g">Systemplattform</subfield><subfield code="0">(DE-588)7635475-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Android</subfield><subfield code="g">Systemplattform</subfield><subfield code="0">(DE-588)7635475-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Deitel, Harvey M.</subfield><subfield code="d">1945-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)129749311</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Wald, Alexander</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028745577&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-028745577</subfield></datafield></record></collection> |
id | DE-604.BV043325257 |
illustrated | Illustrated |
indexdate | 2024-07-10T07:23:08Z |
institution | BVB |
isbn | 9780134289366 0134289366 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-028745577 |
oclc_num | 936134304 |
open_access_boolean | |
owner | DE-11 DE-573 |
owner_facet | DE-11 DE-573 |
physical | xxxv, 422 Seiten Illustration |
publishDate | 2016 |
publishDateSearch | 2016 |
publishDateSort | 2016 |
publisher | Prentice Hall |
record_format | marc |
series2 | Deitel developer series |
spelling | Deitel, Paul J. 1969- Verfasser (DE-588)138556512 aut Android 6 for programmers an app-driven approach, 3/E Paul Deitel, Harvey Deitel, Alexander Wald, Deitel & Associates, Inc. Third edition Boston Prentice Hall [2016] © 2016 xxxv, 422 Seiten Illustration txt rdacontent n rdamedia nc rdacarrier Deitel developer series Auf dem Cover: "8 fully coded Android apps" Programmierung (DE-588)4076370-5 gnd rswk-swf Android Systemplattform (DE-588)7635475-1 gnd rswk-swf Android Systemplattform (DE-588)7635475-1 s Programmierung (DE-588)4076370-5 s DE-604 Deitel, Harvey M. 1945- Verfasser (DE-588)129749311 aut Wald, Alexander Verfasser aut HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028745577&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Deitel, Paul J. 1969- Deitel, Harvey M. 1945- Wald, Alexander Android 6 for programmers an app-driven approach, 3/E Programmierung (DE-588)4076370-5 gnd Android Systemplattform (DE-588)7635475-1 gnd |
subject_GND | (DE-588)4076370-5 (DE-588)7635475-1 |
title | Android 6 for programmers an app-driven approach, 3/E |
title_auth | Android 6 for programmers an app-driven approach, 3/E |
title_exact_search | Android 6 for programmers an app-driven approach, 3/E |
title_full | Android 6 for programmers an app-driven approach, 3/E Paul Deitel, Harvey Deitel, Alexander Wald, Deitel & Associates, Inc. |
title_fullStr | Android 6 for programmers an app-driven approach, 3/E Paul Deitel, Harvey Deitel, Alexander Wald, Deitel & Associates, Inc. |
title_full_unstemmed | Android 6 for programmers an app-driven approach, 3/E Paul Deitel, Harvey Deitel, Alexander Wald, Deitel & Associates, Inc. |
title_short | Android 6 for programmers |
title_sort | android 6 for programmers an app driven approach 3 e |
title_sub | an app-driven approach, 3/E |
topic | Programmierung (DE-588)4076370-5 gnd Android Systemplattform (DE-588)7635475-1 gnd |
topic_facet | Programmierung Android Systemplattform |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028745577&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT deitelpaulj android6forprogrammersanappdrivenapproach3e AT deitelharveym android6forprogrammersanappdrivenapproach3e AT waldalexander android6forprogrammersanappdrivenapproach3e |