используя метод из другой деятельности в Java (Android) - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть загадка, я знаю, как вызывать метод из другой деятельности .. создание объекта и т. Д.

Но у меня есть dbHelper.java, который имеет дело с созданием маленьких таблиц sql и т. Д. И начинается как:

public class dbHelper extends SQLiteOpenHelper {
.
.
.
}

это работает нормально, но у меня есть метод, который проверяет, когда версия БД изменяется, и воссоздает таблицы БД и т. Д.

нравится:

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // pri zmene verzie DB dropne tabulku
        Log.w("DATA", "Upgrading database from version " + oldVersion + " to " + newVersion); 
        db.execSQL("DROP TABLE IF EXISTS plan");
        db.execSQL("DROP TABLE IF EXISTS contacts");

        this.onCreate(db);
}

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

    SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_FILENAME,MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("FS", "1");
    editor.commit();

Но MODE_PRIVATE подчеркивается как ошибка, даже когда я пытаюсь вызвать метод из другого действия, создающего объект, например, такой: dataManager db = new dataManager (this); где метод для хранения общих предпочтений, я по-прежнему подчеркиваю это как ошибку ...

Есть идеи, в чем может быть проблема? Я изучаю Java, но до сих пор не знаю: - /

Влад

1 Ответ

2 голосов
/ 01 февраля 2012

MODE_PRIVATE - это константа, объявленная в классе Context.Просто измените MODE_PRIVATE на Context.MODE_PRIVATE

Это прекрасно работает внутри метода Activity, потому что 'Activity является подклассом Context

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