Tagged articles
350 articles
Page 3 of 4
Sohu Tech Products
Sohu Tech Products
Mar 16, 2022 · Mobile Development

Saving Images to Android Gallery Using the MediaStore API

This article explains how to save images to the Android gallery using the MediaStore API, covering permission changes across Android versions, the insertion and output stream workflow, code examples in Kotlin, and considerations for sharing images without unnecessary FileProvider usage.

AndroidFileProviderImage Saving
0 likes · 12 min read
Saving Images to Android Gallery Using the MediaStore API
Sohu Tech Products
Sohu Tech Products
Mar 2, 2022 · Mobile Development

Designing a Robust Android App Startup Framework with Annotation Processing and Task Scheduling

This article explains how to build a high‑performance Android startup framework by collecting initialization tasks with custom annotations, generating code via annotation processors, injecting tasks into the application, and scheduling them using a DAG‑based algorithm that supports async execution, multi‑process, and priority handling.

AndroidAnnotation ProcessingKotlin
0 likes · 11 min read
Designing a Robust Android App Startup Framework with Annotation Processing and Task Scheduling
ByteDance Terminal Technology
ByteDance Terminal Technology
Mar 2, 2022 · Mobile Development

Analyzing and Optimizing Kapt Memory Consumption in Android Projects

This article examines the memory‑intensive behavior of Kotlin's Kapt annotation‑processing tool in large Android builds, explains its internal two‑step stub‑generation and Java‑apt workflow, analyzes OOM root causes with VisualVM, and presents a practical source‑filtering fix that dramatically reduces compile time and memory usage.

Annotation ProcessingKaptKotlin
0 likes · 16 min read
Analyzing and Optimizing Kapt Memory Consumption in Android Projects
Programmer DD
Programmer DD
Mar 1, 2022 · Fundamentals

Master Kotlin Quickly: Side-by-Side Java vs Kotlin Syntax Guide

This article presents a concise side‑by‑side comparison of Java and Kotlin syntax—including logging, variables, null handling, loops, and method definitions—through practical code snippets, helping Java‑experienced developers transition to Kotlin efficiently.

JavaKotlinSyntax Comparison
0 likes · 4 min read
Master Kotlin Quickly: Side-by-Side Java vs Kotlin Syntax Guide
21CTO
21CTO
Feb 27, 2022 · Mobile Development

Major Tech Shifts: Chip Export Bans, Starlink Aid, and Kotlin’s End

Amid heightened sanctions, leading chip makers halt Russian shipments, SpaceX’s Starlink bolsters Ukraine’s connectivity, Kotlin 1.8 will remove Android Extensions, and Fujitsu announces the phase‑out of its mainframe and Unix servers, signaling sweeping changes across hardware, software, and global tech infrastructure.

Chip ExportKotlinMainframe
0 likes · 5 min read
Major Tech Shifts: Chip Export Bans, Starlink Aid, and Kotlin’s End
Sohu Tech Products
Sohu Tech Products
Feb 16, 2022 · Mobile Development

Understanding the Implementation and Traversal of Modifier Chains in Jetpack Compose

This article explains how Jetpack Compose's Modifier interface is defined, how its concrete implementations such as SizeModifier, Background, Padding, CombinedModifier, and ComposedModifier form a chain, and how the foldIn and foldOut functions enable forward and reverse traversal of that chain for layout processing.

AndroidJetpack ComposeKotlin
0 likes · 14 min read
Understanding the Implementation and Traversal of Modifier Chains in Jetpack Compose
vivo Internet Technology
vivo Internet Technology
Jan 12, 2022 · Mobile Development

Pitfalls of LiveData Observation and Lambda Optimizations in Android MVVM

When observing LiveData in Android MVVM, developers may be misled by log deduplication, Java‑8 lambda optimizations that reuse a single Observer, automatic replay of the latest value to new observers, and shared ViewModel navigation bugs, but using an Event wrapper, reflection to reset version counters, or switching to Kotlin Flow/SharedFlow can safely avoid these pitfalls.

AndroidJavaKotlin
0 likes · 20 min read
Pitfalls of LiveData Observation and Lambda Optimizations in Android MVVM
58 Tech
58 Tech
Jan 6, 2022 · Mobile Development

Design and Implementation of a Unified Rich Media Animation Control for Android Apps

This document presents the background, objectives, research findings, design principles, API specifications, caching strategy, implementation details, XML usage, memory impact analysis, and conclusions of a unified rich‑media animation component that consolidates image, GIF, Lottie, pager and video handling for efficient reuse in Android RecyclerView lists.

AndroidCacheDesign
0 likes · 11 min read
Design and Implementation of a Unified Rich Media Animation Control for Android Apps
Sohu Tech Products
Sohu Tech Products
Jan 5, 2022 · Fundamentals

Source Code Analysis – Suspension and Resumption of Kotlin Coroutines

This article dissects the Kotlin coroutine implementation by decompiling a simple coroutine, explaining how the compiler transforms suspend functions into state‑machine classes, how launch creates an AbstractCoroutine, how the dispatcher intercepts and schedules execution, and how the coroutine is suspended and later resumed through Continuation mechanisms.

CoroutinesKotlinSuspend
0 likes · 16 min read
Source Code Analysis – Suspension and Resumption of Kotlin Coroutines
Sohu Tech Products
Sohu Tech Products
Dec 22, 2021 · Fundamentals

Introduction to Gradle and Android Gradle Plugin: Build System Basics

This article introduces the fundamentals of Gradle as a universal build automation tool and explains how the Android Gradle Plugin integrates with it, covering project structure, build files, tasks, the three build lifecycle phases, DSL syntax, and provides example Groovy/Kotlin scripts for configuring Android applications.

