Best of Android โ€” June 2024

  1. 1
    Article
    Avatar of medium_jsMediumยท2y

    Kotlin MultiPlatform (KMP)

    Learn about setting up the environment for Kotlin MultiPlatform development, the structure of a KMM project, and using coroutines in iOS.

  2. 2
    Article
    Avatar of hnHacker Newsยท2y

    niedev/RTranslator: RTranslator is the world's first open source real-time translation app.

    RTranslator is a nearly open-source, offline real-time translation app for Android. It allows seamless conversation translation using Bluetooth headsets and phones, ensuring privacy by running AI models directly on the device. The app supports multiple languages and works in various modes, including conversation and walkie-talkie. It requires at least 6GB of RAM for optimal performance. The app is free, with no need for configuration, using Meta's NLLB for translation and OpenAI's Whisper for speech recognition.

  3. 3
    Article
    Avatar of androiddevAndroid Developers Blogยท2y

    Android Device Streaming, powered by Firebase, is now in Beta

    Android Device Streaming, powered by Firebase, allows Android developers to access real physical devices, such as the latest Pixel and Samsung devices, through Android Studio. It provides secure connections and familiar tools for testing and debugging apps on real OEM hardware. The service offers a catalog of devices with flexible pricing options, and future updates will expand device selection.

  4. 4
    Article
    Avatar of medium_jsMediumยท2y

    Kotlin Lazy vs Lateinit Explained

    The post explains the differences between lazy and lateinit property initializers in Kotlin. Lazy initialization is used for immutable properties (val), ensuring they are initialized when first accessed, which can help with resource management. Lateinit is used for mutable properties (var) and must be initialized before use to avoid runtime exceptions. The post also discusses when to use these initializers, provides code examples, and touches on advanced concepts like using delegates for primitive types.

  5. 5
    Article
    Avatar of medium_jsMediumยท2y

    Android Studio โ€” Show Color and Icon Previews in Autocompletion

    At Getcontact, leveraging the Kelp plugin for Android Studio enhances developer experience by showing previews of colors, icons, and components in autocompletion. This includes dark and light color previews, icon previews, customizable icons for functions, and shared live templates. The setup involves installing the Kelp plugin, configuring the color and icon previews, and adding shared live templates to a `config.json` file stored in Git.

  6. 6
    Article
    Avatar of androiddevAndroid Developers Blogยท2y

    3 fun experiments to try for your next Android app, using Google AI Studio

    Discover how to use Google AI Studio and the Gemini model to enhance your Android app development. Learn to transform UI designs into Jetpack Compose code, fix UI issues with targeted prompts, and integrate new features like a recipe helper using simple AI prompts. The post highlights experimentation with AI, the importance of developer oversight, and encourages sharing and collaboration within the Android development community.

  7. 7
    Article
    Avatar of pandProAndroidDevยท2y

    ๐Ÿฅณ Finally! โ€” Working Samples ๐Ÿ“š in Android Studio

    Learn how to display source code samples in Android Studio, similar to how Google does it in their material for compose library. Keep samples up-to-date by adding the samples module as a dependency to the demo app module. Consider adding images to KDoc of samples for better visualization.

  8. 8
    Article
    Avatar of pandProAndroidDevยท2y

    What is faster and in which tasks? Coroutines, RxJava, Executor?

    The post compares the performance of coroutines, RxJava, and Executor in various multithreading scenarios using Android tools. It evaluates different test cases, including single threads, CPU-bound tasks, and I/O-bound tasks. The results show that for simple tasks, direct invocation is the most efficient, while Executors and RxJava perform better for more complex operations. The author concludes that for I/O operations, the choice between frameworks based on performance is less critical, and emphasizes ease of use and other factors instead. They recommend using direct invocation for simple tasks and coroutines with Dispatchers.IO for more complex operations.

  9. 9
    Article
    Avatar of pandProAndroidDevยท2y

    App Architecture: Deeplinks

    This post explains how to add deep link support to your app using the Clean Architecture approach. It covers the implementation of the Domain, Data, and Presentation layers, as well as the different types of deep links and their parsing logic.