android प्रति आवेदन शुरू होने के बाद मैं कुछ कैसे निष्पादित कर सकता हूं?





4 Answers

ऐसा लगता है कि आपको ऐसा कुछ करना पड़ सकता है

PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0);

      int currentVersion = info.versionCode;
      this.versionName = info.versionName;
      SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
      int lastVersion = prefs.getInt("version_code", 0);
      if (currentVersion > lastVersion) {
        prefs.edit().putInt("version_code", currentVersion).commit();
       //  do the activity that u would like to do once here.
   }

ऐप को अपग्रेड किया गया है या नहीं, यह जांचने के लिए आप इसे हर बार कर सकते हैं, इसलिए यह ऐप अपग्रेड के लिए केवल एक बार चलता है

android android-3.0-honeycomb auto-update

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

तो मेरा सवाल यह है: क्या कुछ ऐसा करने का कोई तरीका है, जैसे अद्यतनों की जांच करना, प्रति आवेदन शुरू होने / लॉन्च करने के बाद?

मुझे खेद है कि यह समझने में थोड़ा मुश्किल है, मुझे इस पर खुद को समझाने में कठिनाइयों का सामना करना पड़ रहा है।




हां आप एंड्रॉइड की SharedPrefernce अवधारणा का उपयोग कर ऐसा कर सकते हैं। बस एक बुलियन ध्वज बनाएं और इसे SharePrefernce में सहेजें और अपने मूल्य को अपने क्रिएट () विधि में देखें।




इस के लिए साझा पेंशन का उपयोग करें-

  1. एक बार जब आपका ऐप सक्रिय हो जाता है तो आप अपनी लॉन्चर गतिविधि को दोबारा शुरू नहीं कर रहे हैं तो उस स्थिति में आप इसका इस्तेमाल करते हैं।

  2. यदि आप इसे ऐप में कार्यान्वित कर रहे हैं तो इसे स्पलैश स्क्रीन में उपयोग करें।

  3. यदि आप किसी स्प्लैश स्क्रीन का उपयोग नहीं कर रहे हैं तो आपको बिना किसी व्यू सेट के एक गतिविधि बनाने की आवश्यकता है और इसके ऑनक्रेट कॉल पर आप अपडेट शुरू कर सकते हैं और अपनी मुख्य गतिविधि शुरू कर सकते हैं।

आप इसके लिए काउंटर वैल्यू या बूलियन का उपयोग कर सकते हैं।

यहां साझा प्रेफरेंस दस्तावेज़ है:

http://developer.android.com/reference/android/content/SharedPreferences.html




मैंने इसे स्वयं करने का हल किया है, मैं एप्लिकेशन की निष्पादन में कई बार अपनी मुख्य गतिविधि को दोबारा खोलता हूं। जबकि कन्स्ट्रक्टर कुछ चीजों के लिए एक वैध दृष्टिकोण है, यह आपको अन्य चीजों के बीच टोस्ट लिखने के लिए वर्तमान अनुप्रयोग संदर्भ तक पहुंचने नहीं देता है

मेरा समाधान एक सरल 'फर्स्टरुन' बूलियन बनाने के लिए मेरी मुख्य गतिविधि की कक्षा में सच साबित करना था, वहां से अगर मैं कथन की सामग्री चलाता हूं तो इसे सत्य पर सेट करता हूं। उदाहरण:

public class MainActivity extends AppCompatActivity
{
     private static boolean firstRun = true;

     @Override
     protected void onCreate(Bundle savedInstanceState)
     {
         if(firstRun)
         {
              Toast.makeText(getApplicationContext(), "FIRST RUN", Toast.LENGTH_SHORT).show();
              //YOUR FIRST RUN CODE HERE
         }
         firstRun = false;

         super.onCreate(savedInstanceState);
         //THE REST OF YOUR CODE
}



Related