2012-01-24 10 views
5

मेरा मुद्दा एक्लिप्स एप्लाइड प्लगइन का उपयोग कर फोनगैप और एंड्रॉइड डेवलपमेंट के बारे में है। मैंने एप्लाइड प्लगइन को सफलतापूर्वक डाउनलोड और इंस्टॉल किया। मैं एप्लाउड विज़ार्ड (ग्रहण टूलबार आइकन के माध्यम से) का उपयोग करके एक नई परियोजना बना सकता हूं, और डेमो डिवाइस ठीक पर चलता है। हालांकि, जब मैं मौजूदा एचटीएमएल & जेएस (केवल main.js, phonegap.js) फ़ाइलों को ओवरराइट करता हूं, तो उसे डिवाइस पर बनाएं, गैर डिवाइस कार्यक्षमता ठीक काम करती है (बटन क्लिक/यूई अपडेट/आदि), लेकिन फोनगैप कमांड जैसे कि (device.version/device.platform/etc) काम नहीं कर रहा है।एंड्रॉइड पर एप्लाउड और फोनगैप

मैंने इसे ऑनडिवाइस रीडी कार्यक्रम में शामिल करने की कोशिश की है और साथ ही यह सुनिश्चित कर लिया है कि .jar लाइब्रेरी शामिल है, लेकिन मुझे अभी भी एक ही समस्या है। तो मुझे लगता है कि मेरा सवाल है; Applaud का उपयोग कर फ़ोनगैप समाधान बनाते समय, एक्लिप्स को संकलन और पुस्तकालय, जैसे फोनगैप की आवश्यकता होती है? और यदि हां, तो कोई ऐसी चीजें करने के बारे में कैसे जा सकता है?

त्रुटि लॉग:

किया जाए या नहीं सराहना जादूगर सिर्फ phonegap.jar का उपयोग करता है या उसके पुनर्निर्माण:

01-24 14:59:44.567: W/KeyCharacterMap(5453): No keyboard for id 131074 

01-24 14:59:44.567: W/KeyCharacterMap(5453): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 

01-24 14:59:59.917: I/Web Console(5453): Failed to run constructor: TypeError: object is not a function at file:///android_asset/www/resources/js/phonegap-1.3.0.js:210 

01-24 14:59:59.927: I/Web Console(5453): Failed to run constructor: TypeError: Cannot read property 'capture' of undefined at file:///android_asset/www/resources/js/phonegap-1.3.0.js:210 

01-24 14:59:59.927: I/Database(5453): sqlite returned: error code = 14, msg = cannot open file at source line 25467 

01-24 15:00:00.057: D/dalvikvm(5453): GC_CONCURRENT freed 1185K, 55% free 3188K/6983K, external 2630K/2814K, paused 2ms+3ms 
+0

क्या आपने plugins.xml फ़ाइल में प्लगइन जोड़ा है? – ghostCoder

+0

ऑनडिवाइस रीडी इवेंट निकाल दिया गया है? – ghostCoder

+0

हां, प्लगइन फ़ाइल रूट/res/plugins.xml में भी है .. मैंने चलते समय डिवाइस को लॉग किया है और मुझे निम्न आउटपुट मिल रहा है: I/Web Console (4894): कन्स्ट्रक्टर चलाने में विफल: TypeError : ऑब्जेक्ट फ़ाइल पर कोई फ़ंक्शन नहीं है: ///android_asset/www/resources/js/phonegap-1.3.0।जेएस: 210 आई/वेब कंसोल (510 9): कन्स्ट्रक्टर चलाने में विफल: TypeError: फ़ाइल पर अपरिभाषित की संपत्ति 'कैप्चर' नहीं पढ़ सकता: ///android_asset/www/resources/js/phonegap-1.3.0.js: 210 I/डाटाबेस (510 9): एसक्लाइट लौटा: त्रुटि कोड = 14, msgstr स्रोत स्रोत पर फ़ाइल नहीं खोल सकता 25467 – JohnHodkinson

उत्तर

3

