# android-apps

Android apps are applications for the Android platform, developed using Kotlin, Java, or C++ and compiled by Android SDK tools into APKs or Android App Bundles.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Promies: Managing and Distributing Promo Codes for Android Apps

DevFeed: [Promies: Managing and Distributing Promo Codes for Android Apps](<https://devfeed.tech/articles/promies-code-distribution-a-hassle-free-way-to-manage-app-giveaways-38743.md>)

Original publisher: [Read original article](<https://www.paleblueapps.com/rockandnull/app-promo-code-distribution-system/>)

Author: Mike Yerou

Published: 2026-05-21T12:24:10Z

Content type: article

Language: en

Sources: [Rock and Null](<https://devfeed.tech/sources/rock-and-null.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [app](<https://devfeed.tech/tags/app.md>), [customizable](<https://devfeed.tech/tags/customizable.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [ios](<https://devfeed.tech/tags/ios.md>), [promotion](<https://devfeed.tech/tags/promotion.md>)

### AI overview

Promies is a system for organizing, distributing, and tracking promo codes for Android app giveaways. It uses batches and dedicated promotion URLs, with options such as email verification and pricing displays.

### Source excerpt

A smarter way to manage and distribute your app promo codes with the all-new Promies. Effortlessly build customizable promotion pages, protect your codes from bot abuse, and get free organic exposure to kickstart your app's growth.

## Bloco's 2024 Android app development update and return to client work

DevFeed: [Bloco's 2024 Android app development update and return to client work](<https://devfeed.tech/articles/about-our-last-year-and-forward-40800.md>)

Original publisher: [Read original article](<https://www.bloco.io/blog/about-our-last-year-and-forward>)

Author: Sérgio

Published: 2025-01-09T18:12:32Z

Content type: opinion

Language: en

Sources: [Blog - Bloco](<https://devfeed.tech/sources/blog-bloco.md>)

Topics: [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Android](<https://devfeed.tech/topics/android.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [QR Code](<https://devfeed.tech/topics/qrcode.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [about](<https://devfeed.tech/tags/about.md>), [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [app](<https://devfeed.tech/tags/app.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [performance](<https://devfeed.tech/tags/performance.md>), [qr-code](<https://devfeed.tech/tags/qr-code.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Bloco describes its 2024 shift toward developing Android apps, including the release of a Caderno remake and the launch of QR Friend. The company also fixed bugs, updated dependencies, improved performance, experimented with Google Play listings, and returned to client work while continuing to invest in its apps.

### Source excerpt

You may have noticed we've been sharing less about us. At the end of 2023 we decided to shake things up at Bloco.

## Hue-manize Your Android Apps: Develop for Color Blindness

DevFeed: [Hue-manize Your Android Apps: Develop for Color Blindness](<https://devfeed.tech/articles/hue-manize-your-android-apps-develop-for-color-blindness-27343.md>)

Original publisher: [Read original article](<https://blog.mmckenna.me/hue-manize-your-android-apps-develop-for-color-blindness>)

Author: Matt McKenna

Published: 2024-10-17T04:00:00Z

Content type: article

Language: en

Sources: [Matt McKenna](<https://devfeed.tech/sources/matt-mckenna.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [apps](<https://devfeed.tech/tags/apps.md>), [conference-sessions](<https://devfeed.tech/tags/conference-sessions.md>), [develop](<https://devfeed.tech/tags/develop.md>), [droidcon](<https://devfeed.tech/tags/droidcon.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article discusses how Android apps appear to people with color blindness or low vision and describes the impact of inaccessible apps on daily life.

### Source excerpt

Have you ever wondered how your Android app appears to someone with color blindness or low vision? We will share firsthand how inaccessible apps impact daily life. https://player.vimeo.com/video/1017418233?autopause=0&autoplay=0&color=00adef&portrait...

## Don't Lock the Screen Orientation! Handling Orientation in Compose

DevFeed: [Don't Lock the Screen Orientation! Handling Orientation in Compose](<https://devfeed.tech/articles/don-t-lock-the-screen-orientation-handling-orientation-in-compose-38486.md>)

Original publisher: [Read original article](<https://eevis.codes/blog/2024-07-18/dont-lock-the-screen-orientation-handling-orientation-in-compose/>)

Author: Eevis Panula

Published: 2024-07-22T04:29:54.355000Z

Content type: tutorial

Language: en

Sources: [Eevis Blog](<https://devfeed.tech/sources/eevis-blog.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [ui](<https://devfeed.tech/topics/ui.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [handling](<https://devfeed.tech/tags/handling.md>), [layout](<https://devfeed.tech/tags/layout.md>), [orientation](<https://devfeed.tech/tags/orientation.md>), [screen](<https://devfeed.tech/tags/screen.md>)

### AI overview

This tutorial explains why Android apps should generally support both portrait and landscape orientations, especially for accessibility and users who cannot rotate their devices. It focuses on Compose layout considerations, testing responsive layouts, and handling configuration changes caused by screen rotation.

### Source excerpt

Yes, your app should work in both portrait and landscape modes - unless locked orientation is essential for functionality, like in a piano app. However, for most apps, locked orientation is not an option. Oh, and yes, the functionality should be similar in both modes, not hiding anything when the orientation changes. In this blog post, I'll cover the topic of locked orientation. It's mainly concentrated on Compose things, but there might be something useful for Views, too. I've also included some good articles in the Read More section of the blog post, explaining, e.g., more about orientation locking themes on Views. This blogpost was updated on 22nd of July to add example of using WindowWidthSizeClass. Why Locking Orientation is a Problem? When discussing locked orientation and its problems, we usually refer to locking the orientation to portrait mode. Unfortunately, this is a typical case among Android apps. Why is this a problem, then? Some people prefer to use their phones in landscape mode because it gives them more screen width. A wider screen can make it easier for people who use, e.g., larger font sizes of screen magnification. And some people might have their phones mounted on, e.g., a wheelchair in landscape mode, and can't rotate the phone at all. In these cases, if the app's orientation is locked in portrait mode, using the app might be more complicated or even impossible. That is not what any developer behind the apps wants, right? So, let's talk about how to support different orientations on your app. It's Straightforward From a purely UI point of view, supporting landscape mode is pretty straightforward. You just don't do anything - like prevent the screen rotation. This way, the landscape mode is available. Of course, you need to test that the layouts actually look okay in landscape orientation. With Compose, the layout mostly works if you don't use exact widths for different elements and don't have sticky items that take up some vertical space on th

## What is Gradle and why do we use it as Android developers?

DevFeed: [What is Gradle and why do we use it as Android developers?](<https://devfeed.tech/articles/what-is-gradle-and-why-do-we-use-it-as-android-developers-25852.md>)

Original publisher: [Read original article](<https://medium.com/@banmarkovic/what-is-gradle-and-why-do-we-use-it-as-android-developers-572a07b3675d?source=rss-8aced922ece------2>)

Author: Ban Markovic

Published: 2023-01-16T12:52:02Z

Content type: tutorial

Language: en

Sources: [Stories by Ban Markovic on Medium](<https://devfeed.tech/sources/stories-by-ban-markovic-on-medium.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [automation-tools](<https://devfeed.tech/tags/automation-tools.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [libraries](<https://devfeed.tech/tags/libraries.md>)

### AI overview

A tutorial explaining Gradle's role in Android development, including how build.gradle files specify dependencies and how Gradle automates application building and running.

### Source excerpt

At the start of a journey for an Android developer, no one pays attention to Gradle. We are mostly focused on writing Kotlin code and developing Android apps that bring great value to our customers and look as beautiful as possible. When building them, sometimes we stumble upon a problem that is already solved by someone else on the internet and they were kind enough to share their project in a form of library, that we are able to implement in our app, and customize it to our needs. To be able to do so, we are using build.gradle file for implementing those libraries that help us build our apps, by specifying their unique package names and versions. This is probably the most common use case of our Gradle usage inside our Android projects. Motivation At the beginning of my career I didn't see a need for better understanding of Gradle, because for me it represented only the place where I wrote the names of the libraries I wanted to use inside my project. With that kind of approach, I didn't have any knowledge regarding it, and I was scared to change anything inside those files, because I was afraid I would break everything. After some time I realized that gradle files are built with code.. And I am a programmer.. So why am I avoiding it when I can learn it like any other programming language. What an epiphany, right? That's why I decided to write an article regarding the gradle files inside Android project. Just so anyone can read and understand them. Gradle Gradle is a build tool that we use for Android development to automate the process of building and publishing apps. Now, you may think that building and running the application is quite easy; we can just press Run button in Android Studio. Well, that just triggers Gradle's built-in tasks (functions) that are responsible for running the application on our emulator or real device. This process requires a couple of steps to be successfully completed in order for us to see the running app. These are the general steps t

## How OkCredit Android App boosted Network Performance by 30%

DevFeed: [How OkCredit Android App boosted Network Performance by 30%](<https://devfeed.tech/articles/how-okcredit-android-app-boosted-network-performance-by-30-37400.md>)

Original publisher: [Read original article](<https://medium.com/okcredit/how-okcredit-android-app-boosted-network-performance-by-30-84109080c065?source=rss----40ea5327aac7---4>)

Author: Shrey Garg

Published: 2022-07-07T11:29:22Z

Content type: tutorial

Language: en

Sources: [OkCredit - Medium](<https://devfeed.tech/sources/okcredit-medium.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [Network](<https://devfeed.tech/topics/network.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [TLS handshake](<https://devfeed.tech/topics/tls-handshake.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [http](<https://devfeed.tech/tags/http.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [latency](<https://devfeed.tech/tags/latency.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [network](<https://devfeed.tech/tags/network.md>), [okcredit](<https://devfeed.tech/tags/okcredit.md>), [performance](<https://devfeed.tech/tags/performance.md>), [tls-handshake](<https://devfeed.tech/tags/tls-handshake.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

This tutorial explains how to analyze and optimize each stage of network calls in Android apps, including call start, DNS resolution, TLS connection setup, request and response transfer, connection reuse, and call completion. It describes using OkHttp connection pooling and the EventListener class to instrument HTTP-call metrics such as quantity, size, and duration.

### Source excerpt

Fast and reliable network communication is crucial for OkCredit mobile apps. Since the majority of our users belong to Tier-2/3 cities in India, flaky and unreliable network connection is one of the biggest challenges for us. In order to deliver a good user experience, our mobile apps need to have reliable and low-latency network connectivity. While most resources we found describe how we can improve the overall time (start-end) of a network call, this article attempts to take a deep dive and talk about each step and how we can instrument and optimise each step of a network call in android apps. Steps involved in a network callFig. Steps of a Network call. Ref -- https://square.github.io/okhttp/features/events1. Call start Called as soon as a call is enqueued or executed by a client. Ideally, this step should not consume any time unless there are any custom Interceptors added. 2. DNS Involves the DNS Resolver translating the domain name into the corresponding identifier (the IP address). 3. Connection Start Tries to acquire a secure connection (TLS handshake) between the client and the server. 4. Connection End / Acquired Invoked after a connection has been acquired for the call. After this, the communication of request and response payloads is started. 5. Request / Response / Headers This is the step in which the actual communication of data happens. The HTTP method, size of request / response payload, server latency / response time, etc. can greatly impact the time taken by this step. 6. Connection released Invoked after a connection has been released for the call. 7. Call end Invoked immediately after a call has completely ended. Pooled connection OkHttp has the capability to pool connections with which it can skip various steps of a network call mentioned above, which in turn can greatly improve the application's network performance, as existing connections can be reused. Fig. Steps of a Network call with pooled connectionInstrumentation of each step To determine

## Simplified Android Development Using Simple-Stack

DevFeed: [Simplified Android Development Using Simple-Stack](<https://devfeed.tech/articles/simplified-android-development-using-simple-stack-25930.md>)

Original publisher: [Read original article](<https://medium.com/swlh/simplified-android-development-using-simple-stack-6e44ce808c35?source=rss-7a8d96da8cb6------2>)

Author: Gabor Varadi

Published: 2020-11-14T03:32:51Z

Content type: tutorial

Language: en

Sources: [Stories by Gabor Varadi on Medium](<https://devfeed.tech/sources/stories-by-gabor-varadi-on-medium.md>)

Topics: [navigation](<https://devfeed.tech/topics/navigation.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Android](<https://devfeed.tech/topics/android.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [dagger-hilt](<https://devfeed.tech/tags/dagger-hilt.md>), [fragments](<https://devfeed.tech/tags/fragments.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [simple-stack](<https://devfeed.tech/tags/simple-stack.md>)

### AI overview

An Android development article explains Simple-Stack, a navigation framework for tracking navigation state with immutable Parcelable screen identifiers. It describes the framework's origins in Flow and Mortar and its use for type-safe Fragment navigation.

### Source excerpt

It's been a long time since I've wanted to write this article. Time to go at it, shall we? :) People always seem to be surprised and say, "wait, you DON'T use Jetpack ViewModel, Jetpack Navigation, and Dagger-Hilt? Then what DO you use?" This article intends to answer that. We use Simple-Stack. (If you prefer watching talks, then a talk on the same subject is available at https://www.youtube.com/watch?v=5ACcin1Z2HQ) What is Simple-Stack? Simple-Stack is a navigation framework that I've been working on since the beginning of 2017, although its roots go back to 2015 -- when we were still experimenting with multiple versions of Mortar & Flow. (The 90s kids might still remember). Following up on the original proposition by Square, "Advocating Against Android Fragments" and "Simpler Android Apps with Flow and Mortar", we've been using Single-Activity approach in our apps since 2015. Now, the history of Flow and Mortar isn't all roses. I've heard people say "we tried it and it didn't work for us". I can attest to that: we had to manage our own fork, but even with that, we hit some of its limitations over time. We needed something reliable and versioned, so we rewrote Flow's original behavior, and intended to improve upon its limitations. This rewrite is what resulted in the creation of Simple-Stack. Why Simple-Stack? Simple-Stack is based on the idea that you intend to track your navigation state as a list of immutable and Parcelable classes -- screen identifiers (which the library calls "keys"). As long as the underlying navigation implementation allows for "navigation from any state to any state", it is possible to wrap that implementation using Simple-Stack. For example, something I hear often is that "navigation with Fragments is hard". I always point out that in our code, it's been like this since 2016: backstack.goTo(new SecondScreen(detailId)); // java No explicit fragment transaction, no Bundle, no newInstance(), just calling a method. How is this possible? Isn't Fr

## VESIT: Getting Started With Kotlin

DevFeed: [VESIT: Getting Started With Kotlin](<https://devfeed.tech/articles/vesit-getting-started-with-kotlin-28392.md>)

Original publisher: [Read original article](<https://siddroid.com/post/talk-getting-started-with-kotlin-vesit-cmpn-siddhesh-patil/>)

Author: Siddhesh Patil

Published: 2020-08-06T19:40:38Z

Content type: article

Language: en

Sources: [Sid Patil - Android Engineer and Kotlin Advocate](<https://devfeed.tech/sources/sid-patil-android-engineer-and-kotlin-advocate.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Application Development](<https://devfeed.tech/topics/application-development.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [application-development](<https://devfeed.tech/tags/application-development.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [first-android-app-with-kotlin](<https://devfeed.tech/tags/first-android-app-with-kotlin.md>), [how-to-build-apps-using-kotin-for-android](<https://devfeed.tech/tags/how-to-build-apps-using-kotin-for-android.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [q-a](<https://devfeed.tech/tags/q-a.md>), [siddhesh-patil-talks](<https://devfeed.tech/tags/siddhesh-patil-talks.md>), [student](<https://devfeed.tech/tags/student.md>), [talks-on-kotlin](<https://devfeed.tech/tags/talks-on-kotlin.md>), [tech-workshops-in-mumbai](<https://devfeed.tech/tags/tech-workshops-in-mumbai.md>), [vesit](<https://devfeed.tech/tags/vesit.md>), [vesit-cmpn](<https://devfeed.tech/tags/vesit-cmpn.md>)

### AI overview

A two-day introductory session at VESIT covered Kotlin fundamentals, including object-oriented programming, interoperability, type inference, null-safety, data classes, collections, control flow, and classes. The session was attended online by more than 170 computer engineering students.

### Source excerpt

Comp Science students from VESIT engineering college discover why Kotlin is the next-gen language for modern application development as a part of a two-day session on building android apps in Kotlin.

## Gesture Navigation: Immersive Modes (IV)

DevFeed: [Gesture Navigation: Immersive Modes (IV)](<https://devfeed.tech/articles/gesture-navigation-immersive-modes-iv-24925.md>)

Original publisher: [Read original article](<https://medium.com/androiddevelopers/gesture-navigation-immersive-modes-43f2d37a925d?source=rss-9303277cb6db------2>)

Author: Chris Banes

Published: 2019-10-16T13:01:02Z

Content type: tutorial

Language: en

Sources: [Chris Banes on Medium](<https://devfeed.tech/sources/chris-banes-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Playback](<https://devfeed.tech/topics/playback.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [apps](<https://devfeed.tech/tags/apps.md>), [gesture-navigation](<https://devfeed.tech/tags/gesture-navigation.md>), [image](<https://devfeed.tech/tags/image.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [playback](<https://devfeed.tech/tags/playback.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

This fourth post in a gesture-navigation series explains Android immersive mode for apps that need to draw fullscreen while hiding system bars. It distinguishes non-sticky and sticky immersive modes, describes their system-bar states, and discusses non-sticky mode for fullscreen video playback and photo viewers.

### Source excerpt

Cover image by Virginia PoltrackGesture Navigation: immersive modes (IV) This is the fourth post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below: Gesture Navigation: Going edge-to-edge (I) Gesture Navigation: Handling visual overlaps (II) Gesture Navigation: Handling gesture conflicts (III) In this fourth post, we're going to cover what you can do if your app needs to draw across the entire screen, with the system bars hidden. Referring back to our flowchart from the previous post, we're going to cover the remaining two solutions on the right hand-side of the chart. You can find a printable PDF version of the complete flow chart here. The solutions here are to use the immersive mode which the Android platform offers apps. But what is immersive mode? What is immersive mode? Immersive mode is a way to render content fullscreen, hiding the system bars so they are not in the way. It additionally provides safety from accidental gestures/presses causing the user to leave the app, particularly useful for games. There are two types of immersive modes: Non-sticky (normal) immersive mode -- A user can exit immersive mode, by swiping in the system bars. Sticky immersive mode -- A user can temporarily exit immersive mode by swiping in the system bars. Immersive mode is automatically re-entered after a short time (few seconds). For both modes, there are two states: System bars hidden -- in this state the home and back gestures are disabled. The user must first swipe from an edge to bring in the system bars. System bars showing -- in this state the home and back gestures work as normal. Now that we've gone over the background on immersive mode, let's take a look at the two different modes in detail. Immersive mode: non-sticky As you might have seen from the flow chart, non-sticky immersive mode is ideal for UIs which need to be fullscreen, but do not require precise swiping gestures near the screen edges. Common examples includ

## Balancing Plex employment, Kotlin publishing, entrepreneurship, and family priorities

DevFeed: [Balancing Plex employment, Kotlin publishing, entrepreneurship, and family priorities](<https://devfeed.tech/articles/how-my-world-is-changing-today-27238.md>)

Original publisher: [Read original article](<https://antonioleiva.com/world-changing-today>)

Published: 2018-09-21T00:00:00Z

Content type: opinion

Language: en

Sources: [Antonio Leiva](<https://devfeed.tech/sources/antonio-leiva.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [company](<https://devfeed.tech/tags/company.md>), [freelance](<https://devfeed.tech/tags/freelance.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [remote-work](<https://devfeed.tech/tags/remote-work.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

The author reflects on working full time at Plex while building a Kotlin publishing and training business. After the birth of his daughter, he prioritizes his family and pauses time spent on his personal project.

### Source excerpt

Everything Android, Kotlin and other random topics

## Time for accountability: Analysis of 2017 and goals for 2018

DevFeed: [Time for accountability: Analysis of 2017 and goals for 2018](<https://devfeed.tech/articles/time-for-accountability-analysis-of-2017-and-goals-for-2018-27126.md>)

Original publisher: [Read original article](<https://antonioleiva.com/analysis-2017-goals-2018>)

Published: 2017-12-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Antonio Leiva](<https://devfeed.tech/sources/antonio-leiva.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [android](<https://devfeed.tech/tags/android.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [personal](<https://devfeed.tech/tags/personal.md>)

### AI overview

A personal review of the author's 2017 achievements and goals for 2018, including how Google's announcement of Kotlin as an official Android development language changed his plans for Kotlin books and courses. The article also discusses self-publishing and maintaining a balance between remote work and personal projects.

### Source excerpt

Everything Android, Kotlin and other random topics

## Let Mosby Flow - An alternative to Fragments

DevFeed: [Let Mosby Flow - An alternative to Fragments](<https://devfeed.tech/articles/let-mosby-flow-an-alternative-to-fragments-25449.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/let-mosby-flow/>)

Author: Hannes Dorfmann

Published: 2016-03-01T09:00:00Z

Content type: tutorial

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [navigation](<https://devfeed.tech/topics/navigation.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [App](<https://devfeed.tech/topics/app.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

A tutorial showing how to build a small Android app without Fragments by using Mosby 3.0 for MVP-based screens and Square's Flow library as a navigation stack replacement. The example uses a single Activity with country-list and country-details screens.

### Source excerpt

The usage of Fragments in Android apps is highly controversial. While some developers love them, others hate them. In this blog post I will give you a short introduction of how to use Mosby 3.0 to build MVP base screens and square's Flow library as navigation stack replacement. Preface: Usually I use Fragments in my apps and 99% of the time they work well.

## Converting Plaid to Kotlin: Lessons learned (Part 1)

DevFeed: [Converting Plaid to Kotlin: Lessons learned (Part 1)](<https://devfeed.tech/articles/converting-plaid-to-kotlin-lessons-learned-part-1-27214.md>)

Original publisher: [Read original article](<https://antonioleiva.com/plaid-kotlin-1>)

Published: 2015-11-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Antonio Leiva](<https://devfeed.tech/sources/antonio-leiva.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Code](<https://devfeed.tech/topics/code.md>), [properties](<https://devfeed.tech/topics/properties.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [properties](<https://devfeed.tech/tags/properties.md>), [property](<https://devfeed.tech/tags/property.md>), [property-delegation](<https://devfeed.tech/tags/property-delegation.md>)

### AI overview

This tutorial compares part of the Plaid Android app after rewriting HomeActivity in Kotlin. It discusses reduced boilerplate and Kotlin approaches to view binding, resource binding, property declarations, context-dependent initialization, and property delegation.

### Source excerpt

Everything Android, Kotlin and other random topics

## Cooling down with Peloton & Grubhub - olin

DevFeed: [Cooling down with Peloton & Grubhub - olin](<https://devfeed.tech/articles/cooling-down-with-peloton-grubhub-olin-38099.md>)

Original publisher: [Read original article](<https://touchlab.co/2015-07-cooling-down-with-peloton-grubhub>)

Published: 2015-07-09T17:57:42Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [async](<https://devfeed.tech/topics/async.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [samsung](<https://devfeed.tech/topics/samsung.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [app](<https://devfeed.tech/tags/app.md>), [async](<https://devfeed.tech/tags/async.md>), [code](<https://devfeed.tech/tags/code.md>), [community](<https://devfeed.tech/tags/community.md>), [demo](<https://devfeed.tech/tags/demo.md>), [fps](<https://devfeed.tech/tags/fps.md>), [generator](<https://devfeed.tech/tags/generator.md>), [samsung](<https://devfeed.tech/tags/samsung.md>)

### AI overview

A Touchlab meetup recap covering events hosted at Peloton Cycle and Grubhub. The program included talks on asynchronous Android code, improving Android News Feed interaction smoothness, Project Tango, and community app demos.

### Source excerpt

We threw our second annual "Sorry You're Not at I/O" party at Peloton Cycle. Partygoers were greeted with a never-ending supply of pizza & buckets of beer.

## Understanding Android Intents for App-to-App Interaction

DevFeed: [Understanding Android Intents for App-to-App Interaction](<https://devfeed.tech/articles/what-s-your-intent-30575.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2014/11/whats-your-intent/>)

Published: 2014-11-26T07:00:00Z

Content type: article

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [App](<https://devfeed.tech/topics/app.md>), [WebView](<https://devfeed.tech/topics/webview.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [apps](<https://devfeed.tech/tags/apps.md>), [use-cases](<https://devfeed.tech/tags/use-cases.md>), [webview](<https://devfeed.tech/tags/webview.md>)

### AI overview

This article explains Android's Intent system as a way for apps to interact and exchange data without knowing the specific apps involved. It compares Intents with URLs and describes action and request use cases, including launching activities and handling external content.

### Source excerpt

One of the most powerful, yet sometimes overlooked, features of Android is the Intent system. Android's Intents allow apps to interact with each other, without intimate knowledge of each other. Intents are one of the differentiating factors that allows Android apps to interact and send data beyond their walls, while still keeping the system relatively safe. Anatomy of an Intent I like to think of Intents as the opposite of URLs. You remember URLs, right? That's how you got to this page.

## SwipeBack

DevFeed: [SwipeBack](<https://devfeed.tech/articles/swipeback-25467.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/swipeback/>)

Author: Hannes Dorfmann

Published: 2013-12-27T09:00:00Z

Content type: tutorial

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [switching](<https://devfeed.tech/tags/switching.md>)

### AI overview

This tutorial presents SwipeBack for Android Activities, a swipe-gesture alternative to the Android navigation bar's back button. It discusses approaches using a ViewPager and Fragments, their limitations, and an activity-based implementation using sliding animations and gesture detection.

### Source excerpt

SwipeBack for Android Activities does pretty the same as the android "back-button" does, but in a really intuitive way by using a swipe gesture The Samsung Galaxy Nexus was one of the first device without hardware buttons for "back", "home" and "app switching (multitasking)" but used the androids navigation bar on screen (introduced in Android 4.

## Moving Hashnote to Ice Cream Sandwich and Above

DevFeed: [Moving Hashnote to Ice Cream Sandwich and Above](<https://devfeed.tech/articles/going-ics-only-30558.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2013/07/going-ics-only/>)

Published: 2013-07-07T07:00:00Z

Content type: article

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [RSS](<https://devfeed.tech/topics/rss.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [development](<https://devfeed.tech/tags/development.md>), [devices](<https://devfeed.tech/tags/devices.md>)

### AI overview

The author describes choosing Ice Cream Sandwich and above as the minimum Android version for Hashnote after finding that less than 1.4% of its users were on older versions. Removing the compatibility layer made development faster and eliminated concerns about old APIs.

### Source excerpt

Back in April I had the pleasure of seeing a talk by Jay Ohms of TwentyFive Squares at GDG Schaumburg. It was a great discussion about their app, Press, an excellent RSS reader for Android. The discussion wasn't a technical one, but one of the things that interested me was their decision to go Ice Cream Sandwich and up for Press. This was the first app that I had heard of, and the only major, popular app that I know of, that has made this decision.

## Advice for Android Developers: Prepare for App Acquisition

DevFeed: [Advice for Android Developers: Prepare for App Acquisition](<https://devfeed.tech/articles/advice-for-android-developers-prepare-for-app-acquisition-31815.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2010/12/advice-for-android-developers-prepare-for-app-acquisition/>)

Author: Chris Hager

Published: 2010-12-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [certificates](<https://devfeed.tech/topics/certificates.md>), [private key](<https://devfeed.tech/topics/private-key.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [applications](<https://devfeed.tech/tags/applications.md>), [certificates](<https://devfeed.tech/tags/certificates.md>), [developers](<https://devfeed.tech/tags/developers.md>), [private-key](<https://devfeed.tech/tags/private-key.md>), [signing](<https://devfeed.tech/tags/signing.md>)

### AI overview

The article advises Android app developers to use a unique signing key for each application so that a future acquisition does not require canceling the deal or sharing a key used for other apps. It explains that Android apps must be digitally signed with certificates and that developers hold the certificates' private keys.

### Source excerpt

Here's a brief but important advice for Android app developers: starting with your first app, prepare for the situation where a company wants to acquire one of your applications. Use a unique signing key (alias) for each app! Else you'll be forced to either cancel the acquisition or hand out the key you use for other apps as well. http://developer.android.com/guide/publishing/app-signing.html: Android requires that all apps be digitally signed with a certificate before they can be installed.