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

एंड्रॉइड में IntentService समाप्त होने पर गतिविधि को रीफ्रेश कैसे करें?

<घंटा/>

उदाहरण में आने से पहले, हमें पता होना चाहिए कि एंड्रॉइड में इंटेंट सर्विस क्या है। इंटेंट सर्विस एसिंक्रोनस रूप से बैकग्राउंड ऑपरेशन करने जा रही है। जब उपयोगकर्ता गतिविधि से startService () को कॉल करता है, तो यह प्रत्येक अनुरोध के लिए एक उदाहरण नहीं बनाता है और सेवा वर्ग में कुछ कार्रवाई करने के बाद यह सेवा बंद कर देता है या फिर हमें स्टॉपसेल्फ़ () का उपयोग करके सेवा को रोकने की आवश्यकता होती है।

यह उदाहरण दर्शाता है कि IntentService समाप्त होने पर गतिविधि को कैसे ताज़ा किया जाए।

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

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

 <टेक्स्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / टेक्स्ट" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट ="स्टार्ट सर्विस" एंड्रॉइड:टेक्स्टसाइज =" 25sp" ऐप:layout_constraintBottom_toBottomOf ="पैरेंट" ऐप:layout_constraintLeft_toLeftOf ="पैरेंट" ऐप:layout_constraintRight_toRightOf ="पैरेंट" ऐप:layout_constraintTop_toTopOf ="parent" />
 उपरोक्त कोड में, हमने टेक्स्ट व्यू लिया है, जब उपयोगकर्ता को इंटेंट सर्विस से डेटा मिलता है तो वह अपडेट हो जाएगा।

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

में जोड़ें <पूर्व>पैकेज com.example.andy.myapplication;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android. support.v4.content.LocalBroadcastManager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.TextView;सार्वजनिक वर्ग MainActivity AppCompatActivity { TextView text; BroadcastReceiver BroadcastReceiver =new BroadcastReceiver() {@Override public void onReceive(संदर्भ संदर्भ, आशय आशय) { String someValue =Intent.getStringExtra("someName"); text.setText (कुछ वैल्यू); } }; @ ओवरराइड संरक्षित शून्य ऑनस्टार्ट () {super.onStart (); इंटेंटफिल्टर इंटेंटफिल्टर =नया इंटेंटफिल्टर (); IntentFilter.addAction ("com.example.andy.myapplication"); LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, IntentFilter); } @Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); टेक्स्ट =findViewById (R.id.text); टेक्स्ट.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {स्टार्ट सर्विस (नया इंटेंट (मेनएक्टिविटी। यह, सर्विस। क्लास));}}); } @Override संरक्षित शून्य onStop() {super.onStop(); LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver); }}

service.class फ़ाइल नामक एक क्लास बनाएं और निम्न कोड जोड़ें -

पैकेज com.example.andy.myapplication;import android.app.IntentService;import android.content.Intent;import android.os.IBinder;import android.support.v4.content.LocalBroadcastManager; पब्लिक क्लास सर्विस इंटेंट सर्विस का विस्तार करती है { सार्वजनिक स्थैतिक अस्थिर बूलियन चाहिए स्टॉप =झूठा; सार्वजनिक सेवा () { सुपर (service.class.getSimpleName ()); } @Override सार्वजनिक IBinder onBind(इरादा आशय) {वापसी शून्य; } @ ओवरराइड संरक्षित शून्य onHandleIntent (इरादा इरादा) {इरादा इरादा 1 =नया इरादा ("com.example.andy.myapplication"); Intent1.putExtra ("someName", "Tutorialspoint.com"); LocalBroadcastManager.getInstance(this).sendBroadcast(intent1); अगर (चाहिए स्टॉप) {स्टॉपसेल्फ (); वापसी; } }} 

चरण 4 -मेनिफेस्ट.xml में निम्न कोड जोड़ें

 <उपयोग-अनुमति एंड्रॉइड:नाम ="android.permission.WAKE_LOCK"/> "एंड्रॉइड:राउंडआईकॉन =" @ मिपमैप / आईसी_लॉन्चर_राउंड "एंड्रॉइड:सपोर्ट आरटीएल ="ट्रू" एंड्रॉइड:थीम ="@ स्टाइल / ऐपथीम"> ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" />    

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

एंड्रॉइड में IntentService समाप्त होने पर गतिविधि को रीफ्रेश कैसे करें?

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

एंड्रॉइड में IntentService समाप्त होने पर गतिविधि को रीफ्रेश कैसे करें?


  1. एंड्रॉइड ऐप में ऑनडेस्ट्रॉय गतिविधि को कैसे कॉल करें?

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

  1. एंड्रॉइड गतिविधि में बैक बटन को कैसे संभालें?

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

  1. एंड्रॉइड में एक गतिविधि को पुनरारंभ कैसे करें?

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