AGPAndroidBuild System
0 likes · 8 min read
Introduction to Gradle and Android Gradle Plugin: Build System Basics
Airbnb Technology Team
Airbnb Technology Team
Dec 22, 2021 · Mobile Development

Automated Unit Testing Framework for Android ViewModel (Part 4)

Part 4 of Airbnb’s Android testing series presents a dedicated framework that lets developers write concise, single‑function unit tests for ViewModel classes by specifying initial state, parameters, and expected state or dependency calls through a Kotlin DSL, integrating with JUnit, Robolectric, Mockito, and offering scaffolding and IntelliJ plugins for streamlined, systematic ViewModel logic verification.

AndroidDSLKotlin
0 likes · 12 min read
Automated Unit Testing Framework for Android ViewModel (Part 4)
BaiPing Technology
BaiPing Technology
Dec 20, 2021 · Mobile Development

Master Jetpack Compose: A Beginner’s Guide to Modern Android UI Development

This article introduces Jetpack Compose, Google’s modern declarative UI toolkit for Android, explaining its origins, core concepts of declarative UI, basic usage, essential components like Text, Button, Image, layout containers, modifiers, state management, and provides practical code examples to help developers build efficient, modern Android interfaces.

Android UIDeclarative UIJetpack Compose
0 likes · 21 min read
Master Jetpack Compose: A Beginner’s Guide to Modern Android UI Development
Sohu Tech Products
Sohu Tech Products
Dec 8, 2021 · Backend Development

Design and Implementation of a Kotlin Compiler Plugin (KCP) for Efficient Serialization and Faster Compilation

This article presents a Kotlin compiler plugin that replaces verbose annotation‑based serialization with delegate‑based syntax, dramatically improves code readability, reduces boilerplate, and achieves up to 20% faster compilation while providing detailed implementation steps, performance results, and practical guidelines.

Code GenerationCompiler PluginKCP
0 likes · 29 min read
Design and Implementation of a Kotlin Compiler Plugin (KCP) for Efficient Serialization and Faster Compilation
BaiPing Technology
BaiPing Technology
Dec 6, 2021 · Mobile Development

Master Kotlin Coroutines: Simplify Async Code in Android

This article provides a comprehensive introduction to Kotlin Coroutines, covering their history, core concepts like CoroutineContext, Dispatchers, Job, Deferred, and suspend functions, and demonstrates practical Android usage with code examples for launching coroutines, handling concurrency, networking, Room database operations, timeouts, exception handling, and Flow-based timers.

AndroidCoroutinesFlow
0 likes · 21 min read
Master Kotlin Coroutines: Simplify Async Code in Android
Sohu Tech Products
Sohu Tech Products
Dec 1, 2021 · Mobile Development

Understanding Android Architecture: From MVC/MVP/MVVM to MVI

This article reviews classic Android architectural patterns—MVC, MVP, and MVVM—highlights their limitations, introduces the MVI pattern as a more streamlined alternative, and provides a detailed Kotlin implementation with ViewState, ViewEvent, and unidirectional data flow examples.

AndroidKotlinMVI
0 likes · 11 min read
Understanding Android Architecture: From MVC/MVP/MVVM to MVI
vivo Internet Technology
vivo Internet Technology
Dec 1, 2021 · Mobile Development

Bytecode and Reference Detection for Android Apps: Principles, Implementation, and Gradle Plugin

The article explains how bytecode‑level reference detection—implemented via a custom Gradle plugin that uses JavaAssist or ASM to scan compiled .class files for missing or inaccessible methods, fields, and classes—can automatically catch runtime‑crash‑inducing errors in large modular Android projects, offering configurable strict or warning modes to enhance build safety.

AndroidGradle PluginJavaassist
0 likes · 18 min read
Bytecode and Reference Detection for Android Apps: Principles, Implementation, and Gradle Plugin
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Nov 19, 2021 · Mobile Development

Using Kotlin Flow and Channel to Solve Android Development Pain Points and Implement an MVI Architecture

This article demonstrates how Kotlin Flow and Channel can address common Android development challenges such as ViewModel‑View communication and event handling, compares alternatives like LiveData and RxJava, and presents a practical MVI architecture implementation with code examples.

AndroidChannelCoroutines
0 likes · 24 min read
Using Kotlin Flow and Channel to Solve Android Development Pain Points and Implement an MVI Architecture
Sohu Tech Products
Sohu Tech Products
Nov 17, 2021 · Mobile Development

Implementing a Carousel with MotionLayout in Android

This tutorial explains how to create a smooth, animated carousel in Android using MotionLayout and its Carousel helper, covering core concepts, state definitions, XML layout and MotionScene configurations, Kotlin adapter implementation, and practical tips for handling view ordering and visual effects.

AndroidCarouselConstraintLayout
0 likes · 14 min read
Implementing a Carousel with MotionLayout in Android
Sohu Tech Products
Sohu Tech Products
Nov 10, 2021 · Backend Development

Improving Kotlin Data Class Serialization with a Compiler Plugin: Design, Implementation, and Performance Evaluation

This article presents a Kotlin compiler plugin that replaces verbose annotation‑based serialization with concise delegated properties, explains its design and implementation details, demonstrates significant compilation‑time reductions of up to 20% and cleaner code, and provides a step‑by‑step guide for developers interested in building similar compiler extensions.

Code GenerationCompiler PluginKCP
0 likes · 21 min read
Improving Kotlin Data Class Serialization with a Compiler Plugin: Design, Implementation, and Performance Evaluation
Sohu Tech Products
Sohu Tech Products
Nov 10, 2021 · Mobile Development

Adding KSP Support to Android Room: Challenges, Design Decisions, and Implementation

