2010-09-25 13 views
6

मैं लिखा और Fedor द्वारा अपलोड कोड का उपयोग करने की कोशिश कर रहा हूँ इस सूत्र में Lazy load of images in ListView (स्रोत कोड: http://open-pim.com/tmp/LazyList.zip) तैनातएंड्रॉयड आवेदन: SocketException अनुमति नहीं दी (ऐसा कोई फ़ाइल या निर्देशिका)

Fedor की परियोजना में अच्छी तरह से काम करता है, लेकिन जब मैं अपने प्रोजेक्ट में कोड को अनुकूलित करने का प्रयास करता हूं, तो मैं इस अपवाद (सॉकेट एक्सेप्शन) पर कूदने के बाद से चीजें अच्छी तरह से नहीं चल रही हैं।

किसी तरह, मैं इंटरनेट अनुमति की प्रकट में अनुमति सेट करने के बाद भी यह मिल रही है (और हाँ, मैं एक इंटरनेट कनेक्शन काम कर रहा है):

<uses-sdk android:minSdkVersion="8"> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
</uses-sdk> 

अपवाद: SocketException: अनुमति अस्वीकृत। LogCat विवरण देखें।

09-24 23:43:00.591: ERROR/File was not found.(1124): /mnt/sdcard/ListViewTest/-421624214 (No such file or directory) 
09-24 23:43:00.601: WARN/System.err(1124): java.net.SocketException: Permission denied 
09-24 23:43:00.611: WARN/System.err(1124):  at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method) 
09-24 23:43:00.611: WARN/System.err(1124):  at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186) 
09-24 23:43:00.622: WARN/System.err(1124):  at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265) 
09-24 23:43:00.632: WARN/System.err(1124):  at java.net.Socket.checkClosedAndCreate(Socket.java:873) 
09-24 23:43:00.632: WARN/System.err(1124):  at java.net.Socket.connect(Socket.java:1020) 
09-24 23:43:00.632: WARN/System.err(1124):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62) 
09-24 23:43:00.642: WARN/System.err(1124):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88) 
09-24 23:43:00.642: WARN/System.err(1124):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927) 
09-24 23:43:00.652: WARN/System.err(1124):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909) 
09-24 23:43:00.661: WARN/System.err(1124):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:1152) 
09-24 23:43:00.661: WARN/System.err(1124):  at java.net.URL.openStream(URL.java:653) 
09-24 23:43:00.661: WARN/System.err(1124):  at fabiomilheiro.tests.ImageLoader.getBitmap(ImageLoader.java:80) 
09-24 23:43:00.671: WARN/System.err(1124):  at fabiomilheiro.tests.ImageLoader.access$0(ImageLoader.java:66) 
09-24 23:43:00.671: WARN/System.err(1124):  at fabiomilheiro.tests.ImageLoader$PhotosLoader.run(ImageLoader.java:173) 

त्रुटि/mnt/sdcard/ListViewTest/-+४२१६२४२१४ (जैसे कोई फ़ाइल या निर्देशिका) मुझे गुस्सा दिलाना है। मैंने फेडरर के कोड के अनुकूलन को डीबग किया और मुझे नहीं पता कि फाइलें क्यों नहीं मिलीं। मैंने उन फ़ाइलों की जांच की और पुष्टि की जिन्हें मैं वेब पर मौजूद होने की कोशिश कर रहा हूं।

वैसे, छवि अपलोडर वर्ग बिल्कुल वही है। मेरे कोड और फेडरर कोड के बीच मैं जो मुख्य अंतर देखता हूं वह यह है कि मेरी मुख्य गतिविधि कक्षा सूची गतिविधि को बढ़ाती है जबकि वह बेसएक्टिविटी बढ़ाती है।

उत्तर

17

मुझे नहीं पता कि यह आपकी समस्या का हल करता है, लेकिन आपके मैनिफेस्ट में, उपयोग-अनुमति निर्देशों को उपयोग-एसडीके निर्देश के अंदर नहीं रखा जाना चाहिए।

+3

धन्यवाद केविन गौडिन! आपके सुझाव ने समस्या हल की। यह उन साधारण चीजों में से एक है जो अभी शुरू करने वाले किसी के लिए स्पष्ट नहीं हैं। –

+0

त्रुटि तब होती है जब अनुमति पूरी तरह गायब होती है। – tos

+0

@ निश्चित रूप से, एक गलत स्थान होने की अनुमति होने के बराबर है। –

1

क्या आपके पास वास्तव में "/ mnt/sdcard/listViewTest/-421624214" नामक एक फ़ाइल है ???

क्योंकि ऐसा लगता है कि किसी ने मुझे% s के बजाय% d के साथ फ़ाइल नाम sprintf'd किया था और यह एक सूचक के मान को एक स्ट्रिंग में डी-रेफरेंस करने के बजाय दशमलव int में परिवर्तित कर दिया। (या जावा में कुछ तुलनीय प्रोग्रामर प्रकार भ्रम)

यह भी स्थानीय फ़ाइल तक पहुंचने में एक त्रुटि है, चाहे वेब पर क्या होता है या नहीं।

+0

जो मुद्दा नहीं था, लेकिन वैसे भी धन्यवाद। मैंने यह भी सोचा कि यह ऐसा कुछ हो सकता है! –

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