Chucker Kotlin: पूर्ण गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Chucker Kotlin: पूर्ण गाइड उदाहरणों के साथ

1. यह क्या है और क्यों ज़रूरी है

Chucker एक शक्तिशाली Kotlin-आधारित लाइब्रेरी है जो Android ऐप्स में HTTP रिक्वेस्ट को डीबग करने के लिए उपयोग की जाती है। यह डेवलपर्स को OkHttp क्लाइंट के माध्यम से होने वाले सभी नेटवर्क ट्रैफ़िक को डिवाइस पर ही इंटरसेप्ट, लॉग और इंस्पेक्ट करने की सुविधा देती है। Logcat में सामान्य लॉगिंग के विपरीत, Chucker एक अलग स्क्रीन (Activity) के रूप में एक सुविधाजनक ग्राफिकल इंटरफ़ेस प्रदान करता है, जहाँ आप हेडर, रिक्वेस्ट और रिस्पॉन्स बॉडी, स्टेटस कोड, निष्पादन समय और डेटा साइज़ देख सकते हैं।

Chucker का मुख्य उद्देश्य नेटवर्क कम्युनिकेशन को डीबग करने की प्रक्रिया को सरल बनाना है। डिवाइस को कंप्यूटर से कनेक्ट करके लॉग फ़िल्टर करने के बजाय, डेवलपर ऐप खोलकर तुरंत सभी HTTP ट्रांज़ैक्शन देख सकता है। यह वास्तविक डिवाइस पर टेस्टिंग के दौरान विशेष रूप से उपयोगी है, जब ADB तक पहुँच सीमित हो, या QA टीमों के साथ काम करते समय, जो स्वतंत्र रूप से रिक्वेस्ट की विस्तृत जानकारी के साथ एरर स्क्रीनशॉट प्रदान कर सकते हैं।

Chucker कंटेंट टाइप (JSON, XML, इमेज) के अनुसार फ़िल्टरिंग, URL द्वारा सर्च, एरर और एक्सेप्शन देखने, और लॉग को फ़ाइल में एक्सपोर्ट करने की सुविधा भी देता है। यह लाइब्रेरी SSL एरर, टाइमआउट और अन्य नेटवर्क समस्याओं के बारे में स्वचालित रूप से जानकारी एकत्र करती है, जो इसे REST API के साथ काम करने वाले किसी भी Android डेवलपर के लिए एक अनिवार्य टूल बनाती है।

2. इंस्टॉलेशन

Chucker Maven Central के माध्यम से वितरित किया जाता है। इसे इंस्टॉल करने के लिए, अपने ऐप मॉड्यूल के build.gradle.kts (या build.gradle) फ़ाइल में डिपेंडेंसी जोड़नी होगी।

महत्वपूर्ण: यह लाइब्रेरी pip, npm या cargo के माध्यम से इंस्टॉल करने के लिए नहीं है। यह एक Android लाइब्रेरी है और Gradle बिल्ड सिस्टम के माध्यम से जुड़ती है।

build.gradle.kts (Module: app) में जोड़ने का तरीका:

// build.gradle.kts (Module: app)
dependencies {
    // मुख्य Chucker लाइब्रेरी (केवल debug बिल्ड के लिए)
    debugImplementation("com.github.chuckerteam.chucker:library:4.0.0")

    // No-Op (डमी) लाइब्रेरी release बिल्ड के लिए
    releaseImplementation("com.github.chuckerteam.chucker:library-no-op:4.0.0")
}

Groovy (build.gradle) के लिए:

// build.gradle (Module: app)
dependencies {
    debugImplementation 'com.github.chuckerteam.chucker:library:4.0.0'
    releaseImplementation 'com.github.chuckerteam.chucker:library-no-op:4.0.0'
}

स्पष्टीकरण: debugImplementation का उपयोग यह सुनिश्चित करता है कि Chucker केवल डीबग बिल्ड में ही उपलब्ध हो। releaseImplementation के साथ library-no-op वर्जन Chucker के सभी कॉल को खाली फंक्शन से बदल देता है, जिससे प्रोडक्शन में डेटा लीक नहीं होता और APK का आकार नहीं बढ़ता।

3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

लाइब्रेरी इंस्टॉल करने के बाद, एक OkHttpClient बनाएँ और उसमें Chucker इंटरसेप्टर जोड़ें। फिर इस क्लाइंट का उपयोग Retrofit या किसी अन्य HTTP क्लाइंट को बनाने के लिए करें।

// MainActivity.kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.chuckerteam.chucker.api.ChuckerCollector
import com.chuckerteam.chucker.api.ChuckerInterceptor
import okhttp3.OkHttpClient
import okhttp3.Request

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 1. लॉग स्टोर करने के लिए कलेक्टर बनाएँ
        val collector = ChuckerCollector(this)

        // 2. इंटरसेप्टर बनाएँ
        val chuckerInterceptor = ChuckerInterceptor.Builder(this)                    

अनुशंसाएँ