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
-
078: Ten Testing Strategies with Michael Bailey
03/04/2017 Duração: 43minIn this episode, Donn sits down with fellow Android GDE, Michael Bailey to cover 10 testing strategies to help you get your application under test and to make sure your testing environment is top notch. They start off with the basics and then progress further down the testing rabbit hole eventually covering topics like cloud-based testing labs, hermetic testing and much much more. This episode will help provide you with a blueprint of how to get your Android app under test and get you to a level where you can develop your app with confidence. The Ten Tips Use Espresso for functional/integration testing Mock data and API endpoints to keep tests hermetic Utilize JUnit JVM Tests and patterns for a fast dev cycle Utilize a git branching strategy and utilize pull requests (PR's) for code reviews Use CI to run the tests and provide constant feedback Speed up testing and ease of testing with shell helpers and helper classes for testing Cloud Testing Services Mutation Testing Thoughts on code coverage & value ba
-
077: Chatting ADB with Genymotion's Eyal Lezmy
20/03/2017 Duração: 54minToday on Fragmented, we talk to Eyal Lezmy. Eyal works as an Android developer for Genymotion. While working for Genymotion he had to deal with the Android Debug Bridge a whole bunch, so in this episode we dive into the details of ADB, some super slick commands and in general just get a better understanding of this tool we use every single day. Show Notes Genymotion ADB - Android Debug Bridge Droidcon NYC - ADB, Break On Through To the Other Side HTC Sooner (juicy non-developer article alert) pidcat (adb logcat tool) Phillipe's ADB IDEA plugin Caster IO - Enabling Fingerprint on the Android emulator helpful commands adb shell input text "keyboard text" adb exec-out run-as package.name cat databases/file > file adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file" Sponsors Rollbar - special offer: Bootstrap plan free for 90 days Contact @eyal_lezmy [twitter.com] @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIs
-
076: Taming the activity lifecycle with Kristin Marsicano
13/03/2017 Duração: 52minIn this episode Kaushik talks to Kristin of Big Nerd Ranch. You would think that the Android lifecycle is pretty standard and basic stuff. But as Kristin begins to unpack the nuances of the Android lifecycle, we learn there's a world of details that's easy to miss. Listen on, to get an ironclad grip on the Activity lifecycle. Show Notes Android programming : The Big Nerd Ranch Guide Activities in the Wild: Kristin at 360AnDev Kristin's Lifecycle diagram (and slides) Notes on opportune moments to do "stuff" in the Android lifecycle Kristin's follow up blog post to the Activity lifecycle Sponsors Rollbar - special offer: Bootstrap plan free for 90 days Contact @kristinmars [twitter.com] @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
075: Effective Java - Item #15
06/03/2017 Duração: 25minIn this mini-Fragment episode, Donn talks about Item #15 of the Effective Java series - Minimize Mutability. You'll learn what mutable and immutable objects are, how and why immutability is a good thing and how you can implement it. Show Notes Ryan Harter's Intro to AutoValue Caster.IO Course on AutoValue Effective Java Book Sponsor Rollbar Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
074: Ben Oberkfell talks Fingerprint API
20/02/2017 Duração: 50minIt's almost a given these days that most phones will have Fingerprint APIs. But how does the hardware actually work? How does the Software work? How does an Android developer make use of these APIs? Ben Oberkfell breaks it down for us in great detail. Listen on! Show Notes NY Times Crossword app Chicken Wing test - ADB Ep 38 Android CDD - Compatibility Definition Document Explaining public/private encryptino Android vs iOS fingerprint Ben's fingerprint demo app Ben's Droidcon NYC 2016 presentation Android hardware keystore Apple's security whitepaper Whorlwind - Reactive fingerprint library courtesy Square Sponsors Rollbar - special offer: Bootstrap plan free for 90 days Contact @benlikestocode [twitter.com] @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
073: Effective Java - Item #14
13/02/2017 Duração: 12minIn this mini-Fragment episode, Donn talks about Item #14 of the Effective Java series - In public classes, use accessor methods, not public fields. You'll learn why it's important to use accessors in your public classes and some caveats to this rule. For example, you may decide that the class is a private inner class or package private. Donn digs into the details in this week's episode. This is a glimpse of what's to come in Item #15, which is coming soon... Show Notes Java Access Control Effective Java Book Sponsor Rollbar Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
072: App Shortcuts with Andrew Orobator
06/02/2017 Duração: 39minIn this episode, we talk to Android developer Andrew Orobator. He gives us the lowdown on the new feature App Shortcuts that was introduced in Android. We talk about static and dynamic shortcuts, use cases for other shortcuts and how to implement them for your app. We also cover what the feature lacks and things to watch out for, while implementing them. Listen on! Fragmented also has spanking new music from the super talented Blueprint: you can find out more at [email protected]. Download directly Show Notes Andrew's Medium posts Introducing Auracle: A queue based music player: Andrew's new music player Implementing Android App shortcuts Andrew's medium posts Best productivity tools for Android developers (another article Andrew wrote) Misc App shortcuts design guidelines Konstellation (Kotlin demo app using App Shortcuts) Sponsors Rollbar - special offer: Bootstrap plan free Contact @fragmentedcast [twitter.com] @aorobator [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsM
-
071: Interview with Raveesh Bhalla
23/01/2017 Duração: 49minIn this episode we change the tune and talk with Raveesh Bhalla; Raveesh is a GDE for design specialized in UI/UX. He starts off by helping us get a good understanding of what UI/UX involves. He then shares his experiences and learnings from having conducted extensive research specifically for Android. What are some good patterns today, what are anti-patterns, what should we watch out for. Listen on to find out more! Show Notes Apps with interesting designs Todoist (Karma points) Swarm Enki Fastfilmz Misc Facebook research medium post: Embarking on international research Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems UC Mobile browser app Google Ventures : The design sprint Sponsor BuddyBuild is a continuous integration and continuous deployment system built specifically for mobile developers. Thousands of development teams love BuddyBuild because it's the fastest way to build, distribute and gather feedback for their apps. Give it a try for FREE at buddybuild.
-
070: An honest discussion about Realm
16/01/2017 Duração: 01h18minIn this episode Donn and Kaushik have an honest discussion about Realm (a client side database). Donn has worked pretty extensively with Realm and even consulted for their Android platform previously. But Kaushik has only recently tried it out on a production app. In this episode they have an honest and frank discussion about using Realm, the advantages, the disadvantages, the gotchas and if it makes sense to use a database like Realm as an Android developer today. Show Notes Fragmented episode with Realm Android developer Christian Melchior Sqlbrite by Square (Reactive SQLiteOpenHelper wrapper) StorIO: wrapper for SQLite or ContentResolver ###Sponsor BuddyBuild is a continuous integration and continuous deployment system built specifically for mobile developers. Thousands of development teams love buddybuild because it's the fastest way to build, distribute and gather feedback for their apps. Give it a try for FREE at BuddyBuild.com Misc Feature: auto updating objects Fragmented episode on GC vs Refere
-
069: Talking Buck with Uber engineer Gautam Korlam (part 2)
09/01/2017 Duração: 27minWe're back with part 2 of our Buck episode. We continue our chat with Uber Engineer, Gautam. We dive into the details of how buck is used, how you can use it and how it can help you and your team. Learn about how to use it with Gradle and more with OkBuck. Show Notes Build systems Buck overview (Facebook/Uber) Bazel (Google) Pants (Twitter) Android test app comparing different build systems [github.com] Misc okBuck (adopting Buck easily) [github.com] Buck - Exopackage Watchman Resources What makes Buck so fast Gautam's talk on okBuck at Droidcon NYC [youtube.com] (Slides) Contact @kageiit [twitter.com] @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
068: Talking Buck with Uber engineer Gautam Korlam
02/01/2017 Duração: 30minWe kick off 2017 talking to Uber Engineer Gautam. In first part of this 2 part series, Gautam talks to us about the Uber Android app, the complexity in the architecture, the scaling challenges, the pain points Android developers faced working on such a massive app. He then goes on to explain how his team (Android Developer Experience) at Uber have approached these challenges and come up with elegant solutions. We then dive head deep into Buck - the build system for Android development, it's advantages and the benefits that the folks at Uber have observed having migrated. Show Notes Build systems Buck overview (Facebook/Uber) Bazel (Google) Pants (Twitter) Android test app comparing different build systems [github.com] Misc okBuck (adopting Buck easily) [github.com] Buck - Exopackage Watchman Resources What makes Buck so fast Gautam's talk on okBuck at Droidcon NYC [youtube.com] (Slides) Contact @kageiit [twitter.com] @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGo
-
067: Cross platform development with Xamarin cofounder Joseph Hill
19/12/2016 Duração: 50minIn this episode, Donn talks with Xamarin cofounder on how one can use Xamarin for Android development. They start off chatting about using Xamarin just for business logic sharing. This Joseph tells us was the original intention for use. They also touch on Xamarin forms which allows you to additionally build UI elements cross platform. Even if you don't use Xamarin or plan to use Xamarin right away, this was a fantastic insight into the platform, from the creators directly. They touch on advantages, how to really leverage the platform and potential downsides. Show Notes Xamarin Developer guides (Joseph mentioned they're particularly proud of this one) Xamarin University Download Visual Studio Xamarin Forms Apps using Xamarin for Code sharing Alaska Airlines Outback steakhouse Notable alternatives: Cordova React Native Contact @josephhill and jhill@microsoft @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
066: Let's talk Immutability, Value Types and AutoValue with Ryan Harter
12/12/2016 Duração: 43minIn this episode, we talk to our good friend and immutability champ Ryan Harter. We start off talking about the benefits and disadvantages of immutability, then we dive into Value types and the subtle difference with Value types. Finally we close out by talking about AutoValue and how you can extend it using the super nifty auto-value extension system for functionality like Parcelability, Json parsing etc. Show Notes About Ryan Pigment (coloring for adults) Fragment (prismatic photography art) (His blog post on the same) Fragmented: Google IO special (Ryan was one of our guests) References Martin Fowler's updated article on ValueObjects Effective Java Fragments: Ep 14: Consider providing static factory methods instead of constructors Ep 31: Obey the general contract when overriding equals Ep 34: Always Override hashcode when overriding equals Methods Count (check number of methods for a library) AutoValue AutoValue AutoValue Builders AutoValue Factory (different from AutoValue Builders) Difference betw
-
065: Developer Platform engineering with Ty Smith
05/12/2016 Duração: 45minIn this episode we talk to Ty Smith about all things Developer Platform. Currently a tech lead at Uber, Ty has quite the illustrious career having worked on some of the biggest names you've heard like Uber, Twitter(Fabric), Evernote, Zagat etc. Unlike regular client app development, Developer Platform spans a variety of interesting topics like building consumable SDKs, building libraries with good APIs, creating Android integrations and App to app communication via components like Content Providers, AIDL Integrations, Intent APIS and deep links. We ask Ty how he got started in this field, how one should go about thinking about it and the interesting challenges that one would run across in this intriguing field. Show Notes Ty's all star Dallas crew Chris Banes [@chrisbanes] previously on FriendCaster Chris Arvin [@ChrisArvinSF] previously on BaconReader Dan Lew [@danlew42] previously on Expedia Matt Wear [parallelcross.com] prevoiusly on Evernote Juan Gomez [@_juandg] on Netflix Developer Platform Tests? A
-
064: Garbage Collection (Android) vs Reference Counting (iOS)
21/11/2016 Duração: 24minIn this mini-Fragment episode, Kaushik talks about the process of Garbage collection and how it compares to Reference counting (which is the equivalent process in iOS). How does each work? What are the differences? Which is better
-
063: Effective Java for Android Developers – Item #13: Minimize the accessibility of classes and members
14/11/2016 Duração: 22minIn this mini-Fragment episode, Donn talks about Item #13 of the Effective Java series - Minimize the accessibility of classes and members. You'll learn why it's important to limit the access on your public API, how it can help you with development and performance. You'll also learn how changing a public API can affect the consumers of your API, for good and bad. Show Notes Java Access Control Effective Java Book Sponsor BuddyBuild Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
062: Effective Java for Android Developers – Item #12: Consider Implementing Comparable
07/11/2016 Duração: 16minIn this mini-Fragment episode, Donn talks about Item #12 of the Effective Java series - Consider Implementing Comparable. You'll learn about how you can use the Comparable interface to give your code the extra sorting boost it needs. Work with Arrays.sort(), Collections utilities and even sorted data structures. Donn breaks down what it takes to implement the compareTo method of the Comparable interface. Show Notes Comparable Interface Effective Java Book Sponsor BuddyBuild Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]
-
061: The state of event bus(es) today
24/10/2016 Duração: 41minThe age old question: should I be using an event bus today? What is an event bus? what are still some good use cases for an event bus? Can i replace an event bus with RxJava? Donn and Kaushik have at it and try to answer this question that gets asked constantly in the AndroidDev circles. Listen on for our take. Show Notes What's an event bus Donn's blog post on event aggregators (event buses) [donnfelker.com] KG's blog post on implementing an event bus with Rx [blog.kaush.co] Libraries Otto - Square's Event Bus library [github.com] EventBus - greenrobot [github.com] Misc Handling GCM messages in the foreground and background by Mark Hudnall [markhudnall.comm] KISS [wikipedia.org] Ep 53: Jake on RxJava 2 [fragmentedpodcast.com] RxRelays [github.com/JakeWharton] Diff change set for converting RxBus to an RxRelay [github.com/kaushikgopal] Caster.io EventBus course - Annyce Davis [caster.io] Sponsors BuddyBuild Contact @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGo
-
060: Smoke and Mirror Android UI tricks with Israel
17/10/2016 Duração: 45minWe talk with Android UI magician Israel. In this episode, Israel does what magicians are never supposed to do, reveal those exciting magic tricks. He talks about tricks you can use in your Android apps to create a super slick UI, citing examples from Google Photos, Twitter and other apps. Dazzle your Android users with these UI tricks. Show Notes Israel's last appearance on Fragmented (Ep 26) [fragmentedpodcast.com] Smoke and Mirros Israel's sample app [github.com] Slides (with animation demos) [photos.google.com] Google Photos Recycler View pinch to expand/shrink [photos.google.com] ClipChildren demo [photos.google.com] Utils method - traverse hierarchy and clip [photos.google.com] Tap image to show full screen [photos.google.com] Misc Nick Butcher's Plaid app [github.com] Android-Job library by Evernote [github.com] Contact @fragmentedcast [twitter.com] @rallat [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
059: Interview with Chiu-Ki
10/10/2016 Duração: 52minWe talk with the all-star multi-talented GDE Chiu-Ki Chan about testing. Specifically, we dive into leveraging Mockito for your testing needs. What is Mocking, what is Stubbing, what are the different test doubles, how does mockito help with this? Listen on to find about that and some more interesting stuff on testing! Show Notes Introducing Pixel [blog.google] Static Gateway Pattern [codebetter.com] About Chiu-Ki: Android Dialogs | youtube [youtube.com] 360|AnDev co-organizer | conference [360andev.com] Technically Speaking| newsletter [tinyletter.com] fake SharedPreferences implementations from AOSP FakeSharedPreferences | fake in-memory SharedPreferences implementation [github.com] BridgeSharedPreferences | empty SharedPreferences that does nothing implementation [github.com] Testing SharedPreferences [gumroad.com] Different kinds of Test doubles Know your test doubles [testing.googleblog.com] [Test Doubles: Mocks, Stubs, and More](https://www.objc.io/issues/15-testing/mocking-stubbing/ http://www.