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

हम Android में runOnUiThread का उपयोग कैसे करते हैं?

<घंटा/>

उदाहरण में आने से पहले, हमें पता होना चाहिए कि android में runOnUiThread() क्या है। कभी-कभी मुख्य धागा कुछ भारी ऑपरेशन करता है। यदि उपयोगकर्ता UI पर कुछ अतिरिक्त संचालन जोड़ना चाहता है, तो उसे लोड मिलेगा और ANR प्रदान करेगा। रनऑनयूआई थ्रेड का उपयोग वर्कर थ्रेड पर बैक ग्राउंड ऑपरेशन करने के लिए और परिणाम को मुख्य थ्रेड पर अपडेट करने के लिए।

यह उदाहरण दर्शाता है कि हम Android में runOnUiThread का उपयोग कैसे करते हैं।

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

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

 <बटन एंड्रॉइड:आईडी ="@ + आईडी / रनऑन" एंड्रॉइड:टेक्स्ट ="रन" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" /> <टेक्स्ट व्यू एंड्रॉइड:आईडी ="@+id/text" android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" />

उपरोक्त कोड में, हमने एक बटन और टेक्स्ट व्यू लिया है, जब आप बटन पर क्लिक करेंगे, तो यह टेक्स्ट व्यू को अपडेट कर देगा।

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

में जोड़ें <पूर्व>पैकेज com.example.andy.myapplication;import android.os.Build;import android.os.Bundle;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;import android.view .व्यू; इंपोर्ट android.widget.Button;import android.widget.TextView;सार्वजनिक वर्ग MainActivity AppCompatActivity {int i =0; @RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); अंतिम टेक्स्ट व्यू टेक्स्ट व्यू =findViewById (R.id.text); अंतिम बटन रनऑन =findViewById (R.id.runOn); runOn.setOnClickListener (नया दृश्य। ऑनक्लिक लिस्टनर () {@ ओवरराइड सार्वजनिक शून्य पर क्लिक करें (देखें वी) {नया थ्रेड () {सार्वजनिक शून्य रन () {जबकि (i ++ <1000) {कोशिश करें {रनऑनयूआई थ्रेड (नया रननेबल () { @ ओवरराइड सार्वजनिक शून्य रन () {textView.setText ("#" + i); }}); थ्रेड.स्लीप (300); } कैच (इंटरप्टेड एक्सेप्शन ई) {ई.प्रिंटस्टैकट्रेस (); }}}}।स्टार्ट (); } }); }}

उपरोक्त कोड में, जब उपयोगकर्ता बटन पर क्लिक करता है। यह नीचे दिखाए गए अनुसार runOnUiThread() का उपयोग करके टेक्स्ट व्यू को अपडेट करेगा -

नया थ्रेड () {सार्वजनिक शून्य रन () {जबकि (i++ <1000) {कोशिश करें {runOnUiThread (नया रननेबल () {@ ओवरराइड सार्वजनिक शून्य रन () {textView.setText ("#" + i); } }); थ्रेड.स्लीप (300); } कैच (इंटरप्टेड एक्सेप्शन ई) { ई.प्रिंटस्टैकट्रेस (); } } }}.शुरू करें ();

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

हम Android में runOnUiThread का उपयोग कैसे करते हैं?

उपरोक्त परिणाम में, इसने प्रारंभिक स्क्रीन दिखाई। जब उपयोगकर्ता रन बटन पर क्लिक करता है तो यह नीचे दिखाए गए पाठ दृश्य को अपडेट करेगा -

हम Android में runOnUiThread का उपयोग कैसे करते हैं?


  1. एंड्रॉइड में व्यूफ्लिपर का उपयोग कैसे करें?

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

  1. एंड्रॉइड में स्नैकबार का उपयोग कैसे करें?

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

  1. एंड्रॉइड में नेविगेशन व्यू का उपयोग कैसे करें?

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