Мое приложение - это приложение на звуковой панели, но в категориях много звуков.Каждая категория работает в разных видах деятельности.Итак, первое действие вызывает другие, когда пользователь выбирает категорию.
Приложение имеет более 200 звуков, и я начал создавать базу данных SQLite, чтобы пользователь мог выбирать любимые звуки и показывать их в отдельномактивность.
Он уже работает, но код находится в действии, когда я помещаю sqlite-код в метод внутри другого класса (если я хочу что-то изменить, это облегчит мою работу, потому что есть 20 категорий) он дал мне «не может быть преобразован в переменную» для MODE_WORLD_WRITEABLE
.
Вот метод:
public void cria(String titulo,int id){
SQLiteDatabase sampleDB = null;
try {
sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, CODE_WORLD_WRITEABLE, null);
sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " +
SAMPLE_TABLE_NAME +
" (titulo VARCHAR, id INT);");
sampleDB.execSQL("INSERT INTO " +
SAMPLE_TABLE_NAME +
" Values ('" +
titulo +
"'," +
id +
");");
} catch (SQLiteException se ) {
Log.e(getClass().getSimpleName(), "Could not create or Open the database");
} finally {
//nothin to do
}
}
Я пытался использовать (String titulo, int id, Contextпродолжение) и cont.CODE_WORLD_WRITEABLE
, но затем выдает ошибку типа openOrCreateDatabase is undefined for the type banco (banco is the class name)
.
Как я могу использовать openOrCreateDatabase
в другом классе, который не является действием?Если вы, ребята, можете показать мне фрагмент.
========= РЕДАКТИРОВАТЬ ===========
Как zrgiu решил проблему, здесь идетмой код в классе banco:
public class banco {
private final static String SAMPLE_DB_NAME = "myFriendsDb";
private final static String SAMPLE_TABLE_NAME = "friends";
public static void cria(String titulo,int id, Context cont){
SQLiteDatabase sampleDB = null;
try {
sampleDB = cont.openOrCreateDatabase(SAMPLE_DB_NAME, Context.MODE_WORLD_WRITEABLE, null);
sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " +
SAMPLE_TABLE_NAME +
" (titulo VARCHAR, id INT);");
sampleDB.execSQL("INSERT INTO " +
SAMPLE_TABLE_NAME +
" Values ('" +
titulo +
"'," +
id +
");");
} catch (SQLiteException se ) {
Log.e(cont.getClass().getSimpleName(), "Could not create or Open the database");
} finally {
sampleDB.close();
}
}
}
А в своей деятельности я использую:
banco.cria (Somestring, Someint, это);
Опять же, спасибо, zrgiu.