0

我正在尝试在External Micro SD Card不在 SD Card 中创建数据库。

它显示此错误:

Caused by: java.lang.IllegalArgumentException: File mounted/extSdCard/mytest contains a path separator

我正在经过这条路。

这同样适用于 SD 卡。但不适用于我的 Extenally Micro SD 卡。

public SDcardDatabase(final Context context) {
        super(context,Environment.getExternalStorageState()+"/extSdCard/mytest", null, 1);
    }

我正在写这样的数据:-

public void saveData(View v) {
        SQLiteDatabase sqldb = null;
        SDcardDatabase mydb = new SDcardDatabase(this);
        sqldb = mydb.getWritableDatabase();
        ContentValues insertData = new ContentValues();
        insertData.put(SDcardDatabase.NAME, etname.getText().toString());
        insertData.put(SDcardDatabase.ADDRESS, etadd.getText().toString());
        insertData.put(SDcardDatabase.CITY, etcity.getText().toString());

        sqldb.insert("mylistdata", SDcardDatabase.NAME , insertData);

        sqldb.close();
        Toast.makeText(this,"Data saved", Toast.LENGTH_SHORT).show();
    }
4

1 回答 1

0
java.lang.IllegalArgumentException: File mounted/extSdCard/mytest contains a path separator

你应该去这个问题,这也可能会解决你的问题:

您应该提供文件名称,而不是完整路径作为您的参数。

文档还指出了函数的 name 参数:

要打开的文件名不能包含路径分隔符。

于 2013-02-06T06:20:34.717 回答