This article details how the Android Room library added experimental Kotlin Symbol Processing (KSP) support to replace KAPT, describing the performance benefits, the architectural challenges of creating an X‑Processing abstraction layer, the testing infrastructure built around it, and the remaining limitations and future work.

AndroidAnnotation ProcessingKSP
0 likes · 15 min read
Adding KSP Support to Android Room: Challenges, Design Decisions, and Implementation
Snowball Engineer Team
Snowball Engineer Team
Oct 28, 2021 · Mobile Development

Redesigning Snowball's Android Network Framework with OkHttp and Retrofit: Architecture, Issues, and Migration

This article details the redesign of Snowball's Android network framework using OkHttp and Retrofit, covering motivations, architectural layers, solutions for domain switching, custom annotations, data validation, migration strategy, and the resulting performance and maintainability improvements.

AndroidKotlinOkHttp
0 likes · 17 min read
Redesigning Snowball's Android Network Framework with OkHttp and Retrofit: Architecture, Issues, and Migration
Yang Money Pot Technology Team
Yang Money Pot Technology Team
Oct 26, 2021 · Mobile Development

Encapsulating Retrofit with Kotlin Coroutines in Android: Two Approaches

This article explains how to combine Retrofit with Kotlin coroutines on Android, compares the traditional RxJava method with coroutine-based implementations, and presents two encapsulation techniques—using a DSL and leveraging CoroutineExceptionHandler—to simplify asynchronous network calls and centralize error handling.

AndroidCoroutinesDSL
0 likes · 14 min read
Encapsulating Retrofit with Kotlin Coroutines in Android: Two Approaches
Sohu Tech Products
Sohu Tech Products
Oct 20, 2021 · Mobile Development

Kotlin Network Request Wrappers with LiveData: Two Approaches, Code Samples, and Comparison

This article explains two Kotlin‑based network request wrappers for Android that reduce boilerplate by using LiveData, Retrofit, OkHttp and coroutines, compares their design trade‑offs, provides complete Activity, ViewModel, Repository and BaseRepository code samples, and shows how to handle loading, success, error and multiple data sources in a clean MVVM architecture.

AndroidCoroutinesKotlin
0 likes · 10 min read
Kotlin Network Request Wrappers with LiveData: Two Approaches, Code Samples, and Comparison
Sohu Tech Products
Sohu Tech Products
Oct 14, 2021 · Mobile Development

Advanced Android 12 Widget Features: Reconfigurable Widgets, Default Configurations, Size Limits, and New APIs

This article explains how Android 12 introduces reconfigurable widgets, default configuration flags, new size attributes, responsive layouts, compound button interactions, and simplified collection RemoteViews, providing developers with richer, more interactive widget experiences on mobile devices.

AndroidAppWidgetKotlin
0 likes · 9 min read
Advanced Android 12 Widget Features: Reconfigurable Widgets, Default Configurations, Size Limits, and New APIs
vivo Internet Technology
vivo Internet Technology
Oct 13, 2021 · Mobile Development

Jetpack Compose Animation Tutorial

This Jetpack Compose animation tutorial demonstrates how to create state‑driven, visibility, size, cross‑fade, single‑value, and composite animations using declarative APIs such as remember, mutableStateOf, AnimatedVisibility, animateContentSize, animate*AsState, and updateTransition, showing concise Kotlin code that simplifies UI animation development.

AndroidComposeJetpack Compose
0 likes · 10 min read
Jetpack Compose Animation Tutorial
Tech Musings
Tech Musings
Sep 21, 2021 · Backend Development

Migrating a Java Spring Microservice to Kotlin: Practical Steps and Pitfalls

This article shares a developer’s experience converting a Java Spring Boot microservice to Kotlin, covering why Kotlin is attractive, required Maven plugins and dependencies, code‑migration quirks such as open classes and @Jvm annotations, testing hurdles, and the final decision to revert to Java.

KotlinSpring Bootcode migration
0 likes · 11 min read
Migrating a Java Spring Microservice to Kotlin: Practical Steps and Pitfalls
Programmer DD
Programmer DD
Sep 15, 2021 · Backend Development

Mastering Gradle Version Catalog: Unified Dependency Management for Multi‑Module Projects

This article explains how Gradle 7's Version Catalog feature lets you centralize and share dependency versions, bundles, and plugin declarations across modules and projects, offering type‑safe accessors, version separation, and easy publishing through Maven, with practical code examples and configuration steps.

Build AutomationGradleJava
0 likes · 14 min read
Mastering Gradle Version Catalog: Unified Dependency Management for Multi‑Module Projects
Snowball Engineer Team
Snowball Engineer Team
Sep 8, 2021 · Mobile Development

A Robust Approach to Android UI Component Exposure Tracking Using Custom View Lifecycle Management

This article analyzes the limitations of traditional Android exposure tracking methods that rely on parent container lifecycles and introduces a reusable, low-intrusion solution using a custom layout that leverages core View lifecycle callbacks and drawing listeners to accurately detect component visibility and duration.

Android DevelopmentCustom ViewExposure Analytics
0 likes · 15 min read
A Robust Approach to Android UI Component Exposure Tracking Using Custom View Lifecycle Management
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Aug 16, 2021 · Fundamentals

Java and Kotlin Exception Handling Best Practices

To improve Java‑Kotlin interoperability, the article recommends treating Kotlin exceptions as unchecked while enforcing Java‑style checked‑exception discipline through lint checks, using specific custom exceptions, avoiding broad catches or throws of Throwable, logging via a Monitor, and never returning from finally blocks to reduce crashes.

Checked ExceptionException HandlingJava
0 likes · 9 min read
Java and Kotlin Exception Handling Best Practices
Sohu Tech Products
Sohu Tech Products
Aug 11, 2021 · Mobile Development

