2012-01-25 10 views
17

एंड्रॉइड 4.0 (आईसीएस) में new UI guidelines बहुत सारे हैं जो बहुत अच्छे हैं। समस्या यह है कि आगे बढ़ना, मुझे यकीन नहीं है कि एंड्रॉइड 4.0 के लिए ऐप कैसे बनाया जाए और यह सुनिश्चित कर लें कि ऐप एंड्रॉइड 2.2 और 2.3 चलाने वाले डिवाइसों पर समान/समान दिखता है।Android 4.0 ऐप्स को पीछे से संगत कैसे बनाएं?

Android compatibility library है, और एक backwards compatible Action Bar, लेकिन मैं के बाद आईसीएस क्षुधा पोर्टिंग पूर्व आईसीएस फोन करने के लिए एक अधिक ठोस समाधान के लिए देख रहा था।

क्या मैं सही रास्ते पर हूं? किसी के पास कोई विचार है?

+1

लिंक किया गया लेख आईसीएस विशिष्ट नहीं है। एंड्रॉइड के लिए कोडिंग करते समय एंड्रॉइड सम्मेलनों का पालन करने के लिए बस एक सामान्य सलाह। –

+1

क्या, ठीक है, एक "अधिक ठोस समाधान" है? – CommonsWare

+0

तो ... क्या Google के आपके पीछे की संगत पुस्तकालयों और औजार हैं जो वे आपको उपलब्ध नहीं हैं? आप उन्हें काम नहीं करने की उम्मीद कर रहे हैं या क्या? विस्तृत पोस्ट के लिए –

उत्तर

21

यहां कुछ सुझाव दिए गए हैं।

सबसे पहले, नए Android Design guidelines पर ध्यान दें। मेरा मानना ​​है कि यह एक अच्छा विचार है, न केवल स्पष्ट डिजाइन कारणों के लिए अच्छा है, बल्कि यह भी क्योंकि यह पिछड़ा संगतता को आसान बना देगा। उदाहरण के लिए, Support Package अनुशंसित डिज़ाइन तत्वों को पुराने प्लेटफॉर्म पर लाने में मदद करता है और इस पैकेज के नए संशोधन संभवतः नवीनतम डिज़ाइन दिशानिर्देशों के साथ निकट संरेखण में लाएंगे।


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

Support Package (जिसे संगतता लाइब्रेरी भी कहा जाता है) के माध्यम से टुकड़ों के उपयोग को सक्षम करें। यह काफी सरल है और मुझे ऐसा करने में कोई समस्या नहीं आई है। ताकि आप उन्हें समर्थन पैकेज से हो रही है बल्कि उसके बाद देशी आईसीएस एपीआई सीधे कॉल

import android.**support.v4**.app.Fragment; 

: बस सुनिश्चित करें कि आपके आयात इस तरह दिखने लगता है।


तीसरा, दस्तावेज़ों में वर्णित विषयों का उपयोग करके आईसीएस/एचसी एक्शनबार सक्षम करें। ध्यान दें कि यह आपके ऐप को प्री-हनीकॉम प्लेटफॉर्म पर एक्शनबार नहीं देता है। इसके लिए आपको या तो ActionBarSherlock या ActionBarCompat नमूना जैसे कुछ उपयोग करने की आवश्यकता है। दोनों अच्छे समाधान हैं लेकिन वे आपके ऐप की जटिलता में शामिल हैं। समर्थन पैकेज के वर्तमान संशोधन में कोई एक्शनबार नहीं है, और यह स्पष्ट रूप से तकनीकी मुद्दों के कारण है, लेकिन मुझे संदेह होगा कि वे उन मुद्दों को हल करने का प्रयास कर रहे हैं।

इसलिए, यदि आप रखना चाहते हैं तो सरल है, मान लें कि आपके ऐप के लिए आईसीएस & एचसी पर कोई एक्शनबार नहीं है, और पहले प्लेटफ़ॉर्म पर कोई एक्शनबार नहीं है। असल में, Android Dev blog पिछले कुछ दिनों में एक पोस्ट था जो इन परिस्थितियों में मेनू और एक्शन आइटम प्रबंधित करने पर केंद्रित था।

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

अंत में, ध्यान दें कि आप हाल ही में एक एसडीके का उपयोग करने के लिए इतना है कि आप इस तरह के होलो विषय (आईसीएस ActionBar के लिए) और showAsAction="ifRoom" तत्व के रूप में तत्वों का उल्लेख कर सकते की आवश्यकता होगी, तो आपके प्रकट की तरह कुछ में शामिल होंगे:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> 
+0

धन्यवाद। आपने 3 लेखों से लिंक किया है जिन्हें मैंने पहले ही अपने प्रश्न में जोड़ा था। मुझे अभी भी एक्शनबार के साथ समस्याएं आ रही हैं। प्री-आईसीएस उपकरणों पर दिखाने के लिए मैं एक स्प्लिट एक्शनबार कैसे प्राप्त करूं? –

+1

मुझे उस प्रश्न का उत्तर नहीं पता - मेरी पोस्ट के अनुसार मैं पूर्व-आईसीएस उपकरणों पर टुकड़ों का उपयोग कर रहा हूं, लेकिन एक्शनबार नहीं। – Tom

+0

सर्वोत्तम समाधान आईएमएचओ ActioBarSherlock है। 2.x से 4.x तक का समर्थन करता है, जिसमें सब कुछ शामिल है !!! – Paschalis