In this episode, Donn talks about Item #17 from the Effective Java book: Design and Document for inheritance or else prohibit it. Learn how you should be documenting your code that is built for inheritance when you should not call overridable methods and much more.
In this episode, Donn is at Droidcon NYC 2017. He sits down to chat with Dan Kim about Kotlin, Gabriel Peal about React Native, Scott Alexander-Bown about Android Security, Jose Alcérreca about the Android Architecture Blueprints and Kevin Galligan about the history of Droidcon NYC and his new library – Doppl.
- 2:07 – Dan Kim (Kotlin)
- 10:07 – Gabriel Peal (React Native)
- 23:43 – Scott Alexander-Bown (Android Security)
- 33:32 – Jose Alcérreca (Android Architecture Blueprints)
- 43:09 – Kevin Galligan (Droidcon & Doppl)
- 082: Airbnb’s Gabriel tells us how to animate with Lottie – Fragmented
- 085: Casual Kotlin conversation with Dan Kim – Fragmented
- GitHub – googlesamples/android-architecture: A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.
- doppl by touchlab — touchlab
- BuddyBuild – fragmentedpodcast.com/buddybuild
In this episode, Florina returns to talk to us about Google’s recently announced paging library!
The paging library is a powerful take on implementing paging functionality in general, not necessarily linked to a particular technology or library. Florina breaks down the different components and explains what specific function each of them play.
We start off with DataSources, talk about when one would want to use “Tiled” or “Keyed” data sources, and then talk about making them work with RecyclerViews (which is really what 99% of us eventually want). Florina also explains the role of PagedLists, PagedListAdapters and so much more.
If you ever wanted to get an overarching view of Google’s first take on implementing the paging library, this is a great starting point. Listen on so you can understand, try it out and then give feedback to Google, to participate in the making of this new library.
- Google Developer Days – Florina’s segment on paging
- Paging library – developer docs
In this episode, Romain Guy from Google gives us the lowdown on a bunch of Hardware related stuff.
He starts off by explaining how the refresh rates on screens matter, what it would mean to have something like a 120Hz display for Android screens, how things like V-Sync and double buffering work, using different screen technologies, how much work is done by the CPU and GPU and so much more.
This was one of those episodes where we tried so hard to hold back for fear of recording for another 2 more hours. Romain is clearly one of the most knowledgable and interesting engineers to talk to today in the hardware land of Android. What a blast!
Screens, refreshing/rednering Color
- Fragmented 91 – Reddit AMA
- Romain on Reddit being spoiled by 120Hz
- What is V-Sync (pcworld.com) and Screen tearing (Wikipedia)
- Three-two pull down technique (filmaking) (wikipedia)
- OLED vs AMOLED (quora.com)
- OLED vs LCD (quora.com)
- Romain Guy’s 2017 IO Talk on Colors fundamentals YOU OWE IT TO YOURSELF TO WATCH THIS!!
In this episode, we talk to Florina from Google about the recently released Database library Room. Room was introduced as part of the Android Architecture components and has been picking up a lot of steam in the community.
Room focuses on being a beautiful api layer to Sqlite. Florina explains to us how we can use Room to create a database, creating entities and how they map to tables using DAOs to access data and even “observe” them. Listen on for more of the details!
- Android Architecture Components
- Room migration docs
- runInTransaction api (which Florina recommended if you’re executing more than one SQL statement and don’t want multiple event fired)
- Google Samples – Android Architecutre Components
- Florina’s Medium blog posts
Micellaneous questions about Room (that we chopped off for lack of time)
Q: Does Room use reflection?
A: There’s only 1 reflection call (at the time of finding the database implementation, when you call Room.builder). Most of the other stuff is generated code (with compile time verification!).
Q: Does Room provide compile-time SQL checks
A: Yes, Room was designed to provide compile-time checks.
Q: Does Room handle SQL injection attacks (security)
Yes … for all practical purposes. See this post for times when it doesn’t.
Q: Do we have tools to access the sqlite database file directly?
Nope, at the moment, adb is your friend. Use that to download the file manually from your device.