Sinopse
The Fragmented Podcast is a podcast for Android Developers hosted by Donn Felker and Kaushik Gopal. Our goal is to help you become a better Android Developer. We chat about topics such as Testing, Dependency Injection, Android Patterns and Practices, useful libraries and much more. We will also be interviewing some of the top Android Developers out there. Subscribe now and join us on the journey of being an Android Developer.
Episódios
-
038: What Android Devs Need to know about N
02/05/2016 Duração: 34minIn this episode, Donn and Kaushik look at the Android N developer preview. They highlight the biggest changes that you as an Android Developer should keep an eye out for. There are tonne of features in N, so listen to this episode to get the highlights. Show Notes First preview of Android N: Developer API & Tools [android-developers.blogspot.com] Instruction for setting up your dev environment for the N preview (~=> Lambda support) [developer.android.com] Java 8 Language features [developer.android.com] ADB episode : 45 State of the Art Lambdas do not retain enclosing reference (unless really needed) commit note on Jack toolchain [android.googlesource.com] JacklrBuilder source createMethodInfoforLambda [android.googlesource.com] RxJava Android Samples using lambdas [github.com] javap - The Java class file Disassembler [docs.oracle.com] Issue tracking Annotation processing options in Jack [code.google.com] Other Java 8 language features for N [developer.android.com] Android MultiWindow features [de
-
037: Decompress 1 : Xcode, Fonts sizes, Testing and yes Agera!
25/04/2016 Duração: 39minIn this very first edition of our Decompress episode we talk about life being code as an Android developer, some Xcode hating, Testing woes and the intensly discussed library that Google recently released Agera! Shownotes: Agera Sponsor Hired - special offer: double your accepting bonus $2000
-
036: Working Remotely
18/04/2016 Duração: 23minIn this mini Fragment we touch on a highly requested topic - working remotely. Donn talks about how to ease into remote working, tools for working remotely, tips and tricks for staying sane and productive while remote and he wraps it up by discussing the benefits employers have when hiring a remote workforce. Show Notes Remote work is best suited for information workers (programmers, designers, engineers, etc) Read Remote by DHH and Jason Fried Great book that echoes what I feel about working remote. Tip: Listen to it on Audible, it's faster to consume. How to ease into remote work at your current job Convince manager to allow a 1 day trial for one - three months. Remote day should be on Friday (fewer critical things happen on Friday, on average) After trial, if success, aim for 2-3 days of remote work. (Again, do this at the end of the week. Wed,Thu, Fri) Once successful, rally for full week of remote with an occasional in office visit (a day every week work two) Staying sane while working remote Do
-
035: Vector drawables for Android
11/04/2016 Duração: 14minIn this mini Fragment we touch base on all the things you need to know about Vector drawables for Android development. How one can use it today, the recommended usage for vector drawable and formats, the limitations and everything else you need to know as an Android developer. Show Notes Vector Drawable [developer.android.com] Trello's Victor [github.com] What's our Vector Victor [youtube.com] Android Studio 1.4 release (with Vector Asset Studio announcement) [android-developers.blogspot.com] Support library announcements Android Support Library v23.2 [android-developers.blogspot.com] Vector Drawable backported Ian Lake also gives us the instructions in this post 9% of AAR saved on AppCompat [chris.banes.me] Android Support v23.3.1 announced [plus.google.com] Vector Asset Studio [developer.android.com] Animated Vector Drawable AnimatedVectorDrawable [developer.android.com] Chiuki on Animated Vector Drawables [sqisland.com] Road Runner library [github.com] see youtube demo [youtube.com] Problems
-
-
033: Talking Gradle with GDE Annyce Davis
28/03/2016 Duração: 40minIn this episode we talk Gradle with the amazing and awesome Annyce Davis. We deal with the basics of Android's build system and dabble with some tips on improving your build times. Also we released our first ever Fragmented T-shirt in collaboration with another amazing GDE Taylor Ling of AndroidTee fame. Show Notes Annyce's talk where she mentions Cyclomatic complexity [youtube.com] OffGrid Electric Corey Latislaw on TDD and Testing [fragmentedpodcast.com] Annyce Davis' Caster.io videos DAG: Directed Acyclic Graph [wikipedia.org] DAG discussion on Fragmented - Seek to 18:35 What commands does Andorid Studio's gradle aware make perform? [stackoverflow.com] MakeBeforeRunTaskProvider source [android.googlesource.com] Creating a Gradle Plugin Use apply from in gradle to include external files Learn Groovy Gradle dry run flag [docs.gradle.org] Madis Pink - Optimizing gradle build time : Droidcon Paris [youtube.com] Annyce's talks & videos: Be a good citizen: Develop Maintainable apps [youtube.com] Caster
-
032: Making sense of Android Support Library version numbers
14/03/2016 Duração: 12minThe Android Support library framework is the biggest boon to Android developers. But how does one makes sense of the different versions and revisions available? In this fragment we try to address that question. Show Notes Introducing AppCompat V21 [android-developers.blogspot.com] [android-developers.blogspot.com] Prev episode with Mike Wolfson [fragmentedpodcast.com] Android Support Library - "Revision" changelog [developer.android.com] Revision vs Version [stackoverflow.com] Introducing Design Support Library Command to see dependency graph: ./gradlew -q app:dependencies Seinfeld Auditions Contact Fragmented Spec channel (sign up at the bottom) @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com] Contact email form
-
031: Effective Java - Item 8
07/03/2016 Duração: 14minIn this mini Fragment, we introduce Joshua's eighth Item. This one is a doozy, probably one of the longest items in the group of the effective Java series, but most definitely quite important. This episode is brought to you by Rollbar. Go to rollbar.com/fragmented to get their Bootstrap plan for free for 90 days. Stay tuned for more items from our "Effective Java for Android developers" Fragment series. Show Notes Effective Java (2nd Edition) - Joshua Bloch Obey the general contract when overriding equals When to not override equals: Each instance of the class is inherently unique. You don't care whether the class provides a "logical equality" test. A superclass has already overridden equals, and the superclass behavior is appropriate for this class. The equals method implement an equivalence relation which states it must be: Reflexive Symmetric Transitive Consistent For any non-null reference x, x.equals(null) must return false. A recipe for a high-quality equals method is as such:
-
030: Material Design for developers with GDE Mike Wolfson
29/02/2016 Duração: 43minIn this episode we talk to Material Design Master and Google Developer Expert Mike Wolfson. What does Material design mean to us developers? How does one use the numerous support libraries to help with this? What widgets should and shouldn't we be using? Listen to the show and find out. Show Notes Material Design - Official site Material Design - The Specification Google Color Palette - list of "approved" colors Google Color Palette Library - picking colors from an image Android Support Lib 23.2 video [twitter.com] Resource for getting better at Material Design: Materialdoc.com - curated blog post for developers Android Historian - Mike's Material Design demo PSD resources - Up Labs [materialup.com] Official PSD layout templates Official Material Design Icons DroidconNYC 2015: Material design everywhere using the Android Support Libraries - Mike's talk Sponsors Rollbar - special offer: Bootstrap plan free for 90 days [rollbar.com/fragmented] Contact Mike Wolfson: Twitter Google+ mikewolfson.
-
029: All about the infamous 65,536 dex method count
22/02/2016 Duração: 08minIf you've been an Android developer in the last 2 years, you must have seen this dreaded exception: dex: method ID not in [0, 0xffff]: 65536 Quick googling would immediately bring up the phrase "65K method count" and the recommended solution "multi-dexing". But if you want to really understand this mysterious number and the reason behind its existence, listen on! Show Notes Official Dalvik specification [source.android.com] (look for invoke- prefix methods) Android and the Dex limit (great post) ADB Ep 11 : ART, pART 2 (Trash Talk) (discussion on ART) MultiDexing [developer.android.com] (solution to your 65K method count woes) Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
028: Tips & Tricks for Android developers
15/02/2016 Duração: 38minFeast yourselves to a grand bonanza of tips and tricks with this episode! Donn and Kaushik talk about the tips and tricks they've picked up over the course of 2015. Android Dev Summit demo - Structural replace [youtube.com] Software Design patterns [wikipedia.org] Reformatting code: Reformatting Source code [jetbrains.com] Reformat dialog [jetbrains.com] (only VCS changed text) Library dependency management: JitPack (publishing jvm and android libraries) Internal library dependency managment - Kelly Shushter Hadi Hariri on Fragmented Ep 20 talking Intellij shortcuts Using UiAutomatorViewer to help write espresso tests - Ep. 23: Caster.io [caster.io] git pre-commit hook [gist] Intellij - work with embedded Terminal [jetbrains.com] (yes, you can customize btw zsh/bash) KG's Update script - morning ritual [gist] Cyril on Grid Spacing on Android [cyrilmottier.com] (showdividers/divider) Tor's issue on maven vs jcenter [code.google.com] Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaus
-
027: Talking Realm with Christian Melchior
05/02/2016 Duração: 43minRealm pro and overall genius Christian Melchior joins us in this episode to talk about all things Realm. Show Notes Realm.io for Java/Android Martin fowler on schema-less github issue on extending Realm Object Caster.io video tutorial - Intro to Realm for Android Devs Christian's talk at Droidcon NYC 2015 [youtube.com] Contact @chrmelchior [twitter.com] @realm [twitter.com] @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
026: LetMeExplainYou AndroidDev like a pro
21/01/2016 Duração: 41minIn this episode Donn and Kaushik chat with the one and only Israel Ferrer Camacho (@rallat). They discuss a talk Israel gave sometime back on "Android development like a pro", exchanging war stories on patterns like MVP, MVVP clean architecture etc. Show Notes Rallat's slides [pdf] Rallat's sample repo using different patterns [github] Burrito Design Pattern [twitter.com] Working Effectively with Legacy Code [amazon.com] The Clean architecture [blog.8thlight.com] Uncle Bob's talk on Vimeo Awesome Picks: Rallat: Rallat's tweet on Dagger 2 & Scope Provider Music for the week! The Weeknd Cmd Shift A - one shortcut to rule them all Donn: Philly ETE (April 11/12) (Donn's giving a talk) Life is Short [paulgraham.com] 7 videos on UI Testing and TDD with Espresso : Caster.IO Kaushik: Create a pared-down "lite" version of the app Pancakes library - alternative to Fragment Manager for views Contact @rallat [twitter.com] @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgop
-
025: Effective Java for Android developers : Item 7
28/12/2015 Duração: 11minIn this mini Fragment, we introduce Joshua's seventh Item and a momentous end to the first chapter: Avoid finalizers Stay tuned for more items from our "Effective Java for Android developers" Fragment series. Show Notes Effective Java (2nd Edition) - Joshua Bloch Avoid finalizers If you don't know what they are, ignorance is bliss. If you know what they are, avoid them! Finalizers in Java != destructors in C++ (C++ counterparts to constructors). In C++ destructors you reclaim resources here (Java has GC) you also reclaim non-memory resources (use the try-finally block in Java) (unpredicatable amt of time between object becoming unreachable and finalizer being executed) Never do anything time critical in finalizer! System.gc + System.runFinalization increase chances - no guarantee System.runFinalizersOnExit + Runtime.runFinalizersOnExit are the ones that do - but they are fatally flawed Java 7 has try with resources, which is also interesting and auto-closeables. [Android] devs can only drea
-
024: Effective Java for Android developers : Item 6
15/12/2015 Duração: 12minJoshua's sixth Item: Eliminate obsolete object references , in a distinctively croaky voice. Stay tuned for more items from our "Effective Java for Android developers" Fragment series. Show Notes Effective Java (2nd Edition) - Joshua Bloch Eliminate obsolete object references Supplemental reading (for the diligent ones that follow shownotes) Do click listeners leak memory? [stackoverflow.com] Square's LeakCanary How to leak a context - Handlers and inner classes [androiddesignpatterns.com] Avoiding Memory leaks [android-developers.blogspot.com] Contact: @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
023: Android Dev Summit Recap
30/11/2015 Duração: 35minDonn and Kaushik cover the happenings of Google's very first Android Developer conference - "Android Dev Summit". Together, they attended the conference both virtually and physically! Listen on for the highlights. Android Dev Summit Schedule AndroidDev Twitter account Sessions Android Dev Summit 2015 Keynote [youtube] Android Studio for Experts [youtube] Android Testing [youtube] Firechat - Framework team [youtube] Firechat - Android Tools and Testing team [youtube] Sample projects Android Topeka [github] Android Bootstrap [github] u2020 [github] Google code labs + github link Contact us: @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
022: Effective Java for Android developers : Item 5
20/11/2015 Duração: 12minIn this mini Fragment, we introduce Joshua's fifth Item: Avoid creating unnecessary objects. Stay tuned for more items from our "Effective Java for Android developers" Fragment series. Show Notes Effective Java (2nd Edition) - Joshua Bloch Avoid creating unnecessary objects Google says - Avoiding creating unnecessary objects too Episode 10 with Michael Bailey - String optimization Snippet to demonstrate AutoBoxing problems // sum of all positive values Long sum = 0L; for (long i=0; i Integer.MAX_VALUE; i++) { sum+=i; } Contact: @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
021: Diving Deep with Dagger
13/11/2015 Duração: 01h15minIn this episode, Kaushik and Donn dive deep into the Dependency Injection library - Dagger. We have a cameo by Dagger creator Jesse! Show Notes In other news Donn in a Banana Suit KG as a Storm Trooper AndoridTO 020 – Talking Kotlin with Hadi Hariri Google entering podcast scene and we're on it Dagger Topological Sort Jesse Wilson Cameo Dagger Linker class Jesse's MiniGuice proof of concept Avoiding injects with library Assisted Injection for Dagger AutoFactory caster.io Activity Test Rule Other great references Jake Wharton - Architecting Android Applications with Dagger Awesome picks: Donn's picks: Dagger 1 [caster.io] Intro to RxJava for Android Developers [caster.io] Intro to Realm for Android Developers [caster.io] Custom Silicone earbuds [howtogeek.com] DHH - Reconsider [medium.com] KG's picks: Cold start illusion [github.com] Song Exploder - House of Cards [songexploder.net] Song Exploder - Game of Thrones [songexploder.net] Contact us: @fragmentedcast [twitter.com] @donnfelker [twitter.co
-
020: Talking Kotlin with Hadi Hariri
26/10/2015 Duração: 01h24minA tonne of folks have been asking for a show on Kotlin. We got the best person in the business to take us through what could possibly be our new hope. Show Notes No tabs in Intellij [hadihariri.com] Jetbrains products Java - IntelliJ .Net - ReSharper CI server - TeamCity Issue tracking - YouTrack Smaller IDES Web/Node.js - WebStorm Python/Django - PyCharm Ruby/Rails - RubyMine C++ - CLion ObjectiveC - AppCode Hadi's 3 tips for Intellij Don't use the Mouse! Mouseless driven development [vimeo.com] Cmd Shift A - look up other commands Don't use the Find box to find things: Prefer shortcuts like Cmd O/Cmd Shift O Kotlin Kotlin - An open source JVM targeted language Jake's doc on Using Project Kotlin for Android [docs.google.com] Execution in the kingdom of nouns [blogspot.com] Kotlin : a new hope - talk by Michael Pardo [realm.io] Tony Hoare saying Null is his Billion dollar mistake [wikipedia.org] Getting started with Kotlin Kotlin Tutorials [kotlinlang.org] Kotlin Koans [kotlinlang.org] Try Kotlin o
-
019: Effective Java for Android developers : Item 4
15/10/2015 Duração: 06minSinger and Android developer Donn Felker explores Joshua Bloch's fourth Item: Enforce noninstantiability with a private constructor. Stay tuned, cause we got more of these quick ones coming. Effective Java (2nd Edition) - Joshua Bloch Enforce noninstantiability with a private constructor. Examples where you don't want class to be instantiated class that groups static methods and static fields (Util like classes think java.lang.Math/java.util.Arrays) class that groups static methods (including factory methods) for objects implementing specific interfaces (think java.util.Collections) class that group methods on a final class (vs. extending the class) Considerations Makes no sense to instantiate such "Util" classes Private constructors prevent instantiation Important side effect: prevents subclassing Contact us: @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]