Applying Architectural Principles to an Android MVVM Project (WanAndroid)

This article explores software architecture concepts by drawing parallels with building design, explains the goals of architectural design such as scalability and maintainability, and demonstrates a practical Android MVVM implementation using WanAndroid with clean‑architecture patterns, Kotlin, and modular project structure.

AndroidClean ArchitectureKotlin
0 likes · 13 min read
Applying Architectural Principles to an Android MVVM Project (WanAndroid)
Sohu Tech Products
Sohu Tech Products
Jun 30, 2021 · Mobile Development

Understanding Kotlin Coroutine Suspension and Resume Mechanism on Android

This article explains how Kotlin coroutines simplify asynchronous programming on Android by using suspension, detailing core concepts, APIs, dispatchers, suspend functions, and the underlying implementation through decompiled bytecode and continuation‑passing style, complemented by practical code examples and execution logs.

AndroidCoroutinesKotlin
0 likes · 34 min read
Understanding Kotlin Coroutine Suspension and Resume Mechanism on Android
Programmer DD
Programmer DD
Jun 28, 2021 · Frontend Development

Unlock Multi‑Platform UI with Jetpack Compose for Web

Jetpack Compose for Web, JetBrains' new UI debugging tool, lets developers write Kotlin‑based responsive web interfaces that can be shared across Web, desktop, and Android, offering composable DOM APIs, multi‑platform widgets, and practical code examples for building and styling UI components.

Compose for WebJetpack ComposeKotlin
0 likes · 6 min read
Unlock Multi‑Platform UI with Jetpack Compose for Web
Java Backend Technology
Java Backend Technology
Jun 27, 2021 · Frontend Development

How Jetpack Compose for Web Enables Cross‑Platform UI with Kotlin

Jetpack Compose for Web, JetBrains' new Kotlin‑based framework, lets developers write responsive web interfaces that share code with desktop and Android, offering composable DOM APIs, multi‑platform widgets, and practical code examples to accelerate UI development.

Compose for WebJetpack ComposeKotlin
0 likes · 6 min read
How Jetpack Compose for Web Enables Cross‑Platform UI with Kotlin
Programmer DD
Programmer DD
Jun 23, 2021 · Backend Development

Why Java Server‑Side Developers Hesitate to Adopt Kotlin – Key Insights

The article explores the author's five‑year journey with Kotlin on the server side, examines common objections such as lack of time, perceived language hype, tooling preferences, hiring concerns, and mixed‑language codebases, and offers practical advice for teams considering a gradual Kotlin adoption.

Adoption BarriersJavaKotlin
0 likes · 10 min read
Why Java Server‑Side Developers Hesitate to Adopt Kotlin – Key Insights
Snowball Engineer Team
Snowball Engineer Team
Jun 17, 2021 · Mobile Development

Implementing Linked Scrolling Between RecyclerView and Bottom Sheet in Android

This article describes how the Snowball Android team solved the slow‑frame issue on the fund detail page by implementing a split‑screen loading layout using RecyclerView, CoordinatorLayout, and ViewPager, focusing on achieving a linked scrolling effect for the bottom discussion overlay through custom BottomSheetBehavior extensions and nested scrolling mechanisms.

AndroidBottomSheetBehaviorCoordinatorLayout
0 likes · 13 min read
Implementing Linked Scrolling Between RecyclerView and Bottom Sheet in Android
Sohu Tech Products
Sohu Tech Products
Jun 16, 2021 · Mobile Development

Getting Started with Jetpack Compose: Setup, Core Concepts, and Practical UI Development

This article introduces Jetpack Compose, explains why it replaces XML‑based Android UI, walks through environment setup, Gradle configuration, and dependency inclusion, demonstrates the setContent and XML integration methods, explores composable functions, state management, list rendering with LazyColumn, and shares practical tips and reflections on declarative UI development in Android.

AndroidComposeDeclarative UI
0 likes · 20 min read
Getting Started with Jetpack Compose: Setup, Core Concepts, and Practical UI Development
Tencent Music Tech Team
Tencent Music Tech Team
Jun 3, 2021 · Mobile Development

Accelerating Full Android Builds by Pre‑compiling Library Modules into AARs

To cut full‑build times in large Android projects, the team pre‑compiles each library module into an AAR, publishes it to a Maven repository, computes a content‑plus‑dependency‑graph hash to detect existing AARs, and automatically swaps project dependencies for matching AARs while addressing duplicate‑class and version conflicts.

AARAndroidBuild Optimization
0 likes · 11 min read
Accelerating Full Android Builds by Pre‑compiling Library Modules into AARs
Sohu Tech Products
Sohu Tech Products
May 12, 2021 · Mobile Development

Comprehensive Guide to Jetpack Compose Text Component and Its Properties

This article provides an in‑depth tutorial on Jetpack Compose's Text composable, detailing every available attribute, usage examples, styling techniques, selectable and clickable text handling, annotated strings, and practical implementations such as hyperlink integration for Android developers.

AndroidComposeJetpack Compose
0 likes · 18 min read
Comprehensive Guide to Jetpack Compose Text Component and Its Properties
Sohu Tech Products
Sohu Tech Products
May 5, 2021 · Fundamentals

Common Design Patterns in Kotlin: Singleton, Factory, Builder, Prototype, Decorator, Strategy, Template Method, and Observer

This article introduces several classic design patterns—Singleton, Factory, Builder, Prototype, Decorator, Strategy, Template Method, and Observer—showing how they can be implemented concisely in Kotlin with code examples, while also explaining the underlying language features such as object declarations, companion objects, delegation, lazy initialization, and higher‑order functions.

