2013-11-27 3 views
-1

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

private static final String DB_PATH = "/data/data/com.example.FMF/databases/"; 

В настоящее время она приходит с предупреждением говоря:

Do not hardcode "/data/"; use Context.getFilesDir().getPath() instead 

Мой вопрос может жестко кодированная версия работает на реальных устройствах? и если нет, то каким образом я реализую другой метод?

+3

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

+1

Вы не должны использовать жесткий код в других вопросах, таких как непараметризированные операторы, пути к базам данных, файлам и файлам на SD-карте. Он может работать на некоторых устройствах, но не во всех. Это также зависит от версии API, используемой устройством. – Sajmon

+0

почему вы даже используете путь? вы, как правило, даже не нуждаетесь в этом. – njzk2

ответ

0

Мой вопрос: может ли жестко закодированная версия работать на реальных устройствах?

Многие, но не все. Это, безусловно, не будет работать на планшетах Android 4.2+, где приложение запускается кем-то со вторичной учетной записью или ограниченным профилем.

, и если нет, то каким образом я реализую другой метод?

Шаг 1: Удалить DB_PATH из исходного кода

Шаг № 2: Везде, что теперь у вас есть ошибки компиляции, потому что вы больше не определяют DB_PATH, изменять свой код, чтобы построить путь к файлу базы данных via getDatabasePath() , способ, доступный для любого Context, например Activity.

+0

я просто пишу там getDatabasePath(), то? – user2957710

+0

@ user2957710: 'getDatabasePath()' принимает параметр 'String', который является именем вашего файла базы данных, и возвращает вам полный путь к тому месту, где должен находиться этот файл базы данных. – CommonsWare

+0

да, я понимаю, но что я на самом деле пишу, у меня есть строка для открытия базы данных: – user2957710

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