Best of Android — August 2024
- 1
- 2
ProAndroidDev·2y
Creating Pixel-Perfect UI with Jetpack Compose
Creating consistent UI across different Android devices can be challenging due to varying display resolutions and user-adjustable display settings. Jetpack Compose, combined with the 'aDp' library, offers a solution for achieving pixel-perfect UI. The library scales dimensions according to the device's settings, ensuring design consistency. It also includes 'aSp' for fonts to handle changes in text size settings.
- 3
InfoWorld·2y
Why I don’t buy Apple products
Apple products are well-engineered and user-friendly, appealing especially to non-technical users. However, the author prefers Windows and Android due to their flexibility, lower cost, and customization options. Concerns include Apple's closed ecosystem, privacy practices, developer restrictions, and the high App Store take rate. Despite recognizing Apple's success and innovation, the author finds these issues too significant to overlook.
- 4
- 5
ProAndroidDev·2y
The best way to load data in ViewModels
Loading data into ViewModels is a complex task that involves managing states such as loading, success, and failure. A simplified and reactive approach is proposed using Kotlin's Flow and StateFlow. This method also includes handling data from memory, adding a refresh function, and dealing with side effects. The article provides a comprehensive solution with example code and a GitHub repository link for further reference.
- 6
Hacker News·2y
How I turned an old phone into a NAS
Transforming an old Android phone into a basic NAS for file sharing is quite feasible. Using MiXplorer, you can host servers on the phone, facilitating easy file transfers and backups. For more advanced capabilities, you can root the phone and deploy Docker containers to host applications like Nextcloud. While it's not a replacement for a full-fledged NAS, it's a fun and useful project for tech enthusiasts.
- 7
Android Developers Blog·2y
Android Device Streaming: Announcing Early Access to Samsung, Xiaomi, and Oppo Device Labs
Announced at Google I/O 2024, Android Device Streaming in open beta allows developers to test their apps on real devices remotely via Android Studio. The service now includes devices from Samsung, Xiaomi, and Oppo, expanding the variety and availability of test devices. The integration ensures performance, stability, and security, using the OmniLab framework. Developers can participate in the Early Access Program (EAP) for OEM device labs, with no extra cost during the promotional period until February 2025.
- 8
Community Picks·2y
DP vs SP vs DPI vs PX in Android
Understanding the various units like DP, SP, DPI, and PX is essential for consistent UI design in Android. Screen size is measured in inches, PX represents the smallest display units, and screen resolution counts the pixels in each dimension. Density measures pixel concentration, impacting screen quality, measured by DPI. DP ensures consistent UI size across devices, while SP scales fonts according to user settings.
- 9
Android Developers Blog·2y
Android Studio Koala Feature Drop is Stable!
Android Studio Koala Feature Drop (2024.1.2) is now stable, offering new devices in device streaming, Compose previews for Glance widgets, USB cable speed detection, support for Android 15, and more. It enhances your development workflow with features like an easier sign-in process for multiple Google services, Wear OS app tile previews, and improved stability for Live Edit. Device UI shortcuts and performance optimizations are also included. Download the latest version to explore these features.
- 10
Philipp Lackner·2y
Hot Flows vs. Cold Flows In Kotlin - When to Use What?
Learn about the differences between cold and hot flows in Kotlin, the scenarios to use each type, and how to convert cold flows to hot flows using functions like `shareIn` and `stateIn`. Understand the nuances and use cases of StateFlow and SharedFlow, especially in the context of asynchronous programming in Android development.
- 11
- 12
ProAndroidDev·2y
++Android Process Lifecycle + Coroutines == ❤
Kotlin Coroutines and Android Lifecycle complement each other effectively in Android development. By leveraging coroutines within the Android Lifecycle framework, developers can ensure tasks start and stop at the appropriate times during the app’s lifecycle, such as refreshing caches or clearing sensitive data when the app goes into the background. Examples provided demonstrate how to abstract these lifecycle-dependent tasks away from activity-specific logic, making the codebase cleaner and more robust.
- 13
- 14
ProAndroidDev·2y
Convert Your Native Project to Kotlin Multiplatform — Developer’s Guide
Migrating a native mobile app to Kotlin Multiplatform (KMP) allows for shared logic between Android and iOS, cutting costs and simplifying maintenance. The guide covers the technical aspects of this migration, including repository setup, modularization, dependency injection, and managing platform-specific code. It addresses common challenges and provides solutions based on extensive experience in KMP development. The process involves gradually moving Kotlin code from the Android app to a Multiplatform module, integrating it into the iOS application, and phasing out the corresponding Swift code.
- 15
Lobsters·2yUsing an Old Android as an E-Reader: A More Secure and Flexible Device than a Boox Palma
Transform an unused Android device into a powerful e-reader by setting up a new Gmail account, enabling black and white mode, using a minimal launcher, and installing essential reading apps like Libby and Instapaper. This setup minimizes distractions, allowing for focused reading without interruptions from emails or notifications.
- 16
- 17
The Verge·2y
Huawei’s triple-screen folding phone leaked, again
Spy photos of a thin triple-folding phone, possibly from Huawei, have surfaced again. The phone appears to be as slim as current single-hinged foldables and might unfold into a 10-inch tablet. The device could be released as soon as next month, with recent images showing visible creases on the unfolded screen and a small front-facing camera.
- 18
Hacker News·2y
That time Reddit banned me for developing an app
The author shares their experience of developing an open-source Reddit client called Geddit amidst Reddit's new API pricing changes. Despite the project's initial success and positive feedback, Reddit ultimately issued a permanent ban. The story highlights the challenges and frustrations faced by developers in adapting to new platform policies.
- 19
droidcon·2y
Android App Bars vs Toolbars vs Other Bars, Explained
Top and bottom bars in Android apps, including status bars, toolbars, and navigation bars, can often be confusing. This post clarifies their roles and functionalities. System bars are uniform across apps and managed by the phone's system. The top app bar provides app identity and navigation, changing dynamically with the screen. Android's ActionBar and Toolbar serve as top app bars with various customizations. Jetpack Compose introduces the TopAppBar for similar purposes, supporting the Material Design guidelines. The bottom app bar, including NavigationBar and BottomAppBar, offers key actions and navigation at the bottom of the screen.