我的應用程序是一個音板的應用程序,但在種類很多聲音。每個類別都在不同的活動中運行。因此,當用戶選擇類別時,第一個活動會調用其他活動。的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