Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में हैंडलर?

<घंटा/>

हम बैकग्राउंड थ्रेड को सीधे मेन थ्रेड से टच नहीं कर सकते हैं, इसलिए हैंडलर उन सभी इवेंट्स को इकट्ठा करने जा रहा है जो मुख्य थ्रेड में एक क्यू में उपलब्ध हैं और इस क्यू को लूपर क्लास में रखते हैं।

एंड्रॉइड में हैंडलर मुख्य रूप से बैकग्राउंड थ्रेड या मुख्य थ्रेड के अलावा मुख्य थ्रेड को अपडेट करने के लिए उपयोग किया जाता है। हैंडलर में दो तरीके हैं।

  • पोस्ट () - यह लूपर का उपयोग करके बैकग्राउंड थ्रेड से मुख्य थ्रेड पर संदेश पोस्ट करने जा रहा है।

  • संदेश भेजें () - यदि आप ui (पृष्ठभूमि थ्रेड से संदेश) या ui फ़ंक्शन को जो भेजा है उसे व्यवस्थित करना चाहते हैं। आपको SendMessage() का उपयोग करना चाहिए।

यह उदाहरण दर्शाता है कि प्रोग्रेस डायलॉग में कैसे हैंडलर किया जाए।

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

 <बटन एंड्रॉइड:आईडी ="@ + आईडी / बटन" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट ="क्लिक" ऐप:लेआउट_कॉन्स्ट्रेंटबॉटम_टोबॉटमऑफ ="पैरेंट" ऐप:layout_constraintLeft_toLeftOf ="पैरेंट" ऐप:layout_constraintRight_toRightOf ="पैरेंट" ऐप:layout_constraintTop_toTopOf ="parent" />

चरण 3 - निम्न कोड को src/MainActivity.java

में जोड़ें
import android.app.ProgressDialog;import android.os.Build;import android.os.Bundle;import android.os.Handler;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;आयात android.view.View;import android.widget.Button;import android.widget.ProgressBar;पब्लिक क्लास MainActivity AppCompatActivity इम्प्लीमेंट्स View.OnClickListener {हैंडलर mHandler; प्रोग्रेसडिअलॉग एमप्रोग्रेसबार; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); बटन बटन =findViewById (R.id.button); बटन.सेटऑनक्लिक लिस्टनर (यह); } @RequiresApi(api =Build.VERSION_CODES.O) @Override public void onClick(View v) {स्विच (v.getId()) { case R.id.button:NotificationDialog(); तोड़ना; } } @RequiresApi(api =Build.VERSION_CODES.O) निजी शून्य अधिसूचनाDialog() {mHandler=new Handler(); एम प्रोग्रेसबार =नया प्रोग्रेसडिअलॉग (मेनएक्टिविटी। यह); mProgressBar.setMax(100); mProgressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); एम प्रोग्रेसबार.शो (); नया थ्रेड (नया रननेबल () {@ ओवरराइड सार्वजनिक शून्य रन () {के लिए (int i =0; i <=100; i ++) {अंतिम int currentProgressCount =i; कोशिश करें {थ्रेड। स्लीप (50); } कैच (इंटरप्टेड एक्सेप्शन) ई) {ई.प्रिंटस्टैकट्रेस (); } // यूआई थ्रेड में वैल्यू बैकग्राउंड थ्रेड को अपडेट करें mHandler.post(new Runnable() {@Override public void run() {mProgressBar.setProgress(currentProgressCount); }}); } })।शुरु(); }} 

आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक को खोलें और टूलबार से रन एक्लिप्स रन आइकन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

एंड्रॉइड में हैंडलर?

जब उपयोगकर्ता उपरोक्त बटन पर क्लिक करता है तो यह नीचे दिखाए गए अनुसार प्रगति संवाद दिखाएगा।

एंड्रॉइड में हैंडलर?


एंड्रॉइड में हैंडलर?


  1. देरी के बाद विधि को कैसे कॉल करें?

    यह उदाहरण दर्शाता है कि एंड्रॉइड में देरी के बाद मैं विधि को कैसे कॉल करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 - निम्न कोड

  1. ब्लूस्टैक्स:क्या यह सुरक्षित है?

    इस बात से कोई इंकार नहीं है कि ब्लूस्टैक्स सबसे लोकप्रिय एंड्रॉइड एमुलेटर में से एक है। लेकिन किसी भी अन्य एंड्रॉइड एमुलेटर के विपरीत, ब्लूस्टैक्स में हमेशा इसके चारों ओर अनिश्चितता की आभा होती है। कुछ लोगों को लगता है कि इसका उपयोग करना सुरक्षित है, जबकि अन्य को कुछ ऐसे अनुभव हुए हैं जिन्होंने उन्ह

  1. पीसी के लिए 12 सर्वश्रेष्ठ एंड्रॉइड ओएस

    हम में से बहुत से लोग एंड्रॉइड ओएस से इतने प्यार करते हैं कि हम में से लगभग अधिकांश इसे कई उपकरणों पर उपयोग करने के लिए कामयाब होंगे, खासकर हमारे लैपटॉप या डेस्कटॉप पीसी जैसे मजबूत लोगों पर। Google द्वारा बनाया गया Android ऑपरेटिंग सिस्टम, सबसे अधिक उपयोग किए जाने वाले और पसंद किए जाने वाले ऑपरेटिंग