तो मैं वापस आ गया हूं और किसी भी तरह से मेरे पास जो मुद्दा था (भाग्य से अधिकतर) तय किया है। जब मैंने इस परियोजना को शुरू किया, मैंने सोचा कि सबसे अच्छा तरीका इस एप्लिकेशन को मॉड्यूलर के रूप में संभव बना देगा; प्रत्येक कार्यक्षमता (वेब ​​अनुरोध, फ़ाइल पढ़ने/लेखन, आदि) एक दूसरे से अलग होने के लिए। इस प्रकार मैंने कई अलग-अलग जेएस फाइलें बनाईं, प्रत्येक उपयुक्त नाम (नेटवर्क, डिवाइस, भाषा इत्यादि) के साथ टैग की गईं, और फिर उन्हें मेरे index.html पृष्ठ में शामिल किया गया जो तब फोनगैप द्वारा चलाया जाता है।

इनमें से कुछ फ़ाइलों में, मैं निम्नलिखित दृष्टिकोण लिया:

var Device = { 
    // Returns the Device Name as a string. 
    Name: function() { 
     return window.device.name; 
    } 
}; 

नतीजतन, मैं तो डॉट ऑपरेटर (जो मैं पसंद करते हैं) का उपयोग करते हुए इस कार्यक्षमता का उपयोग कर सकते हैं। हालांकि ऐसा करके, कई फाइलें एक दूसरे पर भरोसा करती हैं, जिससे मेरी समस्या को ट्रैक करना मुश्किल हो जाता है। कुछ समय टिप्पणी करने और अन-टिप्पणी करने की कार्यक्षमता खर्च करने के बाद, यह उपर्युक्त दृष्टिकोण (डॉट ऑपरेटर) के संयोजन और सम्मेलन नामकरण की मेरी खराब पसंद का उपयोग करके लगता है। उपरोक्त Device.Name() कार्यान्वयन फ़ोनगैप पुस्तकालयों के साथ संघर्ष (क्यों नहीं) पर पूरी तरह से निश्चित नहीं है, जिसके परिणामस्वरूप डिवाइस पर जेएस त्रुटियां होती हैं।

उपरोक्त नाम "डिवाइस" से "हैंडसेट" में बदलने के बाद, मेरी समस्या दूर हो गई। एक दर्दनाक दोपहर के लिए एक सरल और शायद स्पष्ट समाधान।

+0

कर सकते हैं तो कोड साझा करें सुनो मुझे बस एक ही समस्या थी। जब आप या तो एक परियोजना आयात करते हैं या एक नया बनाते हैं तो फोनगैप जेएस एपीआई लोड करने के लिए स्क्रिप्ट टैग कम हो जाता है। बस आपको परेशान करने की आवश्यकता नहीं है। आपको बस उस रेखा को अपनाना होगा। –

+0

phonegap.js किसी डिवाइस ऑब्जेक्ट को डिवाइस के विशिष्ट गुणों के साथ परिभाषित करता है - यह आपके ऑब्जेक्ट के साथ संघर्ष करेगा और संभवतः यह काम करने में विफल हो जाएगा –

1

मैं आपके सवाल का जवाब देंगे, लेकिन मैं इसे नहीं लगता कि आपकी समस्या है घटक इस बात पर निर्भर करते हैं कि आप प्रोजेक्ट सृजन विज़ार्ड का उपयोग कैसे करते हैं।

यदि आप अपने "अंतर्निहित फोनगैप" का उपयोग करते हैं या डाउनलोड की गई आधिकारिक रिलीज ("स्थापित फोनगैप के लिए पथ दर्ज करें") पर इंगित करते हैं, तो यह उस रिलीज से फोनगैप.जर पर इंगित करेगा। यदि आप एक अनजिप जीथब फोनगैप संस्करण वाली निर्देशिका पर इंगित करते हैं, तो phonegap.jar का उपयोग नहीं किया जाएगा और फ़ोनगैप जावा स्रोत आपके प्रोजेक्ट में बनाए जाएंगे। यह फोनगैप कार्यान्वयन के आसान डिबगिंग के लिए बनाता है।

आपकी समस्या के बारे में, आपको संभवतया आपकी index.html फ़ाइल में कुछ गड़बड़ है, जैसे फोनगैप की गलत वर्तनी {...}। जेएस। जैसा कि भूत कोडर टिप्पणियों में कहता है, आपको उस पर सहायता प्राप्त करने के लिए अपना कोड साझा करने की आवश्यकता हो सकती है।

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

  • कोई संबंधित समस्या नहीं^_^