Возможность выбора из нескольких баз данных SQLite для приложения Iphone - PullRequest
2 голосов
/ 26 мая 2010

Я работаю над дизайном и реализацией приложения для iPhone (новичок, но я уже освоил его), где человек может загрузить конкретную контактную информацию о преподавателях на основе их специализации.

Информация в настоящее время находится на разных сайтах edu. И я экспортировал информацию в базы данных SQLite. Возможно ли разработать приложение, которое при первом запуске может дать пользователю возможность выбрать конкретную базу данных SQLite для своего приложения?

Или, если нет, то было бы лучше объединить все БД в одну БД и предоставить пользователю возможность загрузки конкретной информации из базы данных SQLite.

Я вижу, что базы данных могут быть загружены в приложение, но пока не найдено решение, в котором можно было бы загружать файлы из разных баз данных SQLite. Спасибо!

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Марк,

Установив некоторую переменную для имени базы данных через NSString, вы сможете открывать любую базу данных, которую вы хотите, которая связана с приложением, когда оно отправлено. Например,

объявить переменную: NSString *databaseName;

установить имя базы данных: databaseName = @"teachersDBNumber1.sql";

, а затем, когда вы открываете его, используя путь к файлу, вы получаете путь к файлу для любого databaseName, установленного в.

Если вы хотите открыть другой файл, просто установите для databaseName новую строку, например databaseName = @"teachersDBNumber2.sql";, найдите путь к нему, а затем откройте его.

Вы должны быть в состоянии найти множество хороших учебников по SQLite db, как открыть его, прочитать данные и т. Д.

0 голосов
/ 27 мая 2010

Я бы разместил все базы данных на веб-сервере; таким образом, вы можете обновить их в любое время, не распространяя приложение. (Я делаю это для fringegenie.com)

Используйте NSMutableURLRequest, чтобы загрузить нужный файл и сохранить его. Причина, по которой я предлагаю NSMutableURLRequest, заключается в том, что вы можете добавить заголовок If-Modified-Since. Таким образом, вы можете сделать запрос с датой последней загрузки, и сервер ответит «304 не изменено», если вы не обновили его на сервере. Если будет новая версия, сервер выдаст «200 OK» и отправит файл.

Это сказало: насколько большой будет одна большая база данных? Вероятно, не очень большой, так что вы могли бы также сделать одну базу данных. В любом случае: вышеприведенное все еще действует для обновлений большого.

Надеюсь, это поможет!

PS: используйте http://gusmueller.com/blog/archives/2008/03/fmdb_for_iphone.html для доступа к вашей базе данных SQLite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...