2026 में Room TypeConverters: अपने स्कीमा को खराब किए बिना एनम, डेट, और लिस्ट स्टोर करना
Android पर Room TypeConverters के लिए एक व्यावहारिक गाइड — एनम, Instant/LocalDate, और लिस्ट — साथ ही वे ग़लतियाँ जो एक कनवर्टर को एक चुपचाप डेटा-करप्शन बग में बदल देती हैं।
Kotlin, Room और Compose के लिए R8 और ProGuard: वह क्रैश जो सिर्फ़ रिलीज़ में होता है
एक Room + Compose Android ऐप डिबग में बिल्कुल ठीक क्यों चलता है और प्रोडक्शन में क्रैश क्यों होता है, और वे ख़ास R8/ProGuard keep नियम जो इसे यूज़र से पहले पकड़ लेते हैं।
Android का In-App Review API: बिना परेशान किए रेटिंग माँगना
Google के In-App Review API की एक व्यावहारिक गाइड — यह असल में कैसे काम करता है, इसे कब ट्रिगर करना चाहिए, और सामान्य 'हमें रेट करें' पॉपअप आपकी Play Store रेटिंग को चुपचाप कैसे नुकसान पहुँचा रहा है।
Android ऐप शॉर्टकट्स और Quick Settings Tiles: बिना ऐप खोले पानी लॉग करना
Android के डायनामिक ShortcutManager API और TileService की एक व्यावहारिक गाइड — कैसे एक-टैप एक्शन को पूरी तरह ऐप को छोड़कर काम करने दें, साथ ही वे गड़बड़ियाँ जो ज़्यादातर इम्प्लीमेंटेशन को फँसा देती हैं।
2026 में Android पर फोरग्राउंड सर्विस टाइप्स: वह चुनना जो आपके फीचर पर सच में लागू हो
Android के फोरग्राउंड सर्विस टाइप प्रतिबंधों की एक व्यावहारिक गाइड — dataSync, mediaPlayback, specialUse, shortService — और बिना मारे या रिजेक्ट हुए सही वाला कैसे चुनें।
Jetpack Compose में StateFlow बनाम SharedFlow: रीप्ले बग के बिना UI स्टेट मॉडल करना
एक Compose ViewModel में StateFlow कब इस्तेमाल करें और SharedFlow कब — और दोनों को मिला देने पर सामने आने वाला वन-टाइम-इवेंट बग।
2026 में Room डेटाबेस इंडेक्स: वाकई धीमी क्वेरी को ढूँढना और ठीक करना
Android पर Room/SQLite डेटाबेस को इंडेक्स करने की व्यावहारिक गाइड — EXPLAIN QUERY PLAN पढ़ना, बिना अंदाज़े के @Index जोड़ना, और वे गलतियाँ जो चुपचाप इंडेक्स को बेअसर कर देती हैं।
Room का @Relation: Android पर N+1 क्वेरी के बिना वन-टू-मेनी डेटा क्वेरी करना
Room के @Relation एनोटेशन की एक व्यावहारिक गाइड — categories और entries जैसे वन-टू-मेनी डेटा को N+1 क्वेरी या मैनुअल join के बिना मॉडल करना।
Jetpack Compose में Type-Safe Navigation: Routes को Strings नहीं, Data की तरह
String-based Compose Navigation routes को serializable Kotlin objects से कैसे बदलें — type-safe arguments, nested graphs, और deep links जो refactor के बाद भी टिके रहें।
Android 16 Live Updates: Mintly के फोकस टाइमर को लॉक स्क्रीन पर लाना
Android 16 के प्रोग्रेस-केंद्रित नोटिफिकेशन की एक व्यावहारिक गाइड — ProgressStyle सेगमेंट, प्रमोटेड ऑनगोइंग नोटिफिकेशन, और ये एक चलते हुए Pomodoro टाइमर में क्या जोड़ते हैं।
2026 में Android नोटिफ़िकेशन चैनल: ऐसे महत्व स्तर डिज़ाइन करना जिन्हें यूज़र म्यूट न करें
Android नोटिफ़िकेशन चैनलों की एक व्यावहारिक गाइड — महत्व स्तर, चैनल समूह, बनने के बाद सेटिंग्स क्यों जम जाती हैं, और यूज़र का भरोसा खोए बिना उन्हें कैसे माइग्रेट करें।
Room के साथ Paging 3: 2026 में Android पर बढ़ती ट्रांज़ैक्शन लिस्ट को स्मूद बनाए रखना
Jetpack Paging 3 से Room-आधारित ट्रांज़ैक्शन लिस्ट को कैसे पेज करें ताकि Compose में सालों का डेटा भी स्मूद बना रहे — कोई RemoteMediator नहीं, कोई नेटवर्क नहीं, बस एक लोकल डेटाबेस सही तरीके से किया गया।
Android का 16 KB पेज साइज़ माइग्रेशन: असल में क्या टूटता है और अपना APK कैसे जांचें
Google अब चाहता है कि Android ऐप्स 16 KB मेमोरी पेज सपोर्ट करें। व्यवहार में इसका क्या मतलब है, नेटिव लाइब्रेरीज़ ही क्यों टूटती हैं, और यह कैसे जांचें कि आपकी ऐप सुरक्षित है।
2026 में Android पर संरचित समवर्तीता: scope, कैंसिलेशन, और जो लीक ये रोकती है
Android पर Kotlin संरचित समवर्तीता की एक व्यावहारिक गाइड — viewModelScope बनाम lifecycleScope, कैंसिलेशन क्यों फैलता है, और वो coroutine लीक जिन्हें यह चुपचाप रोक देती है।
Jetpack Compose में recomposition: असल में इसे क्या ट्रिगर करता है, और मैंने अंदाज़ा लगाना क्यों छोड़ दिया
2026 के लिए Jetpack Compose recomposition की एक व्यावहारिक गाइड — टाइप स्थिरता, अस्थिर लैम्ब्डा, LazyColumn keys, और कंपाइलर की अपनी metrics रिपोर्ट पढ़ना।
Room में फुल-टेक्स्ट सर्च: 2026 में एक लोकल-फर्स्ट Android ऐप में इंस्टेंट सर्च जोड़ना
Android पर Room के FTS4 सपोर्ट की एक व्यावहारिक गाइड — एक वर्चुअल सर्च टेबल बनाना, उसे ट्रिगर्स से सिंक रखना, और FTS5 को मैनुअल माइग्रेशन की ज़रूरत क्यों पड़ती है।
2026 में Room डेटाबेस को एन्क्रिप्ट करना: SQLCipher, Keystore, और बिना डेटा खोए माइग्रेशन
Android पर Room/SQLite डेटाबेस को आराम की स्थिति में SQLCipher से एन्क्रिप्ट करने की व्यावहारिक गाइड — Keystore के जरिए की-मैनेजमेंट, एक-बार का माइग्रेशन, और असली परफ़ॉर्मेंस लागत।
2026 में Android पर लोकल-फर्स्ट डेटा का बैकअप: SAF एक्सपोर्ट, Auto Backup, और एक ऐसा रीस्टोर फ़्लो जिस पर भरोसा किया जा सके
बिना सर्वर के लोकल-फर्स्ट Android ऐप्स यूज़र डेटा का बैकअप कैसे लेते हैं: SAF एक्सपोर्ट/इम्पोर्ट, Auto Backup for App Data, और एक रीस्टोर जो ओवरराइट करने से पहले जाँच करता है।
2026 में एक लोकल-फर्स्ट Android ऐप को टेस्ट करना: Room, Flow और वे Compose UI टेस्ट जो असली बग पकड़ते हैं
2026 में लोकल-फर्स्ट Android ऐप्स के लिए एक व्यावहारिक टेस्टिंग रणनीति — इन-मेमोरी Room DAO टेस्ट, Flow के लिए Turbine, और कुछ गिने-चुने Compose UI टेस्ट जो वाकई लिखने लायक हैं।
2026 में Android पर बायोमेट्रिक ऑथेंटिकेशन: BiometricPrompt, Keystore, और एक लोकल-फर्स्ट ऐप को लॉक करना
androidx.biometric की व्यावहारिक गाइड — BiometricPrompt, CryptoObject-समर्थित keys, डिवाइस credential fallback, और वे गलतियाँ जिनकी वजह से एक फिंगरप्रिंट चेक असल में कुछ भी सुरक्षित नहीं करता।
2026 में Android पर एक्सेसिबिलिटी: एक TalkBack और Compose semantics चेकलिस्ट जो वाकई काम करती है
2026 के लिए एक व्यावहारिक Android एक्सेसिबिलिटी चेकलिस्ट — TalkBack, Compose semantics, टच टारगेट, और रिलीज़ से पहले हर स्क्रीन पर जो टेस्टिंग पास मैं करता हूं।
2026 में Android पर Health Connect: लोकल-फर्स्ट को छोड़े बिना डेटा पढ़ना और लिखना
2026 में Android के Health Connect API की एक व्यावहारिक गाइड — परमिशन, बैकग्राउंड रीड्स, और लोकल-फर्स्ट ऐप्स को इसे सच नहीं, बल्कि वैकल्पिक क्यों मानना चाहिए।
2026 में Android पर edge-to-edge और predictive back: अब क्या अनिवार्य हो गया है, और अपने UI को टूटने से कैसे बचाएं
Edge-to-edge अब API 35+ पर अनिवार्य है और predictive back डिफ़ॉल्ट जेस्चर बन गया है। Compose insets, WindowInsets, और PredictiveBackHandler के लिए एक व्यावहारिक गाइड।
2026 में Jetpack DataStore: बिना एक भी सेटिंग खोए SharedPreferences से माइग्रेट करना
Android पर SharedPreferences से Jetpack DataStore पर जाने की एक व्यावहारिक गाइड — असिंक्रोनस दिक्कतें, मौजूदा वैल्यू को बचाने वाला माइग्रेशन तरीका, और इसे कैसे टेस्ट करें।
2026 में Android पर ML Kit बारकोड स्कैनिंग: Stocky एक सेकंड से भी कम समय में पैंट्री आइटम कैसे जोड़ता है
ML Kit और CameraX के साथ ऑन-डिवाइस बारकोड स्कैनिंग की एक व्यावहारिक 2026 गाइड — फॉर्मेट ट्यूनिंग, ऑफ़लाइन प्रोडक्ट लुकअप, और एक पैंट्री ऐप के पीछे का आंशिक-उपयोग गणित।
2026 में Room डेटाबेस माइग्रेशन: बिना एक भी रो खोए स्कीमा बदलाव शिप करना
Android पर Room डेटाबेस माइग्रेशन के लिए एक व्यावहारिक गाइड — AutoMigration, हाथ से लिखे Migration ऑब्जेक्ट्स, और अपने यूज़र्स के बग पाने से पहले माइग्रेशन को कैसे टेस्ट करें।
Android पर Baseline Profiles: 2026 में आपका कोल्ड-स्टार्ट टाइम असल में क्या तय करता है
Android Baseline Profiles के लिए एक व्यावहारिक गाइड — Macrobenchmark से इसे जनरेट करना, Gradle में जोड़ना, असली फायदे को मापना, और कोल्ड स्टार्ट को प्रभावित करने वाली तीन और चीज़ें।
2026 में Jetpack Glance: एक ऐसा होम-स्क्रीन विजेट बनाना जो आपके डेटा के बारे में कभी झूठ न बोले
Jetpack Glance विजेट्स के लिए एक व्यावहारिक गाइड — स्टेट, क्लिक एक्शन्स, और वह अपडेट-कोटा जाल जो विजेट्स को पुराना डेटा दिखाने पर मजबूर कर देता है।
OldSchool का एडहेरेंस कैलेंडर बनाना: दवा के टैप्स को भरोसेमंद दिन में बदलना
एक महीने का एडहेरेंस कैलेंडर हर दिन के लिए बस एक रंगीन डॉट जैसा दिखता है। जानिए इसके पीछे का इवेंट मॉडल, दिन के स्टेटस के नियम, और समय-पालन का गणित, वह भी डिवाइस पर।
Subly बनाना: सब्सक्रिप्शन रिन्यूअल तारीखों के पीछे का कैलेंडर गणित
किसी सब्सक्रिप्शन की अगली चार्ज तारीख का अनुमान लगाना तब तक साधारण लगता है जब तक आप महीने के अंत की बिलिंग, लीप ईयर और ट्रायल कन्वर्शन से नहीं टकराते। यहाँ बताया गया है कि Subly इसे डिवाइस पर ही कैसे सही करता है।
Mintly बनाना: जब Android प्रोसेस को मारना चाहता है तब भी फोकस टाइमर को सटीक रखना
चल रहे Pomodoro टाइमर की विश्वसनीयता की समस्या एक बार वाले रिमाइंडर से ज़्यादा कठिन होती है। जानिए कैसे Mintly एक फोरग्राउंड सर्विस और वॉल-क्लॉक एंड टाइम की मदद से Doze, प्रोसेस डेथ और स्क्रीन-ऑफ ड्रिफ्ट से बचता है।
Granyn बनाना: बिना बैंक लॉगिन वाला बजट ट्रैकर, बस तीन टेबल में
Granyn एक भी बैंक अकाउंट जोड़े बिना कई मुद्राओं में खर्च कैसे ट्रैक करता है और आवर्ती बिलों को कैसे पकड़ता है — इसके पीछे का Room स्कीमा, और इससे जुड़े समझौते।
Android नोटिफ़िकेशन एक्शन सही तरीके से: बिना ऐप खोले एक खुराक को ली गई के रूप में चिह्नित करना
Android नोटिफ़िकेशन एक्शन बटन के लिए एक व्यावहारिक गाइड — PendingIntent, activity-trampoline प्रतिबंध, goAsync(), और Room स्टेट को सुरक्षित रूप से अपडेट करना।
Stocky बनाना: आपकी रसोई में क्या खत्म होने वाला है, इसका पूर्वानुमान — वह भी डिवाइस पर ही
Stocky एक बारकोड स्कैन और थोड़े-से उपयोग इतिहास को ऐसी शॉपिंग लिस्ट में कैसे बदल देता है जो आपके खत्म होने से पहले ही सामने आ जाती है — और सारा गणित, सारा डेटा, आपके फोन पर ही रहता है।
Android पर प्राइवेसी-फर्स्ट OCR: Subly बिना क्लाउड के बिल कैसे पढ़ता है
2026 के लिए Android पर ऑन-डिवाइस OCR की व्यावहारिक गाइड, ML Kit Text Recognition के साथ — सेटअप, कोड, और वे फ़ील्ड-एक्सट्रैक्शन तरकीबें जो यूज़र के डेटा को आपके सर्वर से दूर रखती हैं।
Hydrame बनाना: बिना टोकाटाकी के स्मार्ट रिमाइंडर
एक रिमाइंडर ऐप अपने नोटिफ़िकेशन से ही जीता या मरता है। मैंने Hydrame के नोटिफ़िकेशन को कैसे डिज़ाइन किया कि वे आपको धीरे से याद दिलाएँ — और आपके दिन से लड़ने के बजाय उसके साथ ढल जाएँ, यही बता रहा हूँ।
2026 में भरोसेमंद Android रिमाइंडर: WorkManager, सटीक अलार्म और नए बैटरी नियम
2026 में Android पर ऐसे रिमाइंडर कैसे शिप करें जो सचमुच फायर हों — WorkManager बनाम AlarmManager, SCHEDULE_EXACT_ALARM, POST_NOTIFICATIONS, और वे OEM झंझटें जो अब भी काटती हैं।
2026 में लोकल-फर्स्ट Android: SQLite, Room, और यूज़र डेटा को डिवाइस पर ही रखना
Room और SQLite के साथ लोकल-फर्स्ट Android ऐप बनाने की 2026 गाइड — स्कीमा डिज़ाइन, माइग्रेशन, WAL, एक्सपोर्ट, और सिंक कब जोड़ें (और कब नहीं)।
लोकल-फ़र्स्ट ऐप्स का प्राइवेसी फ़ायदा
सबसे निजी डेटा वही है जिसे आप कभी इकट्ठा ही नहीं करते। लोकल-फ़र्स्ट सिर्फ़ एक आर्किटेक्चर का चुनाव नहीं है — यह सबसे सरल प्राइवेसी नीति है जो हो सकती है।