A desktop-class text and source code editor engineered specifically for Android devices.

NoteCode++ brings the productivity and classic developer workflow of desktop code editors like Notepad++ to Android. Built 100% natively using Jetpack Compose and Material Design 3, NoteCode++ is designed for programmers, sysadmins, writers, and power users who need a robust, privacy-first code editor on phones and tablets.

- Open, edit, and switch between multiple documents seamlessly.

- Visual dirty/modified indicators (*) and tab close affordances.

- New tab creation, document renaming, and quick document switching.

- Built-in lexical syntax highlighters for 12+ programming and markup languages:

- Kotlin, Java, Python, JavaScript, TypeScript, C, C++, HTML, CSS, JSON, Markdown, XML, SQL, Shell, Plain Text.

- 8 Themes including:

- Notepad++ Classic

- Modern Dark

- Monokai

- Dracula

- Solarized Dark

- Solarized Light

- Nord

- GitHub Light

- Uses Android's Storage Access Framework (SAF) to open and save files from:

- Internal device storage

- MicroSD cards

- USB OTG drives

- Cloud storage providers (Google Drive, Nextcloud, OneDrive)

- Two-Finger Pinch Gestures: Smoothly pinch-in to decrease or pinch-out to increase editor text size dynamically (8sp to 36sp).

- Interactive HUD Overlay: Displays live font size and scale percentage with a one-tap Reset button to return to 100% (14sp).

- Dynamic Gutter & Alignment: Line number gutter and code canvas scale in exact lockstep without clipping or cursor jitter.

- Status Bar Zoom Pill: Quick at-a-glance zoom indicator in the status bar with tap-to-reset.

- Fast in-editor search with real-time match highlighting.

- Next / Previous match navigation.

- Match Case (case-sensitive), Whole Word, and Regex (Regular Expression) search support.

- One-by-one or replace-all operations.

- Sort Lines: Sort selected or document lines ascending (A-Z) or descending (Z-A).

- Remove Duplicate Lines: Instant deduplication for lists and configs.

- Trim Whitespace: Clean leading and trailing spaces across all lines.

- Join Lines / Reverse Lines: Invert or collapse text structures.

- Line Operations: Duplicate line, delete line, toggle comment syntax, and insert timestamps.

- Bookmarks: Set line bookmarks, jump between next/previous bookmarks, and clear all.

- Go to Line: Instant navigation to any line number.

- Case Conversion: UPPERCASE, lowercase, Title Case, camelCase, snake_case, and kebab-case.

- Real-time status bar showing cursor line, column number, character selection length, total characters, and line count.

- Detailed Document Statistics Dialog: word count, character count (with and without whitespace), and formatted file size in bytes/KB/MB.

- Line ending detection and switching: Unix (LF) vs. Windows (CRLF).

- Character encoding handling: UTF-8 and ANSI (Windows-1252).

- Built-in previewer to render Markdown and live HTML/CSS output directly inside the app.

- Zero telemetry, zero analytics tracking, and zero advertising SDKs.

- Operates entirely locally on your device with no required account or subscription paywall.

The compiled debug APK is included directly in this repository:

- Location: apk/notecode-plus-plus-debug.apk

- Download notecode-plus-plus-debug.apkdirectly to your Android device or clone this repo.

- In Android Settings, ensure Install unknown apps is permitted for your browser or file manager.

- Tap the downloaded .apkfile and select Install.

Alternatively, install via ADB:

adb install apk/notecode-plus-plus-debug.apk- Language: Kotlin (100%)

- UI Framework: Jetpack Compose with Material Design 3

- Architecture: MVVM (Model-View-ViewModel) + Unidirectional Data Flow (UDF)

- Asynchronous Flow: Kotlin Coroutines & StateFlow

- File Access: Android Storage Access Framework (SAF) OpenDocument&CreateDocument

- Build System: Gradle with Kotlin DSL (build.gradle.kts) and Version Catalogs (libs.versions.toml)

- Android Studio: Ladybug / Meerkat or newer

- JDK: Version 17+

- Android SDK: Compile SDK 34, Min SDK 26

# Clone the repository

git clone https://github.com/your-username/notecode-android.git

cd notecode-android

# Build Debug APK

./gradlew assembleDebug

# The APK will be generated at:

# app/build/outputs/apk/debug/app-debug.apk├── apk/

│ └── notecode-plus-plus-debug.apk # Pre-compiled ready-to-install APK

├── app/

│ ├── src/main/

│ │ ├── java/com/example/

│ │ │ ├── data/model/ # Document entities & state models

│ │ │ ├── ui/

│ │ │ │ ├── components/ # Canvas, Toolbars, Dialogs, Status & Tab Bars

│ │ │ │ ├── screen/ # Main NotepadScreen Compose view

│ │ │ │ ├── syntax/ # Lexer & Syntax Highlighter engine

│ │ │ │ ├── theme/ # Editor theme palettes & M3 theming

│ │ │ │ └── viewmodel/ # EditorViewModel & state managers

│ │ │ └── MainActivity.kt # Main single-activity entry point

│ │ └── res/ # Vector assets, launcher icons, strings

│ └── build.gradle.kts

├── gradle/

│ └── libs.versions.toml # Gradle Version Catalog

└── README.md

This project is open-source under the Apache 2.0 License. Feel free to fork, contribute, and adapt it for your own developer tool needs!