我的应用程序是一个音板的应用程序,但在种类很多声音。每个类别都在不同的活动中运行。因此,当用户选择类别时,第一个活动会调用其他活动。的SQLite Android的 - MODE_WORLD_WRITEABLE不能被解析为一个变量
该应用程序有超过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
}
}
我曾尝试使用(字符串TITULO,INT ID,上下文续)和cont.CODE_WORLD_WRITEABLE
但随后给出了错误,如openOrCreateDatabase is undefined for the type banco (banco is the class name)
。
我如何使用openOrCreateDatabase
在另一个类,它是不是一个活动?如果你们可以给我看一个片段。
=========编辑===========
由于zrgiu解决了这个问题,在这里不用我的代码在银行类:
公共类银行{
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。
谢谢zrgiu。我如何正确传递上下文?我试图在方法cria((字符串titulo,int id,上下文续))中获得上下文,它给了我另一个错误:( – 2012-03-26 03:29:50
这是一个好的开始。现在你只需要确保你在任何地方调用cria (),你需要传递你的上下文作为参数(在一个Activity类中,这将是“this”) – zrgiu 2012-03-26 03:39:36
你没有理解我,这也行不通,正如我写的,“我试过了使用(字符串TITULO,INT ID,上下文续)和cont.CODE_WORLD_WRITEABLE但随后“openOrCreateDatabase是未定义类型银行”(是银行类名)。” – 2012-03-26 03:47:55