писать слишком много раз в базе данных - PullRequest
0 голосов
/ 27 марта 2011

Я пытаюсь сохранить в базе данных некоторые данные GPS, полученные из файла KML с использованием DDMS, проблема в том, что каждый раз, когда я запускаю свою программу, я сохраняю эти данные.Это означает, что я храню его пару раз.После этого мне нужно создать маршрут на основе этих данных GPS, хранящихся в Sqlite.

Теперь проблема в том, что я не могу правильно выбрать этот маршрут, потому что в моей базе данных есть беспорядок.Так много данных хранится слишком много раз. У кого-нибудь есть представление о том, как я могу сделать это правильно.Я работаю на Android 2.1

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Если вы просто вставляете данные каждый раз, вы можете вместо этого переключиться на REPLACE.Это заменит существующие данные (если данные совпадают).Лично я бы изменил код установки вашей базы данных.

Одна простая вещь, которую можно использовать - это прагма user_version.Это позволяет вам получить или установить «версию» базы данных для вашей базы данных.По умолчанию оно равно 0, поэтому вы можете проверить его при запуске приложения, а если оно равно 0, инициализировать БД, а затем установить его на 1. Последующие запуски приложения будут пропускать инициализацию базы данных.

PRAGMA user_version
PRAGMA user_version = 1
1 голос
/ 27 марта 2011

Переписать логику инициализации базы данных, чтобы в ней был сохранен индикатор того, что база данных была инициализирована.(SharedPreferences подходит для этого.) Затем проверьте индикатор и пропустите инициализацию базы данных при запуске, если индикатор показывает, что это уже сделано.

...