0

アプリケーションで SQLite データベースを使用しています。データベースを削除/削除したいのですが、できません。データベースの場所を確認したところ、/data/data/org.secure.sms/databases に存在しますが、削除しようとしましたが、うまくいきませんでした。助けてください。これはコードです:

public static void DeleteDatabase(Context context)
{
    try
    {

    String filePath = context.getFilesDir()+ File.separator + "contactsManager";
    String filePath1 = context.getFilesDir()+ File.separator + "database";
    String filePath2 = context.getFilesDir()+ File.separator + "databases";

    context.deleteDatabase(filePath);
    context.deleteDatabase(filePath1);
    context.deleteDatabase(filePath2);

    File file = new File(filePath);
    File file1 = new File( filePath1 );

context.deleteFile(file.getName());
context.deleteFile(file1.getName());
    }
    catch(Exception e)
    {
        Toast.makeText(context,"Exception in DeleteDatabase",Toast.LENGTH_SHORT).show();
    }

}

助けてください。よろしくお願いします。

4

3 に答える 3

2

これを使用して、SQLiteOpenHelper を拡張するカスタム クラスからのデータベースを削除します。

private final static String DATABASE_NAME = "pain.db";

private static final String DB_PATH = "/data/data/YOUR.PACKAGE.NAME/databases/" + DATABASE_NAME;


@Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

        Log.d("DATABASE UPDATED", "DATABASE UPDATED");

        try {
            File file = new File(DB_PATH);
            file.delete();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
于 2012-10-16T10:03:23.763 に答える
1

データベースを削除するためのコードは次のとおりです。

context.deleteDatabase(DATABASE_NAME);

あなたのコードでは、完全なパスを提供しています。

于 2012-10-16T10:01:44.640 に答える
0

あなたは欠けていますfile Extension!! 以下を試してください:

String filePath = context.getFilesDir()+ File.separator + "yourDataBaseName.db"; 
于 2012-10-16T10:16:28.203 に答える