BuilderDesign PatternsFactory
0 likes · 23 min read
Common Design Patterns in Kotlin: Singleton, Factory, Builder, Prototype, Decorator, Strategy, Template Method, and Observer
JD Retail Technology
JD Retail Technology
Apr 27, 2021 · Mobile Development

Understanding Kotlin Coroutines: Concepts, Usage, and Comparison with RxJava

This article explains Kotlin coroutine fundamentals, creation, launch and async usage, suspension functions, withContext, and compares coroutine-based implementations with RxJava in Android development, providing code examples and best‑practice guidance, including performance considerations and migration advice.

AndroidAsyncCoroutines
0 likes · 18 min read
Understanding Kotlin Coroutines: Concepts, Usage, and Comparison with RxJava
Sohu Tech Products
Sohu Tech Products
Apr 21, 2021 · Mobile Development

Kotlin Basics: Syntax, Classes, Objects, and Functions with Examples

This article provides a comprehensive Kotlin tutorial for Android developers, covering basic syntax, variable declarations, control statements, functions, classes, objects, delegation, and standard library utilities, illustrated with clear code examples and explanations.

AndroidKotlinKotlin Basics
0 likes · 25 min read
Kotlin Basics: Syntax, Classes, Objects, and Functions with Examples
Sohu Tech Products
Sohu Tech Products
Apr 14, 2021 · Mobile Development

Comprehensive Guide to Listening to Android Fragment Visibility

This article presents a complete solution for monitoring Fragment visibility in Android, covering simple replace operations, hide/show handling, ViewPager nesting, AndroidX adapter behaviors, and a reusable BaseVisibilityFragment implementation with Kotlin code examples.

AndroidFragmentKotlin
0 likes · 12 min read
Comprehensive Guide to Listening to Android Fragment Visibility
Tencent Music Tech Team
Tencent Music Tech Team
Mar 26, 2021 · Mobile Development

Reactive Programming and LiveData Extensions for Android Development

The article explains reactive programming fundamentals, shows why traditional OO assignments struggle with dynamic data relationships, and introduces the LiveData Extensions library that leverages MediatorLiveData to create lifecycle‑aware, chainable operators (map, filter, merge, etc.), dramatically reducing boilerplate and improving code metrics in Android apps.

AndroidKotlinLiveData
0 likes · 9 min read
Reactive Programming and LiveData Extensions for Android Development
vivo Internet Technology
vivo Internet Technology
Mar 24, 2021 · Mobile Development

How LeakCanary 2.0 Detects Android Memory Leaks: Architecture and Hprof Parsing Explained

This article provides a detailed technical analysis of LeakCanary 2.0, covering its Kotlin‑based integration, the new self‑implemented Hprof parser, detection workflow, core classes such as AppWatcher and ObjectWatcher, graph indexing, and the algorithm used to locate the shortest GC‑root leak path.

AndroidHeap AnalysisHprof
0 likes · 15 min read
How LeakCanary 2.0 Detects Android Memory Leaks: Architecture and Hprof Parsing Explained
Sohu Tech Products
Sohu Tech Products
Mar 3, 2021 · Mobile Development

How Retrofit Handles Kotlin suspend Functions

This article explains how Retrofit 2.6.0 adds support for Kotlin suspend functions by detecting the Continuation parameter, determining the return type, and generating appropriate CallAdapter implementations such as SuspendForResponse and SuspendForBody to integrate coroutine handling with OkHttp.

CallAdapterCoroutinesKotlin
0 likes · 12 min read
How Retrofit Handles Kotlin suspend Functions
JD Retail Technology
JD Retail Technology
Jan 6, 2021 · Mobile Development

Kotlin Language Features, Differences from Java, and Their Practical Application in a Mobile Cash Register App

This article examines the classification of mobile apps, the shortcomings of an H5‑based cash register, the rationale for adopting Kotlin over Java, a detailed overview of Kotlin’s language features and differences, practical implementation details, interoperability, null‑safety techniques, encountered issues, and the performance gains achieved after native migration.

AndroidInteroperabilityKotlin
0 likes · 16 min read
Kotlin Language Features, Differences from Java, and Their Practical Application in a Mobile Cash Register App
Ctrip Technology
Ctrip Technology
Dec 3, 2020 · Mobile Development

Applying Kotlin Coroutines and Jetpack MVVM in Ctrip Flight App: Architecture, Implementation, and Production Challenges

This article explains how Ctrip's flight Android app refactored its home page using Kotlin coroutines, Jetpack AAC components, and MVVM architecture, detailing the technical and business background, code patterns, production issues, and lessons learned for large‑scale mobile development.

AndroidChannelCoroutines
0 likes · 20 min read
Applying Kotlin Coroutines and Jetpack MVVM in Ctrip Flight App: Architecture, Implementation, and Production Challenges
Programmer DD
Programmer DD
Dec 3, 2020 · Backend Development

How Kotlin Simplifies Spring Boot Backend Development: A Step‑by‑Step Guide

This article introduces Kotlin’s growing role in backend development, explains its interoperability with Java, and walks through creating a Spring Boot microservice using Kotlin, including project setup with Spring Initializr, Maven configuration, and sample code for a simple web endpoint, illustrating the benefits of concise Kotlin syntax.

Backend DevelopmentKotlinKotlin Tutorial
0 likes · 12 min read
How Kotlin Simplifies Spring Boot Backend Development: A Step‑by‑Step Guide
Programmer DD
Programmer DD
Dec 2, 2020 · Backend Development

Build a Kotlin Spring Boot Web Service in Minutes

This article introduces Kotlin for backend development, explains why Kotlin works well with Spring Boot, and provides a step‑by‑step tutorial—including Maven setup, essential dependencies, and sample Kotlin code—to create a simple Spring Boot web application.

