Fragmented - Android Developer Podcast cover image

Fragmented - Android Developer Podcast

Latest episodes

undefined
Jul 8, 2019 • 22min

168: Learning Kotlin: Lambda Expressions Part 2

In this episode, Donn continues his talks about Kotlin Lambda Expressions. He explains how you can use lambda expressions as function parameters and as return types for functions. This is a very dense episode - if you get lost look at the code snippets below or view on them on fragmentedpodcast.com class LogReader { fun processFile(file: File, processLine: (String) -> Unit = {}) { file.forEachLine { println("Number of Chars: ${it.length}") processLine(it) println("Line Done Processing") } } fun processFileWithHandlers(file: File, logHandler: LogHandler) { file.forEachLine { println("Start of Processing") logHandler.handleLine().forEach { handler -> handler(it) } println("Line Done Processing") } } } interface LogHandler { fun handleLine(): List<(String) -> Unit> } val reader = LogReader() val textFile = File("/Users/donnfelker/scratch/lorem.txt") // Process with single lambda reader.processFile(textFile, { println("First 10 Chars: ${it.substring(0..9)}") }) val logHandler = object : LogHandler { override fun handleLine(): List<(String) -> Unit> { return listOf<(String) -> Unit>( { line -> println("${line.substring(0, 1)}") }, { line -> println("${line.substring(2, 4)}") }, { line -> println("${line.substring(5, 10)}") } ) } } // Process with multipe handlers via the logHandler reader.processFileWithHandlers(textFile, logHandler) Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
undefined
Jul 1, 2019 • 50min

167: Clean Architecture with Joe Birch

Donn sits down with Buffer Android Lead, Joe Birch. Joe is a GDE for Android, Google Actions, Flutter and Google Pay. In this episode Donn and Joe talk about Clean Architecture, what it is, and why you might want to use it. They break down the concept of what Clean Architecture is in a manner that is easy for even a beginner to understand. Enjoy. Shownotes Caster.IO Course [Uncle Bob Clean Arch]https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Buffer Clean Architecture BoilerPlate Chord Assist Guitar Get ahold of Joe: Joe Birch Twitter Joe Birch Instagram Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
undefined
Jun 24, 2019 • 45min

166: Cross platform development talk with Jesse Wilson

Kaushik decides to hit record on a skype call he has with friend of the show Jesse Wilson. They start off by discussing building features across different platforms today. Jesse talks about a clever mechanism of using javascript to change logic on the fly across the Square cash app, that's worked out pretty well. They then go on to discussing how one can try and converge across platforms in terms of business logic, architecture, naming etc. They then wind it down by discussing the state of Flutter, Kotlin multiplatform and reaching the promised land. Enjoy. Shownotes objc.io Kevin Galligan Alec Strong Egor Andreevich Sponsors 🙏 Instabug Instabug completely takes care of your beta testing and user feedback process so you can debug, fix, and improve your app quality faster. They're giving Fragmented listeners a special bonus when you go to instabug.com/fragmented - Signup for free, install the SDK, and you will get Instabug's brand new t-shirt Contact @jessewilson @chrismlacy @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
undefined
Jun 17, 2019 • 16min

165: Learning Kotlin: Lambda Expressions Part 1

In this episode, Donn talks about Kotlin Lambda Expressions. He explains the syntax and how to build a couple of simple lambda expressions with and without type inference and declaration. We wrap up with a small example of passing a small lambda with multiple values to a function. See the show notes below for more info. This is part 1 of a multi-part series on Lambda Expressions in Kotlin. The basic syntax of a lambda expression: val myLambda : Type = { argumentList -> codeBody } The codeBody is the only section that is not optional. Double lambda expression (doubles an integer) with type inference val double = { number: Int -> number * 2 } val result = double(4) // result = 8 now Double string multi-line lambda with type inference. val doubleString = { number: Int -> // codebody val doubleResult = number * 2 doubleResult.toString() // Kotlin knows this will return a string } Type declaration in a lambda val myLambda: (String, Int) -> String = { str, int -> "$str - ${int.toString()}" // "Donn - 32" } val result = myLambda("Donn", 32) // result = "Donn - 32" Preview of next week … passing a lambda to a function fun doWork(name: String, favoriteNumber: Int, someLambda: (String, Int) -> String) { // Do some processing, this is a contrived example val repeatedString = "$name$name" val result = someLambda(repeatedString, favoriteNumber) println(result) } // Usage doWork("Donn", 32) { str, int -> val someNewValue = "$str is my parameter and so is $int" someNewValue.length.toString() // this is returned } // '37' is printed via println // Or use it like this, the lambda code body is what can change, this is where the power is at doWork("Donn", 32) { name, count -> var result = "" for(i in 1..count) { result += "$name" } result // this is returned } // loops over and concatinates "Donn" until the favorite number (aka count) is met. // Output looks like: "DonnDonnDonnDonnDonnDonn..." and so on...
undefined
Jun 10, 2019 • 21min

