Cordova App Access SD Card

时间:2015-06-29 10:47:51

标签: android ajax xml cordova local-storage

I'm preparing a cordova app for ios and android. On android, my app downloading a zip file and extract it into sdcard. This zip file contains some xml files and some jpegs. But unfortunately i cant access to xml files via $.ajax.

i tried following paths;

cdvfile://sdcard/webservice/Resim/Kategori.xml

cordova.file.externalRootDirectory + '/Resim/Kategori.xml'

And my ajax looks like;

$.ajax({
   url: 'cdvfile://sdcard/webservice/Resim/Kategori.xml',
   dataType: 'xml',
   async:false,
   cache:false,
   success: parseMenu
});

What is wrong with my ajax request? I tried send xml file into www directory before i build app and it works with this path '../webservice/Resim/Kategori.xml'

How can i access my downloaded xml via $.ajax or should i download it into android_asset/www/webservice path, if yes how can i download it to there?

PS: My download and extract function executes good, if needed;

function appReady(){
                alert('tamam');
            }
            var filePath = "/sdcard/";

            //İndirelecek dosyanın URL yolu
            var zipURL = "http://www.somedomain.com/webservice/webservice.zip";

            //İndirilen dosyanın alacağı isim.
            var fileName = "webservice.zip";

            function downloadZip() {
                var options = new FileUploadOptions();
                var fileTransfer = new FileTransfer();

                fileTransfer.download(
                    encodeURI(zipURL),
                    filePath + fileName,
                    function(entry) {

                        zip.unzip(filePath+ fileName, filePath, appReady, null);
                        alert("download complete: " + entry.fullPath);
                    },
                    function(error) {
                        alert(error);
                        alert("download error source " + error.source);
                        alert("download error target " + error.target);
                    },
                    false,
                    {

                    }
                );

            }
            function init(){

                // eğer indirilmediyse..
                if(localStorage.getItem('downloaded') != "yes") {
                    alert('inmemiş inecek..');
                    // uygualama ana klasörünü dosya yolu olarak belirledim siz değişebilirsiniz.
                    alert(filePath);
                    // zip dosyasını indir
                    downloadZip();

                } else {
                    alert('İnmiş gözüküyor');
                    // uygulamanızı çalıştıran fonksiyon olduğunu varsaydım.
                    appReady();
                }      

            }
            document.addEventListener("deviceready", init, false);

0 个答案:

没有答案