Backend DevelopmentKotlinMicroservices
0 likes · 10 min read
Build a Kotlin Spring Boot Web Service in Minutes
JD Retail Technology
JD Retail Technology
Dec 1, 2020 · Fundamentals

In‑Depth Source Code Analysis of Kotlin Coroutines: Launch, Suspension, and Resumption

This article provides a comprehensive source‑code walkthrough of Kotlin coroutines, explaining how launch creates a coroutine, how the compiler transforms suspend functions into state‑machine classes, and detailing the mechanisms of suspension and resumption through Continuation, Dispatchers, and the coroutine scheduler.

AsyncCoroutinesDispatcher
0 likes · 46 min read
In‑Depth Source Code Analysis of Kotlin Coroutines: Launch, Suspension, and Resumption
Programmer DD
Programmer DD
Dec 1, 2020 · Backend Development

Build a Kotlin Spring Boot Web App in Minutes: Step‑by‑Step Guide

This article introduces Kotlin for backend development, explains its advantages over Java, and provides a hands‑on tutorial with Maven configuration, source code, and deployment steps to create a simple Spring Boot web service using Kotlin.

Backend DevelopmentKotlinMicroservices
0 likes · 10 min read
Build a Kotlin Spring Boot Web App in Minutes: Step‑by‑Step Guide
Sohu Tech Products
Sohu Tech Products
Oct 21, 2020 · Mobile Development

Understanding Android WorkManager: Features, Usage, and Source Code Analysis

This article explains Android WorkManager’s role in unified background task management, outlines its features and suitable scenarios, demonstrates how to create workers, configure work requests, and provides a detailed walkthrough of its initialization, scheduling, and execution processes through extensive source‑code analysis.

JavaKotlinMobile Development
0 likes · 31 min read
Understanding Android WorkManager: Features, Usage, and Source Code Analysis
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Oct 18, 2020 · Backend Development

Spring Boot 2.0.5 Integration with Elasticsearch: Installation, Configuration, Entity Mapping, CRUD, and Full‑Text Search

This guide demonstrates how to integrate Spring Boot 2.0.5 with Elasticsearch 5.6.11 by installing Elasticsearch and Kibana, adding the required Maven dependencies, configuring the client via application.yml or Java code, defining @Document‑annotated entities, implementing repository, service and controller layers for CRUD and full‑text search, handling Netty conflicts at startup, and verifying the setup with health, list and search endpoints.

Backend DevelopmentElasticsearchFull‑Text Search
0 likes · 8 min read
Spring Boot 2.0.5 Integration with Elasticsearch: Installation, Configuration, Entity Mapping, CRUD, and Full‑Text Search
Selected Java Interview Questions
Selected Java Interview Questions
Sep 29, 2020 · Backend Development

Why Java Anonymous Inner Classes Require Final or Effectively Final Variables and How Kotlin Handles Them Differently

The article explains why Java anonymous inner classes can only access final or effectively final variables, shows the compiler‑generated bytecode that enforces this rule, and contrasts it with Kotlin's approach of wrapping primitives to allow modification inside such classes.

Anonymous Inner ClassCompilationEffective Final
0 likes · 6 min read
Why Java Anonymous Inner Classes Require Final or Effectively Final Variables and How Kotlin Handles Them Differently
Sohu Tech Products
Sohu Tech Products
Aug 19, 2020 · Mobile Development

Understanding Kotlin Coroutines

This article provides a comprehensive guide to Kotlin coroutines, covering their concepts, creation methods (launch, runBlocking, async), nesting, suspend functions, cancellation, timeout handling, dispatchers, scopes, underlying implementation, and a practical Retrofit‑OkHttp example for asynchronous network requests in Android.

CoroutinesKotlinRetrofit
0 likes · 20 min read
Understanding Kotlin Coroutines
Youzan Coder
Youzan Coder
Aug 12, 2020 · Mobile Development

How a Single Config Line Enables Dynamic Page Redirection in Mobile Apps

This article explains the background pain points of hard‑coded cross‑stack navigation in a mobile app, describes a dynamic routing component built on URL interception, regex matching and replacement, shows Kotlin and iOS implementations, and demonstrates real‑world cases in an app center and order module.

AndroidDynamic ConfigurationKotlin
0 likes · 13 min read
How a Single Config Line Enables Dynamic Page Redirection in Mobile Apps
Architect's Tech Stack
Architect's Tech Stack
Aug 2, 2020 · Mobile Development

Guide to Migrating from Java to Kotlin for Android Development

This article outlines Google's Kotlin‑first strategy, practical steps for teams and code to transition from Java to Kotlin in Android projects, including appointing a Kotlin champion, using Android Studio's conversion tool, gradual migration practices, and interoperability considerations.

AndroidKotlinMobile Development
0 likes · 4 min read
Guide to Migrating from Java to Kotlin for Android Development
Sohu Tech Products
Sohu Tech Products
Jul 15, 2020 · Mobile Development

Android RecyclerView Item Exposure Tracking Implementation

This article presents a comprehensive solution for tracking and reporting exposure of RecyclerView items in Android, covering data collection during scrolling, visibility changes across fragment and activity lifecycles, handling data updates, and providing customizable callbacks and exposure criteria, all without requiring developers to manage the collection process manually.

ExposureTrackingFragmentLifecycleKotlin
0 likes · 20 min read
Android RecyclerView Item Exposure Tracking Implementation
Sohu Tech Products
Sohu Tech Products
Jul 1, 2020 · Mobile Development

Android Custom View Implementation and Canvas Drawing Tutorial

This article introduces how to create custom Android Views by overriding onMeasure, onLayout, and onDraw, explains the three-stage view rendering process, and provides detailed examples of Canvas drawing methods—including drawing points, lines, shapes, text, images, and bitmap manipulation—along with code snippets and usage tips.

