SQLIte java.lang.IllegalArgumentException

时间:2013-02-06 05:48:56

标签: android sqlite

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

显示此错误:

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();
    }

1 个答案:

答案 0 :(得分:0)

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

你应该去this question,这也可能解决你的问题:

  

你应该   提供File的名称,而不是Full path作为您的Argument。

documentation也表明这个函数的名称参数:

  

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