2011-06-26 25 views
15

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

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

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

उत्तर

9

यदि आप सिर्फ कैनवास (उदाहरण के लिए एसडीके में घन उदाहरण) के साथ चित्रित कर सकते हैं, तो यह बहुत कम काम है। एनीमेशन की सादगी (कोई बिटमैप्स) की वजह से, घन बिना किसी कठिनाई के उच्च फ्रेम दर प्राप्त करने में सक्षम है।

यदि आप ओपनजीएल का उपयोग करना चाहते हैं, तो आपको एक पूरक पैकेज, जैसे कि GLWallpaperService, AndEngine, या RenderScript का उपयोग करना होगा।

http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers

http://www.andengine.org/forums/tutorials/live-wallpaper-template-t258.html

ब्राउज़ एंड्रॉयड स्रोत कोड को देखने के लिए कैसे शेयर वॉलपेपर (जैसे घास, आकाशगंगा) RenderScript का उपयोग करके लागू। इस कड़ी मई काम है, लेकिन कोई गारंटी: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.1.1_r1/com/android/wallpaper/ (तब वॉलपेपर के लिए नीचे स्क्रॉल)

Moonblink अपनी परियोजना को बंद कर दिया गया है, लेकिन यदि आप वास्तव में उत्सुक हैं, तो आप अपने काम (सब्सट्रेट) यहां शुरू होने वाले शोध की कोशिश कर सकते हैं: http://code.google.com/p/moonblink/source/browse/wiki/Setup.wiki

+0

पिछले दो लिंक अब टूट गए हैं क्योंकि मुझे 404 –

+0

@OmarRehman इसके बारे में क्षमा करें। लिंक समस्याग्रस्त हैं। –

6

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

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