CanvasCustom ViewGraphics
0 likes · 31 min read
Android Custom View Implementation and Canvas Drawing Tutorial
High Availability Architecture
High Availability Architecture
Jun 18, 2020 · Backend Development

Why I Stopped Using Kotlin Coroutines: Debugging, Context Propagation, and Performance Concerns

The article shares personal experiences with Kotlin coroutines, highlighting debugging challenges, loss of context across threads, pitfalls of using ThreadLocal, synchronization issues, and performance trade‑offs, ultimately explaining why the author stopped using coroutines for server‑side development.

Backend DevelopmentCoroutinesKotlin
0 likes · 9 min read
Why I Stopped Using Kotlin Coroutines: Debugging, Context Propagation, and Performance Concerns
Programmer DD
Programmer DD
May 25, 2020 · Fundamentals

7 Modern Programming Languages You Should Learn in 2024

This article examines seven modern programming languages—Rust, Go, Kotlin, TypeScript, Swift, Dart, and Julia—detailing their key features, typical use cases, popularity trends, and why developers should consider learning them to stay competitive in today's software landscape.

GoKotlinRust
0 likes · 21 min read
7 Modern Programming Languages You Should Learn in 2024
21CTO
21CTO
May 23, 2020 · Fundamentals

Can New Languages Like Go, Rust, and Swift Overtake the Old Guard?

The article examines recent TIOBE rankings and explores how emerging languages such as Go, Rust, Swift, Dart, and Kotlin compare to established giants like C, C++, Java, and JavaScript, analyzing their design goals, adoption, and prospects for replacing legacy code.

GoKotlinLanguage Trends
0 likes · 17 min read
Can New Languages Like Go, Rust, and Swift Overtake the Old Guard?
Sohu Tech Products
Sohu Tech Products
May 6, 2020 · Mobile Development

Top 10 Open‑Source Android UI Libraries with Usage Guides

This article introduces ten impressive open‑source Android UI libraries—ranging from liquid swipe animations to animated bottom navigation bars—provides Gradle dependencies, Kotlin/Java usage examples, XML integration steps, and visual screenshots to help developers quickly adopt these tools in their apps.

KotlinUIanimations
0 likes · 19 min read
Top 10 Open‑Source Android UI Libraries with Usage Guides
360 Quality & Efficiency
360 Quality & Efficiency
May 1, 2020 · Mobile Development

Understanding and Implementing Dynamic Permissions in Android

This article reviews the evolution of Android permission management, explains the concept of dynamic (runtime) permissions, compares it with iOS practices, and provides step‑by‑step Kotlin/Java code examples for checking, requesting, and handling permission results, along with compatibility considerations across devices and ROMs.

AndroidDynamic PermissionsKotlin
0 likes · 20 min read
Understanding and Implementing Dynamic Permissions in Android
360 Tech Engineering
360 Tech Engineering
Apr 28, 2020 · Mobile Development

Understanding and Implementing Dynamic Permissions in Android

This article explains the concept, history, and implementation of Android dynamic (runtime) permissions, detailing the evolution of permission models, code examples for checking and requesting permissions, handling callbacks, compatibility across Android versions and OEM customizations, and best‑practice strategies for developers.

AndroidDynamic PermissionsKotlin
0 likes · 19 min read
Understanding and Implementing Dynamic Permissions in Android
Sohu Tech Products
Sohu Tech Products
Apr 15, 2020 · Mobile Development

Getting Started with Jetpack Compose: Overview, Setup, and Basic UI Components

This article introduces Jetpack Compose, Google's modern declarative UI toolkit for Android, covering its history, installation steps, adding Compose to existing projects or creating new ones, basic composable functions, layout techniques with Column, Container, Spacer, Material Design styling, and preview capabilities, all illustrated with Kotlin code examples.

Declarative UIJetpack ComposeKotlin
0 likes · 18 min read
Getting Started with Jetpack Compose: Overview, Setup, and Basic UI Components
Sohu Tech Products
Sohu Tech Products
Jan 22, 2020 · Mobile Development

Implementing Lifecycle‑Aware ViewHolder with MVVM in Android RecyclerView

This article proposes a solution to avoid data inconsistency caused by RecyclerView ViewHolder reuse by giving each ViewHolder its own lifecycle, integrating MVVM via a BaseLifecycleViewHolder, BaseLifeCycleAdapter, and VHLiveData, and demonstrates implementation details with Kotlin and Java code examples.

JavaKotlinLifecycle
0 likes · 13 min read
Implementing Lifecycle‑Aware ViewHolder with MVVM in Android RecyclerView
Youzan Coder
Youzan Coder
Jan 15, 2020 · Mobile Development

Savitar: Incremental Compilation Acceleration for Android Development

Savitar, a custom Android Studio plugin suite, accelerates incremental compilation by detecting changed files with Watchman, gathering project metadata, invoking javac/kotlinc and AAPT2 for on‑demand builds, and hot‑loading Dex and resources at runtime, cutting average incremental build time from 110 seconds to 15 seconds and saving thousands of developer hours.

AndroidBuild OptimizationGradle
0 likes · 20 min read
Savitar: Incremental Compilation Acceleration for Android Development
vivo Internet Technology
vivo Internet Technology
Jan 8, 2020 · Fundamentals

Understanding Kotlin Coroutines, Go Coroutines, and JVM Threading

The article demonstrates that Kotlin coroutines on the JVM are merely a convenient API layered on traditional Java threads rather than true lightweight coroutines, contrasting them with Go’s M:N goroutine scheduling, and discusses experimental Kotlin‑Native and OpenJDK Loom projects that aim to provide genuine coroutine support.

