OnResume () का उपयोग कैसे करें?


86

क्या कोई मुझे एक उदाहरण दे सकता है onResume()जो एंड्रॉइड में उपयोग करता है?

इसके अलावा, अगर मैं दूसरे के निष्पादन के अंत में गतिविधि को फिर से शुरू करना चाहता हूं, तो किस विधि को निष्पादित किया जाता है- onCreate()या onResume()?

और अगर मुझे डेटा अपडेट करना है, तो मैं इसे कैसे डालूं onResume()?


जब भी आप कॉल या किसी अन्य चीज़ से गतिविधि पर वापस जाते हैं, तो इसे कहा जाता है। आप onResume विधि को onCreate () के समान ओवरराइड कर सकते हैं और कार्य कर सकते हैं।
जिबता J खाᴎ

यह आपको और एंड्रॉइड ऐप के जीवनचक्र को समझने में मदद कर सकता है।
ट्रॉनिकजोम बी

2
जिस क्रम में इन विधियों को कहा जाता है, उसे Android डेवलपर दस्तावेज़ में समझाया गया है: developer.android.com/reference/android/app/…
माइकल

1
उत्तर का चयन करना सुनिश्चित करें। एसओ का स्वागत है।
डॉनफैड

जवाबों:


129

किसी भी गतिविधि के पुनरारंभ अपनी है onResume () विधि पहले मार डाला।

इस विधि का उपयोग करने के लिए, यह करें:

@Override
public void onResume(){
    super.onResume();
    // put your code here...

}

72

ऐप को रीस्टार्ट करने पर कॉल आएगा OnCreate()

रुकने पर ऐप को जारी रखना कॉल करेगा OnResume()। आधिकारिक डॉक्स से https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle पर यहां गतिविधि जीवनचक्र का आरेख है।

Android गतिविधि का जीवनचक्र, https://developer.android.com/images/activity_lifecycle.png से https://developer.android.com/reference/android/app/Activity.html#ActivityLifileycle पर देखें


1
लिंक प्रदान करने के लिए हाइपर लिंक का उपयोग करें।
मनोज फीगड़े

लिंक मुझे कभी कभी प्रोब दे रहा है। मुझे नहीं पता कि क्यों
विश्वनाथ लीक्षमान

2
मैं मैन्युअल रूप से किसी भी तरीके को कॉल करने की सलाह नहीं देता जो गतिविधि जीवनचक्र का हिस्सा है :), जो बहुत सारे मुद्दों का कारण बन सकता है।
काटा

1
@ काटा, मैंने माना कि विश्वनाथ का मतलब है कि तरीकों को बुलाया जाएगा, और मैंने तदनुसार जवाब अपडेट किया है।
मैथ्यू के।

28

समझने का सबसे अच्छा तरीका यह होगा कि आपकी गतिविधि में सभी लाइफसील विधियों को ओवरराइड किया जाए और उनमें से हर एक में एक ब्रेकपॉइंट (यदि एमुलेटर में जाँच हो) या एक लॉग रखें। आपको पता चल जाएगा कि किसको कब बुलाया जाता है।

बस एक स्पॉइलर के रूप में, onCreate()पहले कॉल किया जाता है, फिर यदि आपने होम स्क्रीन पर जाकर या किसी अन्य गतिविधि को लॉन्च करके गतिविधि को रोक दिया, तो onPause()उसे कॉल किया जाता है। यदि ओएस इस बीच गतिविधि को नष्ट कर देता है, onDestroy()तो कॉल किया जाता है। यदि आप ऐप को फिर से शुरू करते हैं और ऐप पहले ही नष्ट हो गया है, onCreate()तो कॉल किया जाएगा, या फिर onResume()कॉल किया जाएगा।

संपादित करें: मैं भूल गया onStop(), यह पहले कहा जाता है onDestroy()

मेरे द्वारा बताए गए व्यायाम को करें और आपको एक बेहतर समझ होगी।


1
मैं थोड़ी देर के लिए इस तरह के एक विस्तृत विवरण की तलाश में था, इससे मुझे सही ऐप गतिविधि चक्र बनाने में मदद मिली। धन्यवाद।
केनो क्लेटन

आप onStart ()
डैनियल

9

पिछले जवाबों में से अधिकांश यह बताते हुए एक अच्छा काम करते हैं कि कैसे, क्यों और कब उपयोग करना है onResume()लेकिन मैं आपके पुन: निर्माण के बारे में कुछ जोड़ना चाहूंगा Activity

मैं जानना चाहता हूं कि क्या मैं किसी अन्य विधि के अंत में गतिविधि को फिर से शुरू करना चाहता हूं कि किस विधि को निष्पादित किया गया है () या onResume ()

onCreate()हालांकि, इसका जवाब यह है कि वास्तव में इसे फिर से बनाने का फैसला करते समय, आपको खुद से पूछना चाहिए कि फिर से बनाने की कितनी Activityजरूरत है। यदि यह एक एडॉप्टर में डेटा है, तो एक सूची के लिए कहें, तो आप इसे फिर notifyDataChanged()से जारी adapterकरने के लिए कॉल कर सकते हैं adapterऔर सब कुछ दोबारा नहीं करना होगा।