164: Learning Kotlin: Sealed Classes

In this episode, you'll learn all about Kotlin Sealed classes. Donn walks you through what they are, how to create them, how to use data classes, objects and regular classes to create a restricted type hierarchy. Kotlin Sealed Classes Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
undefined
Jun 3, 2019 • 39min

163: Parallelize Your Espresso Tests with Flank w/ Matt Runo

In this episode, Donn talks to Matt Runo about the Flank project. Using Flank you can run your Espresso test suite in parallel on Firebase Test Lab (FTL). This allows you to lower your feedback loop time and increase developer productivity and throughput. You'll learn all about Flank, how it works and how to get started in this episode. Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
undefined
May 27, 2019 • 53min

162: Catching up on Google IO 2019

Shownotes Digital trends: Comparing Pixel 2, 3 and 3A Google Activity tracking Google Activity tracking Controls Flutter for Web New navigation paradigm in Android Q What's new in Android Deveopment Tools - Torr's IO talk Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram) Sponsors 🙏 Instabug - Instabug is an SDK that completely takes care of your beta testing and user feedback process so you can debug, fix, and improve your app quality faster. Go to instabug.com/fragmented, signup, install the SDK, and you will get their brand new t-shirt and a 14-day free trial.
undefined
May 20, 2019 • 59min

161: Machine Learning on Android with ML Kit and TensorFlow with Dan Jarvis

In this show, Donn talks with Dan Jarvis about Machine Learning on Android with ML Kit and Tensor flow. They dive deep into what ML (Machine Learning) is, what you need to know as a developer and how to apply those things to build ML applications on Android. They tal about what you can do on Android in regards to ML, model training and running the models on the device. You may be wondering if you should include the model in your app or if it should live on a server, that's discused as well and the reasons for it. They wrap up the show with some examples of what you could build and some great resources to get you started. Enjoy Shownotes What Can Machine Learning Do? ML Kit ML Kit Demo Video ML Kit Quickstart Image Labeling Example Custom Models How Does Prisma Work? Cucumber Example Tensorflow Demo Apps Inside AI Newsletter TensorFlow Lite TensorFlow Lite (TF Dev Summit '19) - [VIDEO] Custom On-Device ML Models with Learn2Compress Microcontoller Support Face Generation DroidCon NYC Applied Tensorflow iN Android Apps Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Contact Dan Jarvis on LinkedIn, Medium or GitHub Donn Felker - @donnfelker (Twitter) and donnfelker (Instagram) Kaushik Gopal - @kaushikgopal (Twitter) and kaushikgopal (Instagram) Fragmented on Twitter: @fragmentedcast Our YouTube channel Join thousands of other developers on our free chat server. Ask questions, answer questions, be part of the community at our The Fragmented Discord chat
undefined
May 13, 2019 • 12min

160: Increase App Engagement with Android Q

With the release of Android Q we now have the settings panel and all its glory. This panel, while most likely overlooked as a minor feature, is actually a diamond in the rough. Why? Simply because it's going to lower the abandonment rate of your app and increase the engagement of your app at the same time. Donn talks about this in depth in this episode. Enjoy. Shownotes Android Q Features Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
undefined
May 6, 2019 • 52min

159: Improve Your App with the Android Material Components (feat. Cameron Ketcham & Connie Shi)

In this show, Donn and Kaushik talk to Cameron Ketcham and Connie Shi from the Android Material Components team at Google. The Android Material Components are material designed components that you can easily drop into your application with just a few small tweaks. You get a bunch of fully built out material components, from the Android Material team at Google. From Chips, to Cards, to Buttons and much much more ... the goal is to enable you to build your application faster when using these components. Donn and Kaushik talk to Cameraon and Connie about the components and how to use them in this episode. Enjoy Shownotes Material.io Website Android Material Components Material Components GitHub Tasks App Developer Tutorials AndroidDev Summit Talk Material Theme Editor Sponsors 🙏 sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/ Contact Contact Cameron and Connit at - GitHub Issues, StackOverflow Donn Felker - @donnfelker (Twitter) and donnfelker (Instagram) Kaushik Gopal - @kaushikgopal (Twitter) and kaushikgopal (Instagram) Fragmented on Twitter: @fragmentedcast Our YouTube channel Join thousands of other developers on our free chat server. Ask questions, answer questions, be part of the community at our The Fragmented Discord chat

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