Android Database Best Practices

Specificaties
E-book, blz. | Engels
Pearson Education | e druk, 2016
ISBN13: 9780134438061
Rubricering
Juridisch :
Pearson Education e druk, 2016 9780134438061
Onderdeel van serie Android Deep Dive
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

Battle-Tested Strategies for Storing, Managing, and Sharing Android Data

“Android™ Database Best Practices goes well beyond API documentation to offer strategic advice about how to handle data in an Android application and the tools needed to develop productively. This arms the developer with a trove of solutions to nearly any problem an application may face involving data. Mastering the concepts in this book are therefore essential for any developer who wants to create professional Android applications.”

–Greg Milette, Android developer, Gradison Technologies, Inc.

This is the first guide to focus on one of the most critical aspects of Android development: how to efficiently store, retrieve, manage, and share information from your app’s internal database. Through real-world code examples, which you can use in your own apps, you’ll learn how to take full advantage of SQLite and the database-related classes on Android.

 

A part of Addison-Wesley’s Android™ Deep Dive series for experienced Android developers, Android Database Best Practices draws on Adam Stroud’s extensive experience leading cutting-edge app projects.

 

Stroud reviews the core database theory and SQL techniques you need to efficiently build, manipulate, and read SQLite databases. He explores SQLite in detail, illuminates Android’s APIs for database interaction, and shares modern best practices for working with databases in the Android environment.

 

Through a complete case study, you’ll learn how to design your data access layer to simplify all facets of data management and avoid unwanted technical debt. You’ll also find detailed solutions for common challenges in building data-enabled Android apps, including issues associated with threading, remote data access, and showing data to users. Extensive, up-to-date sample code is available for download at github.com/android-database-best-practices/device-database.

 

You will Discover how SQLite database differs from other relational databases Use SQL DDL to add structure to a database, and use DML to manipulate data Define and work with SQLite data types Persist highly structured data for fast, efficient access Master Android classes for create, read, update, and delete (CRUD) operations and database queries Share data within or between apps via content providers Master efficient UI strategies for displaying data, while accounting for threading issues Use Android’s Intents API to pass data between activities when starting a new activity or service Achieve two-way communication between apps and remote web APIs Manage the complexities of app-to-server communication, and avoid common problems Use Android’s new Data Binding API to write less code and improve performance

Specificaties

ISBN13:9780134438061
Taal:Engels
Bindwijze:e-book

Inhoudsopgave

<!--[if gte mso 9]><xml> </xml><![endif]--> <p style="margin:0px;"></p> <p style="margin:0px;">Preface xv</p> <p style="margin:0px;">Acknowledgments xix</p> <p style="margin:0px;">About the Author xxi</p> <p style="margin:0px;"></p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 1: Relational Databases 1</p> <p style="margin:0px;">History of Databases 1</p> <p style="margin:0px;">The Relational Model 3</p> <p style="margin:0px;">Relational Languages 9</p> <p style="margin:0px;">Database Languages 14</p> <p style="margin:0px;">Summary 15</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 2: An Introduction to SQL 17</p> <p style="margin:0px;">Data Definition Language 17</p> <p style="margin:0px;">Data Manipulation Language 28</p> <p style="margin:0px;">Queries 32</p> <p style="margin:0px;">Summary 37</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 3: An Introduction to SQLite 39</p> <p style="margin:0px;">SQLite Characteristics 39</p> <p style="margin:0px;">SQLite Features 39</p> <p style="margin:0px;">What SQLite Does Not Support 42</p> <p style="margin:0px;">SQLite Data Types 43</p> <p style="margin:0px;">Summary 44</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 4: SQLite in Android 47</p> <p style="margin:0px;">Data Persistence in Phones 47</p> <p style="margin:0px;">Android Database API 47</p> <p style="margin:0px;">Strategies for Upgrading Databases 58</p> <p style="margin:0px;">Database Access and the Main Thread 60</p> <p style="margin:0px;">Exploring Databases in Android 61</p> <p style="margin:0px;">Summary 77</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 5: Working with Databases in Android 79</p> <p style="margin:0px;">Manipulating Data in Android 79</p> <p style="margin:0px;">Transactions 87</p> <p style="margin:0px;">Running Queries 89</p> <p style="margin:0px;">Cursors 91</p> <p style="margin:0px;">CursorLoader 94</p> <p style="margin:0px;">Summary 99</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 6: Content Providers 101</p> <p style="margin:0px;">REST-Like APIs in Android 101</p> <p style="margin:0px;">Content URIs 102</p> <p style="margin:0px;">Exposing Data with a Content Provider 102</p> <p style="margin:0px;">Exposing a Remote Content Provider to External Apps 108</p> <p style="margin:0px;">Content Provider Contract 112</p> <p style="margin:0px;">Allowing Access from an External App 114</p> <p style="margin:0px;">Implementing a Content Provider 115</p> <p style="margin:0px;">When Should a Content Provider Be Used? 132</p> <p style="margin:0px;">Summary 135</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 7: Databases and the UI 137</p> <p style="margin:0px;">Getting Data from the Database to the UI 137</p> <p style="margin:0px;">Cursors as Observers 143</p> <p style="margin:0px;">Accessing a Content Provider from an Activity 145</p> <p style="margin:0px;">Summary 161</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 8: Sharing Data with Intents 163</p> <p style="margin:0px;">Sending Intents 163</p> <p style="margin:0px;">Receiving Implicit Intents 166</p> <p style="margin:0px;">Building an Intent 167</p> <p style="margin:0px;">ShareActionProvider 173</p> <p style="margin:0px;">Summary 175</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 9: Communicating with Web APIs 177</p> <p style="margin:0px;">REST and Web Services 177</p> <p style="margin:0px;">Accessing Remote Web APIs 179</p> <p style="margin:0px;">Persisting Data to Enhance User Experience 206</p> <p style="margin:0px;">Android SyncAdapter Framework 207</p> <p style="margin:0px;">Manually Synchronizing Remote Data 218</p> <p style="margin:0px;">Summary 229</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 10: Data Binding 231</p> <p style="margin:0px;">Adding Data Binding to an Android Project 231</p> <p style="margin:0px;">Data Binding Layouts 232</p> <p style="margin:0px;">Using Data Binding to Replace Boilerplate Code 242</p> <p style="margin:0px;">Data Binding Expression Language 246</p> <p style="margin:0px;">Summary 247</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Index 249</p> <!--[if gte mso 9]><xml> Normal 0 false false false EN-US X-NONE X-NONE </xml><![endif]--> <!--[if gte mso 9]><xml> </xml><![endif]--> <!--[if gte mso 10]> <![endif]-->

Net verschenen

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Android Database Best Practices