Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Android UI Development

You're reading from   Hands-On Android UI Development Design and develop attractive user interfaces for Android applications

Arrow left icon
Product type Paperback
Published in Nov 2017
Publisher Packt
ISBN-13 9781788475051
Length 348 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Jason Morris Jason Morris
Author Profile Icon Jason Morris
Jason Morris
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Creating Android Layouts FREE CHAPTER 2. Designing Form Screens 3. Taking Actions 4. Composing User Interfaces 5. Binding Data to Widgets 6. Storing and Retrieving Data 7. Creating Overview Screens 8. Designing Material Layouts 9. Navigating Effectively 10. Making Overviews Even Better 11. Polishing Your Design 12. Customizing Widgets and Layouts 13. Activity Lifecycle
14. Test Your Knowledge Answers

Creating the Data Access Layer


Now that you have something to write into the database, you need some way to actually write it, and a way to retrieve it again. The most common pattern is to have a dedicated class to deal with this for each class--a Data Access Object class, also known as a DAO. In Room, however, all you have to do is declare what they should look like using an interface; Room will write the implementation code for you. You define your queries using the @Query annotation on a method, like this:

@Query(“SELECT * FROM users WHERE _id = :id”)
public User selectById(long id);

This has a huge advantage over traditional O/R mapping layers in that you can still write any form of SQL query, and let Room figure out how to convert it into the object model you ask for. If it can't write the code, you get an error at compile time, rather than potentially having your app crash for your users. This also has an additional advantage: Room can bind your SQL queries to non-entity classes, allowing...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image