CoroutinesGoJVM
0 likes · 20 min read
Understanding Kotlin Coroutines, Go Coroutines, and JVM Threading
21CTO
21CTO
Dec 29, 2019 · Fundamentals

Which 5 Programming Languages Are Set to Dominate the Future?

Dice Insights analyzed TIOBE, RedMonk rankings and its own job database to highlight five programming languages—Swift, Kotlin, Python, Groovy, and TypeScript—that are projected to experience rapid growth and increased adoption in the coming years.

KotlinLanguage TrendsSwift
0 likes · 5 min read
Which 5 Programming Languages Are Set to Dominate the Future?
Programmer DD
Programmer DD
Dec 7, 2019 · Fundamentals

Eliminate NullPointerExceptions with the Null Object Pattern and Optional

This article explains why excessive null‑checks cause a "null‑check disaster", introduces the Null Object design pattern and Java 8 Optional as clean alternatives, and showcases the NR Null Object IntelliJ plugin that can generate null‑object scaffolding automatically.

IntelliJ PluginJavaKotlin
0 likes · 10 min read
Eliminate NullPointerExceptions with the Null Object Pattern and Optional
vivo Internet Technology
vivo Internet Technology
Oct 30, 2019 · Mobile Development

Kotlin Function Features: Expression Bodies, Named & Default Arguments, Top‑Level & Extension Functions, Lambdas, Member References, with/apply

Kotlin’s function features—including expression bodies, named and default arguments, top‑level and extension functions, local functions, lambdas, member references, and the utility functions with and apply—enable Android developers to write concise, expressive, and boiler‑plate‑free code.

Extension FunctionsKotlinLambda
0 likes · 17 min read
Kotlin Function Features: Expression Bodies, Named & Default Arguments, Top‑Level & Extension Functions, Lambdas, Member References, with/apply
Jike Tech Team
Jike Tech Team
Sep 25, 2019 · Mobile Development

Why Kotlin Differs from Java: Constructors, init Blocks, and Static Alternatives

This article explores the key differences between Kotlin and Java for Android development, covering constructors, init blocks, val versus final, static equivalents with companion objects, top‑level declarations, arrays, collections, sequences, visibility modifiers, and includes practical exercises.

AndroidCollectionsCompanion Object
0 likes · 23 min read
Why Kotlin Differs from Java: Constructors, init Blocks, and Static Alternatives
21CTO
21CTO
Sep 24, 2019 · Mobile Development

Master Kotlin for Android with Google’s Free Udacity Courses

Google and Udacity have launched two free Kotlin video courses that teach beginners the language fundamentals and guide them through building Android apps, covering Jetpack components, popular libraries, and coroutines, ultimately enabling the creation of over ten practical applications.

AndroidFree CourseGoogle
0 likes · 4 min read
Master Kotlin for Android with Google’s Free Udacity Courses
Jike Tech Team
Jike Tech Team
Sep 24, 2019 · Mobile Development

Master Kotlin for Android: A Quick Start Guide for Mobile Developers

This guide walks Android engineers through adding Kotlin support to new or existing projects, explains Kotlin's variable declarations, null‑safety features, type inference, val/var usage, visibility modifiers, class inheritance, open/final semantics, and safe casting, providing concise code examples and practical tips.

AndroidKotlinMobile Development
0 likes · 25 min read
Master Kotlin for Android: A Quick Start Guide for Mobile Developers
Ctrip Technology
Ctrip Technology
Sep 11, 2019 · Mobile Development

Practical Guide to Kotlin DSL: Applications, Examples, and Building Your Own DSL

This article introduces Kotlin DSL concepts, demonstrates real‑world applications such as Trip.com payment network encapsulation, overseas payment SDK Gradle scripts, Anko layouts, and provides a step‑by‑step example for creating a custom DSL, highlighting benefits, trade‑offs, and best practices for mobile development.

AndroidAnkoDSL
0 likes · 11 min read
Practical Guide to Kotlin DSL: Applications, Examples, and Building Your Own DSL
21CTO
21CTO
Sep 7, 2019 · Fundamentals

Which 5 Programming Languages Are Poised to Surge in the Coming Years?

Based on Dice Insights’ analysis of TIOBE, RedMonk and internal hiring data, this article highlights five programming languages—Swift, Kotlin, Python, Groovy, and TypeScript—that are expected to experience rapid growth in the coming years, explaining the reasons behind each trend.

GroovyKotlinLanguage Trends
0 likes · 6 min read
Which 5 Programming Languages Are Poised to Surge in the Coming Years?
Programmer DD
Programmer DD
Jul 11, 2019 · Backend Development

Escaping Callback Hell: From Blocking Calls to Reactive Streams in Kotlin

This article explains the code types involved in synchronous remote calls, demonstrates how blocking IO leads to callback hell, and shows how to simplify the programming model using Java CompletableFuture, AsyncHttpClient, and Project Reactor’s reactive streams to efficiently retrieve city data.

AsyncHttpClientCompletableFutureKotlin
0 likes · 9 min read
Escaping Callback Hell: From Blocking Calls to Reactive Streams in Kotlin
360 Tech Engineering
360 Tech Engineering
Jul 10, 2019 · Frontend Development

The Past, Present, and Future of Front‑End Development Programming Languages

This article reviews the evolution of front‑end programming languages, discusses why extreme attitudes toward language choice hinder productive discussion, explains how platform constraints shape language selection, examines the strengths and weaknesses of JavaScript, Java, and Objective‑C, and predicts increasing convergence and cross‑platform trends among modern front‑end languages.

JavaScriptKotlinSwift
0 likes · 33 min read
The Past, Present, and Future of Front‑End Development Programming Languages