
Android
Friday, October 1, 2021
How Android Began
The book "Androids: the Team That Built the Android Operating System" tries to answer the question: Why did Android succeed? Along the way, it explores the stories of the people that created the OS.
This session will do likewise, sharing some of the stories of that early team and culture and trying to give some sense of how, against all odds, Android managed to survive to where it is now available on over 3 billion devices today.
Automating Android Workflows with Github Actions
When talking about CI/CD products, Github Actions is the new kid on block. It has been attracting a lot of attention from Engineers given its seamless integration with Github and is not surprising that it has been quickly adopted both at open-source projects and private-source projects, with Android being no exception on that!
In this talk we'll review the fundamentals of Github Actions as a CI/CD platform and learn how to make the most of it when designing and implementing automations for Android projects. We'll learn about particularities and limitations we can find when moving a big Android project over Github Actions and review some of the common solutions we have around for Android-specific use cases.
Dev Community Slack: Discussion and Q&A
“From 0 to 98: Speed up your Testing with DaggerMock and Live Kaspresso”
Untested code gets you on the road, but it will eventually slow you down. The prototype-to-production pipeline doesn’t always have the luxury of test-driven development. As a result, some production code has very low unit test coverage.
In this talk, you’ll learn how to use the new Espresso/UI-Automator based Kaspresso in unique ways to quickly stand up live, automated integration tests and keep production code reliably moving forward while your pit crew slowly builds up unit test coverage to 98 percent. You’ll learn how to use DaggerMock to migrate most of these live tests over time to more reliable mock integration tests. This talk will include a live demonstration, so fasten your seatbelts!
Demystify and Optimize Your Android Gradle Builds
Gradle, and the Android Gradle Plugin, are the backbone of most Android projects today. They are also the source of much frustration for dev teams wishing their builds were faster or easier to work with.
This talk aims to demystify your Android build by helping you understand how Gradle works, what happens when you build your project, and how to start optimizing your build for increased developer productivity.
During this talk, we’ll focus on a few key areas including
- The difference between Gradle and Android Gradle Plugin
- What happens when you run a Gradle task
- How to investigate your project’s build performance
- Performance optimizations
By the end of the talk, you should better understand what happens when you build your Android app, and be equipped to start optimizing your builds for faster builds and happier developers.
Practical tips for CI/CD success for Android
Android teams often have to build and maintain their own CI/CD pipelines. This at first seems straightforward to implement and maintain. Yet it can often quickly become a tedious time sink and a source of universal frustration on many teams. From flaky builds, to long running builds, to flaky long running builds, the sources of frustration are endless. With the goal to ship more and faster as well as to compete in an ever changing industry, we can (and must) do better.
This talk will cover best practices for performance, stability, security, and maintainability of CI/CD pipelines with a focus on developing for Android, each supported with practical examples and counterexamples.
Android Study Jam: Build Your First Android App
New to mobile development? Learn how to build Android apps during this Android Study Jam event!
Equipment Needed:
- Computer (ideally with Android Studio already installed)
- (optional) Android device & USB cable
Dev Community Slack: Discussion and Q&A
ConstraintLayout for Compose and Beyond
CL for compose 1.0 introduces new concepts such as the json declaration of your UI and live edit. We intend to build upon this a cross platform UI component with similar capabilities, from layout to motion.
This talk will cover ConstraintLayout Compose 1.0 featuring MotionLayout & ConstraintLayout, and the new json syntax that will be available on Compose, Compose Desktop, Swing and Android Views. We will also cover our new remote editing app "Link" and how you can use it to create and edit rich interactive user interfaces.
How we built a production-ready Chat SDK using Jetpack Compose
In this session, we'll talk about how we built the world's first Jetpack Compose Chat SDK, what challenges we met along the way and why put so much trust into a technology that only recently became stable.
We'll talk about the API design and what decisions we've made to allow for both default behavior and UI and a rich set of customization options.
Dev Community Slack: Discussion and Q&A
Creating an API with Strapi hosted on Heroku with Firebase Auth using Jetpack Compose and SwiftUI
In this talk, we will show you how you can create a self hosted API using Strapi deployed on to Heroku. We will first cover how you create Strapi locally. Then we will show you how you can deploy to heroku. Once the API is deployed we will show you how you can bring the API into a Jetpack Compose and SwiftUI project.
Migrating a large-scale banking app to Compose
The Android community adopts Jetpack Compose more and more each day. But what about our existing apps? Adopting existing apps to Jetpack Compose might be an overwhelming task when the migration is not planned well.
In this talk, we will see the Compose migration strategy used in DNB. We will briefly talk about the interoperability APIs and how they are used in this migration process. We will also talk about how we are adopting our internal design system to Jetpack Compose. Finally, we will discuss the challenges we faced during this migration.
Overview of UI testing in Compose
Jetpack Compose has no views, so how do we test it? Come learn about the basics of UI testing in Jetpack Compose.
Dev Community Slack: Discussion and Q&A
A page out of server driven UI
This talk emphasises how and why building Android apps using a concept called Server Driven Architecture for our UI layer is so important and current hot-topic. We take a look at multiple offerings such as JetPack Compose or Epoxy (Airbnb's library) and we then take a look at some tips and tricks to navigate the code from start to finish.
The new jetpack register for activity result API
Android docs now recommend using this new registerForActivityResult API in favor of the old one, onActivityResult, we can dive deep into how this new API has made part of development seamless. Also, one can define a custom contract so that the consuming app can get results as a sealed class rather than as an intent.