R.string.value возвращает ссылочный идентификационный номер ресурса 'value'.Если вы посмотрите на ваш класс R, он будет выглядеть примерно так:
public static final class string {
public static final int value=0x7f040007;
}
У меня возникли проблемы со ссылкой на метод getString ().Точная ошибка, которую Eclipse плюет на меня:
Метод getString (int) не определен для типа DatabaseHelper.MainDatabaseHelper
Прочитав некоторое время, я понялчто вы должны ссылаться на контекст вашего приложения, чтобы получить доступ к методу getString ().Я пытался создать частный вспомогательный класс SQLDatabase в поставщике контента, однако это не позволяло мне ссылаться на метод getString ().Мое решение до сих пор состоит в том, чтобы сделать что-то вроде этого:
private class MainDatabaseHelper extends SQLiteOpenHelper {
MainDatabaseHelper(Context context) {
super(context, context.getString(R.string.createRoutesTable), null, 1);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL((getContext()).getString(R.string.createRoutesTable));
}
}
Обратите внимание на эти две контекстные ссылки:
context .getString ()
(getContext ()) .getString ()
Я не знаю, является ли это оптимальным долгосрочным решением, но, похоже, оно работает на данный момент.Надеюсь, это поможет.