Kann nicht geöffnet werden android-Datenbank mit SQLiteDatabase.openDatabase()
In meine app, die ich versuchte zu öffnen, die bestehenden android-Datenbank für die Modifizierung der Inhalte durch folgenden code:
String DB_PATH = "/data/data/com.sec.android.provider.logsprovider/databases/";
String DB_NAME = "logs.db";
..........................
SQLiteDatabase mSqLiteDatabase = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE);
Pfad zur Datenbank richtig sind, ich habe auch die Berechtigung für die Datenbank-Datei. Aber es kommt immer eine Fehlermeldung "Fail to open database file (code 14):,, während der Kompilierung: PRAGMA journal_mode"
meine manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.logsfiller"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.logsfiller.LogFillerActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Hast, mache ich etwas falsch? Bitte helfen Sie mit!
Danke!
- Überprüfen Sie die Berechtigungen der Anwendung (Sie müssen WRITE_EXTERNAL_STORAGE) und versuchen Sie eine andere Methode verwenden: stackoverflow.com/a/6781029/1001401 ich denke, Sie können, verwenden Sie die Methode der Kontext: Kontext.openOrCreateDatabase: developer.android.com/intl/ru/reference/android/content/...
- Ich habe es schon, aber dasselbe Problem 😐
- Tun Sie erstellen, die DB vor der Eröffnung? Oder erstellen Sie das Verzeichnis "/Datenbanken/"?
- könntest Du Deinen post manifest.xml?
- Dieser DB ist, gehören andere Anwendung, Nun möchte ich zugreifen und es ändern.
- Mein manifest-Datei ist jetzt sehr einfach, weil ich konnte nicht auf die Datenbank für das weitere Vorgehen 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gar nicht erwähnen, die Erweiterung der db
Versuchen Sie dies, es wird funktionieren.
EDIT :
Fügen Sie dieser Klasse zu Ihrem Programm,
- und call -
open()
Methode wie,es für mich funktioniert, es sicherlich für Sie arbeiten