2011-07-20 16 views
7

मैं अपनी परियोजना के भीतर "संपत्ति" फ़ोल्डर में रखी गई सभी संपत्तियों को दोबारा लोड करने की कोशिश कर रहा हूं। मैं तो निम्न कार्य करें जब:संपत्तियां - "छवियां", "ध्वनियां", और "वेबकिट"?

AssetManager assetManager = getResources().getAssets(); 
String assets[] = assetManager.list(""); 

और जांच क्या तार संपत्ति सरणी में लोड किया गया है, मैं संपत्ति मैं निर्दिष्ट फ़ोल्डर के भीतर रखा है मिल जाए, तार "छवियों", "लगता है" के साथ, और "वेबकिट"। क्या किसी को पता है कि यह क्यों है?

पृष्ठभूमि जानकारी (अभी तक अगर यह लागू होता है पता नहीं है) के लिए, मेरे संपत्ति ज़िप फ़ाइलों कि पूरा एचटीएमएल वेब पृष्ठों है, जो मैं WebViews में लोड करने के लिए उपयोग शामिल हैं।

उत्तर

6

मैं भी इस का उल्लेख किया है। यहाँ कुछ संपत्ति है कि उन निर्देशिकाओं में रखा जाता है कर रहे हैं:

webkit/play.png 
webkit/nullPlugin.png 
webkit/missingImage.png 
webkit/android-weberror.png 
sounds/bootanim1.raw 
images/comobox-disabled.png 
images/comobox-noHighlight.png 

मेरा अनुमान है कि प्रणाली इस संपत्ति पर निर्भर करता है सब .apk फ़ाइलों में उपस्थित होने के लिए है। लेकिन उन्हें बनाने के बजाय (जो सभी .apk फ़ाइलों का आकार बढ़ाएगा), एंड्रॉइड उन्हें एसेट एपीआई के माध्यम से अनुकरण करता है।

इसके अलावा, एक पक्ष प्रभाव के रूप में, तो आप इस संपत्ति में एक ही नाम में निर्मित एक के रूप में है कि किसी भी कस्टम संपत्ति के साथ ओवरराइड कर सकते हैं। यह नहीं कि यह बहुत उपयोगी हो सकता है, लेकिन यह संभव है।

+0

अनुमान के लिए धन्यवाद। :) मुझे अभी भी लगता है कि यह अजीब बात है कि वे इसे दस्तावेज नहीं करते हैं, या आपको संपत्तियों को ओवरराइड करने की अनुमति भी देंगे - सिस्टमव्यापी संपत्ति सिस्टम व्यापक होनी चाहिए। –

0

मैं इस समस्या थी और मैं सुझाव है कि आप चीजों की जोड़ी की जाँच करें:

  1. निर्देशिका का नाम अंग्रेजी में लिखा है। \ N
  2. आप अपनी संपत्ति जड़ में सिर्फ एक निर्देशिका है (यह एक निर्देशिका में आप drectories की जोड़ी सम्मिलित कर सकते हैं)।
    उदाहरण के लिए:
    assets->app->image, assets->app->another dir।
    इस उदाहरण में ऐप डीआईआर एसेट्री रूट में एकमात्र डीआईआर है।
0

मेरे मामले में, मैं परियोजना (एप्लिकेशन -> संपत्ति) की "एप्लिकेशन" निर्देशिका के अंदर संपत्ति फ़ोल्डर बनाने गया था, और फ़ाइलों मैं इस "संपत्ति" फ़ोल्डर में लोड AssetsManager द्वारा नहीं पढ़ा जा रहा था । फिर मैंने "ऐप" फ़ोल्डर पर राइट क्लिक किया -> नया -> फ़ोल्डर -> संपत्ति फ़ोल्डर (स्थान "मुख्य") और सब कुछ हल हो गया था। समस्या उस स्थान के साथ थी जहां "संपत्ति" फ़ोल्डर बनाया जा रहा था।

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