171: Jetpack Compose with Leland Richardson

Download

This week Donn and Kaushik talk to Leland Richardson from the Android team at Google about Jetpack Compose.

Jetpack Compose is declarative component-based UI runtime for Android. With compose you can build your UI with functions in Kotlin to easily “compose” what your UI would look like.

We dive deep in this episode. We talk about the background and influence React had on the project, we dive deep into some of the decisions made regarding the library and much much more…

We hope you enjoy …

Shownotes

Leland’s Contact info:

Fragmented Contact

170: Developer Growth – Public Speaking

Download

In this episode, Donn talks about public speaking and how it can help you grow your career.

He dives in by telling a story of his first speaking engagement and how he was riddled with fear, insecurity, doubt and anxiety. He then talks about why speaking can help you grow your career and life leaps and bounds. He wraps up with possible things you can speak about when starting out as well as where you can get your break into the speaking circuit.

Shownotes

Sponsor

This episode is sponsored by Instabug.
Squash bugs 🐞 in less than a minute with Instabug!

Special offer for all listeners, go to instabug.com/fragmented
Signup for free, install the SDK, and you will get Instabug’s brand new t-shirt!

Contact

169: Testing and JUnit 5 with Marcel Schnelle


Download

Marcel Schnelle joins Donn in this episode to talk about how to get your application under test and some steps to go from scared to confident in your testing process. The second half of the show they dive in deep to JUnit 5 and its new features.

JUnit 5 is backwards compatible with JUnit 4 and offers a slew of new features and extensibility points which make the framework much more appealing going forward. We’re convinced you’ll enjoy this episode and leave wanting to get your app under test – even more than it already is.

Enjoy.

Shownotes

Get ahold of Marcel:

Sponsors 🙏

Contact

168: Learning Kotlin: Lambda Expressions Part 2

Download

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 🙏

Contact

167: Clean Architecture with Joe Birch

Download

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

Get ahold of Joe:

Sponsors 🙏

Contact