2013-09-08 10 views
11

परिभाषित नहीं किया गया है मुझे अपने फोनगैप एप्लिकेशन में स्टोरेज उद्देश्य के लिए एंड्रॉइड फ़ाइल सिस्टम तक पहुंचने में समस्या है। मैंने खोज की है और मेरे बहुत से समाधान समाधान नहीं मिला है!फोनगैप एंड्रॉइड लोकलफ़ाइल सिस्टम को

मुझे डिवाइस से पहले की गोलीबारी और जांच की आवश्यकता के बारे में पता है और इसे निकाल दिया गया है। तो phonegap.js पूरी तरह से भरा हुआ है!

मुझे लगता है कि मैंने फ़ाइल अनुमतियों का अनुरोध किया है और मेरे मैनिफेस्ट और कॉन्फ़िगरेशन फ़ाइल में विशेषताएं हैं। यहाँ वे हैं:

config.xml:

<feature name="http://api.phonegap.com/1.0/device" /> 
    <feature name="http://api.phonegap.com/1.0/battery"/> 
    <feature name="http://api.phonegap.com/1.0/camera"/> 
    <feature name="http://api.phonegap.com/1.0/contacts"/> 
    <feature name="http://api.phonegap.com/1.0/file"/> 
    <feature name="http://api.phonegap.com/1.0/geolocation"/> 
    <feature name="http://api.phonegap.com/1.0/media"/> 
    <feature name="http://api.phonegap.com/1.0/network"/> 
    <feature name="http://api.phonegap.com/1.0/notification"/> 
    <preference name="permissions" value="none" /> 
    <preference name="orientation" value="default" /> 
    <preference name="target-device" value="universal" /> 
    <preference name="fullscreen" value="true" /> 
    <preference name="webviewbounce" value="true" /> 
    <preference name="prerendered-icon" value="true" /> 
    <preference name="stay-in-webview" value="false" /> 
    <preference name="ios-statusbarstyle" value="black-opaque" /> 
    <preference name="detect-data-types" value="true" /> 
    <preference name="exit-on-suspend" value="false" /> 
    <preference name="show-splash-screen-spinner" value="true" /> 
    <preference name="auto-hide-splash-screen" value="true" /> 
    <preference name="disable-cursor" value="false" /> 
    <preference name="android-minSdkVersion" value="7" /> 
    <preference name="android-installLocation" value="auto" /> 
    <icon src="icon.png" /> 
    <icon gap:density="ldpi" gap:platform="android" src="res/icon/android/icon-36-ldpi.png" /> 
    <icon gap:density="mdpi" gap:platform="android" src="res/icon/android/icon-48-mdpi.png" /> 
    <icon gap:density="hdpi" gap:platform="android" src="res/icon/android/icon-72-hdpi.png" /> 
    <icon gap:density="xhdpi" gap:platform="android" src="res/icon/android/icon-96-xhdpi.png" /> 
    <access origin="*" /> 
    <content src="index.html" /> 
</widget> 

AndroidManifest.xml:

$(document).ready(function() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
}); 
function onDeviceReady() { 
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) { //throws the 'Uncaught ReferenceError: LocalFileSystem is not defined' error 
     fileSystem = fileSystem; 
    }, function (evt) { 
     alert(evt.target.error.code); 
    }); 
} 

लेकिन मैं:

<?xml version='1.0' encoding='utf-8'?> 
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="1.0.0" android:windowSoftInputMode="adjustPan" package="com.pakhshyaran.kara" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 
    <uses-permission android:name="android.permission." /> 
    <application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:name="Kara" android:theme="@android:style/Theme.Black.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="18" /> 
</manifest> 

और यहाँ मेरे कोड का हिस्सा फेंक त्रुटि है किसी कारण के लिए त्रुटि प्राप्त करें जिसके बारे में मुझे कोई जानकारी नहीं है! कृपया मुझे अपना विचार दें। मैं इसकी बहुत कदर करता हूँ।

पीएस: मैं फोनगैप 3.0 का उपयोग कर रहा हूं!

उत्तर

19

क्या आप अपनी परियोजना बनाने के लिए फोनगैप क्ली का उपयोग कर रहे हैं? तो हो सकता है कि आपने अपनी प्रोजेक्ट में फ़ाइल प्लगइन जोड़ने से चूक गए हों। config.xml और AndroidManifiest.xml में कॉन्फ़िगर करने के अलावा आपको प्लगइन के लिए कोड की आवश्यकता है। डॉक्स में

पेज के
$ phonegap plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git 

चेक शीर्ष:: आप के साथ अपनी परियोजना में जोड़ सकते हैं http://docs.phonegap.com/en/3.0.0/cordova_file_file.md.html#LocalFileSystem

तुम भी फ़ाइल android/assets/www/cordova_plugins.js जाँच देखने के लिए अगर window.LocalFileSystem वास्तव में परिभाषित किया गया है सकते हैं। इस तरह कुछ ढूंढें:

{ 
    "file": "plugins/org.apache.cordova.core.file/www/FileSystem.js", 
    "id": "org.apache.cordova.core.file.FileSystem", 
    "clobbers": [ 
     "window.FileSystem" 
    ] 
}, 
+2

आपके उत्तर के लिए धन्यवाद। मुझे नहीं पता था कि मुझे प्लगइन जोड़ना है। मैं आदेश चलाता हूं और इसे निष्पादित किया जाता है। लेकिन cordova_plugins.js को कुछ भी खुशी नहीं है। क्या मुझे कुछ और पता होना चाहिए? – Hosein

+2

@ होसेन प्लगइन जोड़ना वास्तव में कॉन्फ़िगरेशन भी जोड़ता है। इसे फिर से बनाने का प्रयास करें: कॉर्डोवा बिल्ड एंड्रॉइड – davidlgj

+0

धन्यवाद। यह थोड़ा कठिनाई के साथ हल किया गया था। – Hosein

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