2010-04-09 11 views
15

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

उत्तर

20

preferences में एक ध्वज रखें और इसे स्टार्टअप पर जांचें। स्पलैश एक बार दिखाए जाने के बाद इसे बदलें।

+0

है कि क्या अपने पहले रन या नहीं आधार पर भिन्न कार्यवाही कैसे प्रबंधित करने के लिए? पूर्व के लिए: उपयोगकर्ता को साइनअप के माध्यम से चलाएं यदि यह पहला रन है और यदि यह नहीं है तो होम पेज दिखाएं। – Sndn

1

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

39

आप उदा। एक बूलियन वैल्यू को स्टोर करने के लिए एक साझा प्रेफरेंस-ऑब्जेक्ट का उपयोग करें जो आपको बताता है कि यह पहली बार है जब उपयोगकर्ता एप्लिकेशन खोलता है। जब उपयोगकर्ता एप्लिकेशन शुरू करता है तो वरीयता की जांच करें, और यदि यह सत्य लौटाता है तो मध्यम स्क्रीन दिखाएं।

private SharedPreferences mPreferences; 
.... 
boolean firstTime = mPreferences.getBoolean("firstTime", true); 
if (firstTime) { 
    SharedPreferences.Editor editor = mPreferences.edit(); 
    editor.putBoolean("firstTime", false); 
    editor.commit(); 
    showMiddleActivity(); 
} 

ऐसा कुछ।

संपादित करें: jqpubliq द्वारा इसे करने के लिए पीटा ...

+0

मैं यह भी सुनिश्चित करता हूं कि आपके द्वारा चुने गए प्राथमिकता नाम सामान्य "यूआरआई" प्रारूप का उपयोग करके नामकरण में अधिक अनूठा है, यह सुनिश्चित करता है कि अन्य ऐप्स समान "प्रथम समय" वरीयता का उपयोग न करें। तो "com.yoursite.yourapp.FirstTime" जैसे कुछ, उम्मीद है कि कोई भी आपकी साइट और ऐप जैसी वरीयता का नाम नहीं देगा। – Adam

+1

मुझे यकीन है कि वरीयताएं एप्लिकेशन के लिए स्थानीय हैं इसलिए उन्हें या कुछ भी उपसर्ग करने की आवश्यकता नहीं है। – alexanderblom

+3

मुझे लगता है कि पहली पंक्ति होनी चाहिए: निजी साझा किए गए संदर्भ mPreferences = getSharedPreferences ("prefsFileName", 0); या आपको 'mPreferences = getSharedPreferences ("prefs", 0) असाइन करने से पहले – tayler

संबंधित मुद्दे