इसके अलावा, अगर तुम सिर्फ कुछ अद्यतन करने की आवश्यकता viewsतो बिल्कुल नहीं इसे कहते हैं और अधिक कुशल हो सकता है लेकिन invalidate()पर viewकि जरूरत अद्यतन (रों)। यह केवल उन लोगों को फिर से तैयार करेगा viewsऔर संभवतः आपके एप्लिकेशन को अधिक सुचारू रूप से चलाने की अनुमति देगा। मैं आशा करता हूं यह आपकी मदद कर सकते हैं।


5

onResume()गतिविधि जीवनचक्र के दौरान कहे जाने वाले तरीकों में से एक है । onResume()वह प्रतिपक्ष onPause()है जिसे किसी भी समय किसी गतिविधि को देखने से छिपाया जाता है, जैसे कि यदि आप एक नई गतिविधि शुरू करते हैं जो इसे छिपाती है। onResume()उस गतिविधि को कहा जाता है जब छिपी हुई गतिविधि स्क्रीन पर देखने के लिए वापस आती है।

आप सवाल पूछ रहे हैं कि किसी गतिविधि को पुनः आरंभ करने के लिए किस विधि का उपयोग किया जाता है। onCreate()कहा जाता है जब गतिविधि पहली बार बनाई गई है। व्यवहार में, अधिकांश गतिविधियाँ पृष्ठभूमि में श्रृंखला onPause()और onResume()कॉल के माध्यम से बनी रहती हैं। एक गतिविधि वास्तव में केवल "पुनरारंभ" होती है onRestart()यदि इसे पहले कॉल करके पूरी तरह से रोक दिया जाता है onStop()और फिर जीवन में वापस लाया जाता है। इस प्रकार यदि आप वास्तव में onStop()इसके साथ गतिविधियों को रोक नहीं रहे हैं तो सबसे अधिक संभावना है कि आप इसका उपयोग करेंगे onResume()

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

@Override
public void onResume(){
 //will be executed onResume
}

जब हम किसी आइटम पर दृश्य में क्लिक करते हैं, तो इसे कहा जाता है?
राजीव_

1
किसी आइटम पर क्लिक करना जरूरी नहीं है कि फोन पर संपर्क करें। OnResume पद्धति को बुलाया जाएगा यदि यह दृश्य पूरी तरह से निर्मित होने से पहले या तो छिपा हुआ और पुनर्स्थापित या प्रारंभिक लोड पर हो।
ररव

शो त्रुटि के माध्यम से super.onResume ()
sirmagid


2

KOTLIN

कोई भी गतिविधि जो पुनरारंभ होती है, उसका onResume () विधि पहले निष्पादित की जाती है।

इस विधि का उपयोग करने के लिए, यह करें:

override fun onResume() {
        super.onResume()
        // your code here
    }

1

एक गतिविधि शुरू होने के बाद, ऑनस्टार्ट ()), या रुका हुआ (ऑनपॉज़ ()), ओनेसम () कहा जाता है। जब गतिविधि onResume () की स्थिति में है, तो गतिविधि ऐप उपयोगकर्ता द्वारा उपयोग करने के लिए तैयार है।

मैंने गतिविधि जीवनचक्र का थोड़ा अध्ययन किया है, और यहाँ इस विषय के बारे में मेरी समझ है: यदि आप दूसरे के निष्पादन के अंत में गतिविधि (ए) को फिर से शुरू करना चाहते हैं, तो कुछ अलग मामले हो सकते हैं।

  1. अन्य गतिविधि (B) को रोक दिया गया है और / या रोक दिया गया है या नष्ट कर दिया गया है, और गतिविधि A को संभवतः रोक दिया गया है (onPause ()), इस मामले में, गतिविधि A को onResume () कहेंगे

  2. गतिविधि B को रोक दिया गया है और / या रोक दिया गया है या नष्ट कर दिया गया है, गतिविधि A संभवतः बंद कर दी गई है (onStop ()) मेमोरी चीज़ के कारण, इस मामले में, गतिविधि A onRestart () को पहले, onStart () दूसरा, फिर onResume कहेगी ()

  3. गतिविधि B को रोक दिया गया है और / या रोक दिया गया है या नष्ट कर दिया गया है, गतिविधि A को नष्ट कर दिया गया है, प्रोग्रामर onStart () को मैन्युअल रूप से गतिविधि शुरू करने के लिए पहले कॉल कर सकता है, फिर onResume () क्योंकि जब कोई गतिविधि नष्ट स्थिति में है तो गतिविधि है शुरू नहीं हुआ, और गतिविधि पूरी तरह से हटाए जाने से पहले ऐसा होता है। यदि गतिविधि को हटा दिया जाता है, तो गतिविधि को फिर से बनाने की आवश्यकता होती है। मैन्युअल रूप से onStart () को कॉल करते हुए मुझे लगता है कि यह इसलिए है क्योंकि यदि गतिविधि शुरू नहीं हुई है और यह बनाई गई है, तो onStart () को onCreate () के बाद कहा जाएगा।

यदि आप डेटा अपडेट करना चाहते हैं, तो डेटा अपडेट फ़ंक्शन करें और फ़ंक्शन कोResResume () के अंदर डालें। या एक लोडडैट फंक्शन को ओनम्यूम () के अंदर डालें

गतिविधि जीवनचक्र आरेख की सहायता से जीवनचक्र को समझना बेहतर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.