2013-08-14 3 views
-1

Я заявление сделал в воздухе в Flash Builder для IOS plataformзапись/обновление базы данных SQLite данных в прошивкой

Я скомпилировал и установил его на моем iPhone, приложение переговоры в базу данных, но он не записывает/не обновляет в базе данных. В чем проблема? Разрешение устройства или путь к базе данных?

спасибо.

код:

private var dbFile : File; 
private var dbPath : String = "SAG.sqlite"; //name of database 

private function setaAPP():void{  
    if(app == 'ANDROID'){   
     dbFile = new File('/mnt/sdcard/SAG/' + dbPath); // to ANDROID  
    }else if(app == 'DESKTOP'){ 
     //app == DESKTOP 
     dbFile = File.applicationDirectory.resolvePath(dbPath); // to DESKTOP    
    }else if(app == 'DEBUG'){ 
     //only to debug in Android   
     dbFile = File.applicationDirectory.resolvePath(dbPath); // to DEBUG in device 
    }else if(app == 'IOS'){ 
     //app == IOS   
     dbFile = File.applicationStorageDirectory.resolvePath(dbPath); // to iOS 
    }   
} 
+0

Это sqlite db, который вы включили при упаковке приложения? – yclevine

+0

да, расширение - .sqlite; В Android и настольных работает хорошо, только у iOS у меня есть эта проблема. –

+0

Теперь я вижу, файл существует! Я добавляю код: if (dbFile.exists) и файл существует, но проблема сохраняется ... –

ответ

-1

Если структура такая же, как ваши ANDROID или DEBUG проектов (т.е. вы включили дб в каталоге приложения корневого при упаковке), вы должны быть в состоянии использовать File.applicationDirectory. resolvePath (dbPath) так же, как и в тех случаях.

EDIT:

Каталог приложения не доступен для записи, так что если вы хотите записать в базу данных, вам нужно будет переместить файл в папку Документы, которые вы можете получить доступ с вар документы: File = новый Файл (File.userDirectory.nativePath + '/ Documents');

+0

Спасибо за ваш ответ, я включаю файл базы данных, когда я иду синхронизировать с iTunes, но все равно не работает. –

+0

Является ли файл базы данных включенным в структуру вашего проекта в Flash Builder? Убедитесь, что файл включен при упаковке приложения (на вкладке «Содержимое содержимого»). – yclevine

+0

Нет, на вкладке «Содержимое пакета», когда я выпускаю приложение, не появляется моя база данных, что мне нужно делать? –

0

Для прошивкой, я предполагаю, что вы хотите:

dbFile = new File(dbPath); 

Хотя вы, вероятно, также использовать это:

dbFile = File.applicationDirectory.resolvePath(dbPath); 

От Apple Documentation:

В приложении IOS , нелокализованные ресурсы расположены на верхнем уровне каталога пучков , а также приложение исполняемый файл и файл Info.plist.

Папка хранения или "документов" будет пустой, пока вы не напишете там файлы во время выполнения (также через синхронизацию iCloud).

+0

Один из знакомых расскажет мне о невозможности создания файла на iPhone ... Маркус, вы пытались создать с помощью этого кода? (dbFile = new File (dbPath);) –

+0

Я пробовал это, но экран был полностью белым –

+0

@RafaelGrando, который создает новый файловый объект, а не новый файл. –

Смежные вопросы