Topic: Mobile

Beginning Android Programming with Android Studio, 4th Edition (1118705599) cover image

Beginning Android Programming with Android Studio, 4th Edition

Jerome DiMarzio
ISBN: 978-1-118-70559-9
Paperback
456 pages
October 2016
View Previous Edition of This Title
Other Available Formats: E-book
If you are an instructor, you may request an evaluation copy for this title.
Paperback Version: US $39.99 Add to Cart

About This Title  |  Download Code  |  Errata  |  P2P Forum for This Title
INTRODUCTION xvii

CHAPTER 1: GETTING STARTED WITH ANDROID PROGRAMMING 1

What Is Android? 2

Android Versions 2

Features of Android 3

Architecture of Android 4

Android Devices in the Market 4

The Android Market 7

Obtaining the Required Tools 8

Android Studio 8

Android SDK 14

Creating Android Virtual Devices (AVDs) 15

The Android Developer Community 24

Launching Your First Android Application 24

Summary 26

CHAPTER 2: USING ANDROID STUDIO FOR ANDROID DEVELOPMENT 29

Exploring the IDE 30

Using Code Completion 38

Debugging Your Application 39

Setting Breakpoints 39

Navigating Paused Code 43

Publishing Your Application 44

Generating a Signed APK 44

Summary 45

CHAPTER 3: ACTIVITIES, FRAGMENTS, AND INTENTS 47

Understanding Activities 48

Applying Styles and Themes to an Activity 53

Hiding the Activity Title 54

Displaying a Dialog Window 56

Displaying a Progress Dialog 59

Linking Activities Using Intents 61

Returning Results from an Intent 66

Passing Data Using an Intent Object 70

Fragments 75

Adding Fragments Dynamically 81

Life Cycle of a Fragment 84

Interactions Between Fragments 88

Understanding the Intent Object 92

Using Intent Filters 93

Displaying Notifi cations 94

Summary 98

CHAPTER 4: GETTING TO KNOW THE ANDROID USER INTERFACE 101

Understanding the Components of a Screen 102

Views and ViewGroups 103

FrameLayout 104

LinearLayout (Horizontal) and LinearLayout (Vertical) 104

TableLayout 114

RelativeLayout 116

FrameLayout 117

ScrollView 121

Adapting to Display Orientation 124

Anchoring Views 125

Managing Changes to Screen Orientation 127

Persisting State Information During Changes in Configuration 131

Detecting Orientation Changes 132

Controlling the Orientation of the Activity 132

Utilizing the Action Bar 133

Adding Action Items to the Action Bar 136

Creating the User Interface Programmatically 142

Listening for UI Notifi cations 145

Summary 145

CHAPTER 5: DESIGNING YOUR USER INTERFACE WITH VIEWS 147

Using Basic Views 148

TextView View 148

Button, ImageButton, EditText, CheckBox, ToggleButton, RadioButton, and RadioGroup Views 149

ProgressBar View 158

AutoCompleteTextView View 164

Using Picker Views 167

TimePicker View 167

DatePicker View 172

Using List Views to Display Long Lists 175

ListView View 175

Using the Spinner View 184

Understanding Specialized Fragments 186

Using a ListFragment 187

Using a DialogFragment 191

Using a PreferenceFragment 194

Summary 199

CHAPTER 6: DISPLAYING PICTURES AND MENUS WITH VIEWS 203

Using Image Views to Display Pictures 203

ImageView View 204

ImageSwitcher 206

GridView 211

Using Menus with Views 215

Creating the Helper Methods 215

Options Menu 217

Context Menu 220

Using WebView 225

WebView 225

Summary 228

CHAPTER 7: DATA PERSISTENCE 231

Saving and Loading User Preferences 232

Accessing Preferences Using an Activity 232

Programmatically Retrieving and Modifying the Preferences Values 242

Persisting Data to Files 246

Saving to Internal Storage 246

Saving to External Storage (SD Card) 250

Choosing the Best Storage Option 253

Creating and Using Databases 254

Creating the DBAdapter Helper Class 254

Using the Database Programmatically 260

Summary 266

CHAPTER 8: CONTENT PROVIDERS 269

Sharing Data in Android 270

Using a Content Provider 271

Predefined Query String Constants 278

Projections 279

Filtering 280

Sorting 280

Creating Your Own Content Providers 281

Using the Content Provider 289

Summary 294

CHAPTER 9: MESSAGING 297

SMS Messaging 298

Sending SMS Messages Programmatically 298

Sending SMS Messages Using Intent 302

Receiving SMS Messages 302

Caveats and Warnings 318

Sending Email 319

Summary 322

CHAPTER 10: LOCATION-BASED SERVICES 325

Displaying Maps 326

Creating the Project 326

Obtaining the Maps API Key 326

Displaying the Map 327

Displaying the Zoom Control 329

Changing Views 332

Navigating to a Specifi c Location 333

Getting the Location That Was Touched 335

Geocoding and Reverse Geocoding 337

Getting Location Data 340

Monitoring a Location 348

Summary 348

CHAPTER 11: NETWORKING 351

Consuming Web Services Using HTTP 352

Downloading Binary Data 354

Downloading Text Content 361

Accessing Web Services Using the GET Method 364

Consuming JSON Services 370

Summary 377

CHAPTER 12: DEVELOPING ANDROID SERVICES 381

Creating Your Own Services 382

Performing Long-Running Tasks in a Service 386

Performing Repeated Tasks in a Service 391

Executing Asynchronous Tasks on Separate Threads Using IntentService 394

Establishing Communication Between a Service and an Activity 397

Binding Activities to Services 401

Understanding Threading 406

Summary 411

APPENDIX: ANSWERS TO EXERCISES 415

INDEX 421