0

External Micro SD CardSD 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 に答える