Fragmented - Android Developer Podcast

Donn Felker, Kaushik Gopal
undefined
Feb 15, 2016 • 38min

028: Tips & Tricks for Android developers

Feast 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] @kaushikgopal [twitter.com]
undefined
Feb 5, 2016 • 44min

027: Talking Realm with Christian Melchior

Realm 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]
undefined
Jan 21, 2016 • 41min

026: LetMeExplainYou AndroidDev like a pro

In 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] @kaushikgopal [twitter.com]
undefined
Dec 28, 2015 • 12min

025: Effective Java for Android developers : Item 7

In 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 dream of these. If an uncaught exception is thrown in a finalizer, it is ignored, and the finalization abruptly terminates. Severe performance penalty for using finalizers - (one e.g.) time to create and destroy simple object goes from 5.6ns -> 2400ns Only valid use: as a safety net or to terminate noncritical native resources. [Android] you're probably better off using Android's lifecycle methods. Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
undefined
Dec 15, 2015 • 13min

024: Effective Java for Android developers : Item 6

Joshua'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]
undefined
Nov 30, 2015 • 35min

023: Android Dev Summit Recap

Donn 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]
undefined
Nov 20, 2015 • 12min

022: Effective Java for Android developers : Item 5

In 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]
undefined
Nov 13, 2015 • 1h 15min

021: Diving Deep with Dagger

In 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.com] @kaushikgopal [twitter.com]
undefined
Oct 26, 2015 • 1h 24min

020: Talking Kotlin with Hadi Hariri

A 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 online : online & interactive [kotlinlang.org] Kotlin in two minutes [youtube.com] Kotlin Slack channel [slack.com] Books: Antonio's book on Kotlin [leanpub.com] Kotlin in Action [manning.com] Kotlin tools Anko [github.com] Kotlin Android extensions [kotlinlang.org] Sample projects with Kotlin Palette Helper [github.com] Cinesapp Android Kotlin [github.com] Kotlin demo [github.com] Misc Killing off Wasabi: Part 1 [fogcreek.com] Killing off Wasabi: Part 2 [fogcreek.com] Awesome picks: Hadi Hariri The collapse of the US-EU Safe Harbor: Solving the new privacy Rubik’s Cube [http://blogs.microsoft.com/] JavaOne Conference [oracle.com] Kaushik Gopal When looking for solutions to a problem, search the source code first before StackOverflow When working on a feature, change your launcher activity (temporarily) to the one you're working on Donn Felker git - assume unchanged [stackoverflow.com] The Martian Audio Book [amazon.com] Antonio's book on Kotlin [leanpub.com] Also check out his blog [antonioleiva.com] Contact us: @hhariri [twitter.com] @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
undefined
Oct 15, 2015 • 7min

019: Effective Java for Android developers : Item 4

Singer 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]

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app