【发布时间】:2014-09-09 12:34:59
【问题描述】:
我想为此在 sdcard 或外部 sdcard 中创建数据库,我尝试了此代码并使用此代码我已成功在 sdcard 中创建数据库,但在 logcat 中它给了我如下警告
Logcat
07-18 14:18:22.140: W/FileUtils(8595): 失败 chmod(/mnt/sdcard/peakmedia/DB_PMD):libcore.io.ErrnoException:chmod 失败:EPERM(不允许操作)
DB_Helper.java
public class DB_Helper extends SQLiteOpenHelper
{
public DB_Helper(Context context)
{
super(context, Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator + DB_Constant.DB.FILE_DIR
+ File.separator + DB_Constant.DB.DATABASENAME, null, DB_Constant.DB.DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
String query=String.format(DB_Constant.CREATE_TABLE_QUERY.CREATE_MYFILES_TABLE);
db.execSQL(query);
query=String.format(DB_Constant.CREATE_TABLE_QUERY.CREATE_MYUSERS_TABLE);
db.execSQL(query);
query=String.format(DB_Constant.CREATE_TABLE_QUERY.CREATE_MYPLAYLIST_TABLE);
db.execSQL(query);
query=String.format(DB_Constant.CREATE_TABLE_QUERY.CREATE_MYDEVICE_TABLE);
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
if(newVersion > oldVersion)
{
db.execSQL("DROP TABLE IF EXISTS "+ DB_Constant.TABLE.MYFILES);
onCreate(db);
db.execSQL("DROP TABLE IF EXISTS "+ DB_Constant.TABLE.MYUSERS);
onCreate(db);
db.execSQL("DROP TABLE IF EXISTS "+ DB_Constant.TABLE.MYPLAYLIST);
onCreate(db);
db.execSQL("DROP TABLE IF EXISTS "+ DB_Constant.TABLE.MYDEVICE);
onCreate(db);
}
}
}
【问题讨论】: