BACK TO PROJECTS
CASE FILE #003STATUS: COMPLETED

Catatan Android

Role: Native Android DeveloperYear: 2025

I built Catatan Android as an offline-first note-taking application on Android using Java and SQLite. It features instant search, category filtering via Material ChipGroup, gallery photo attachments using persistent Storage Access Framework permissions, and a soft-delete Recycle Bin to safely restore deleted notes.

JavaAndroid SDKSQLiteMaterial DesignAndroidX

Application Screenshots & Gallery

4 Images
Catatan Android - Screenshot 1
View Full Screenshot
Catatan Android - Screenshot 2
View Full Screenshot
Catatan Android - Screenshot 3
View Full Screenshot

The Problem Context

Many note-taking apps rely on online sync, introducing privacy risks, slow offline performance, and accidental loss of important notes when deleted.

The Engineering Solution

I developed a native Android app using SQLite local storage, persistent Storage Access Framework permissions for image attachments, and a soft-delete mechanism (is_deleted = 1) that lets users recover deleted notes from a dedicated Recycle Bin.

SYSTEM ARCHITECTURE TOPOLOGYInteractive Topology
STEP 01
Android Material UI
XML Layouts, RecyclerView & ChipGroup
FRONTEND LAYER
STEP 02
MVC Controllers
Java Activity & Adapter Classes
LOGIC LAYER
STEP 03
SQLite Persistence
SQLiteOpenHelper (Database Version 2)
DATABASE LAYER
STEP 04
Storage Framework
Persistable URI Gallery Media Picker
SERVICE LAYER
SELECTED NODE:Android Material UI
Click any node to inspect

Implementation Highlights

01.

Designed MVC architecture separating Note model entity, SQLite DatabaseHelper, and RecyclerView adapters.

02.

Implemented SQLite database migration from version 1 to 2, adding soft-delete columns without losing data.

03.

Built soft-delete Recycle Bin workflow allowing users to restore deleted notes or permanently purge records.

04.

Utilized Storage Access Framework with takePersistableUriPermission for attached photo persistence.

05.

Applied Android 13+ granular permission checks based on device API level.

Measurable Results

  • Achieved 100% offline note creation, live search filtering, and media attachment capability.
  • Prevented accidental note loss through the soft-delete Recycle Bin recovery system.
  • Delivered fast sub-30ms SQLite query lookup speeds.

Key Lessons Learned

  • Soft delete patterns in mobile apps improve user satisfaction by preventing accidental data loss.
  • Persistable URI permissions are essential when integrating gallery media into local SQLite databases.