1

可能であれば、それについてのアイデアを教えてください。

  1. mydb.db データベースを使用して最初のアプリを作成し、DB を sdcard に保存しました。

  2. 同じDB名 mydb.db で同じ場所を保存する2番目のアプリを作成しました。

最初のアプリを実行した後、SDカードにDBを作成していますが、2番目のアプリはこのDBを削除して独自のデータベースを作成しています。

2番目のデータベースで削除する最初のデータベースを保護する方法は?

ログキャット:

01-31 12:22:15.649: D/dalvikvm(25919): GC_EXPLICIT freed 77K, 4% free 6383K/6599K, paused 4ms+6ms
01-31 12:30:29.389: D/dalvikvm(25919): GC_EXPLICIT freed 10K, 4% free 6377K/6599K, paused 3ms+3ms

01-31 12:31:41.029: I/SqliteDatabaseCpp(6547): sqlite returned: error code = 26, msg = file is encrypted or is not a database, db=/mnt/sdcard/sdcard/appdatabase
01-31 12:31:41.029: E/SqliteDatabaseCpp(6547): CREATE TABLE android_metadata failed
01-31 12:31:41.039: E/DefaultDatabaseErrorHandler(6547): Corruption reported by sqlite on database: /mnt/sdcard/sdcard/appdatabase
01-31 12:31:41.079: E/DefaultDatabaseErrorHandler(6547): deleting the database file: /mnt/sdcard/sdcard/appdatabase
01-31 12:31:41.409: V/creating DB(6547): its done
01-31 12:31:41.479: V/TLINE(6547): new: android.text.TextLine@40668ae0
4

1 に答える 1

2

SD カード上のファイルには、すべてのアプリからアクセスできます (SD カードが別のマシンに接続されている場合は、他のすべてのアプリからもアクセスできます)。

他のアプリがデータにアクセスできないようにするには、内部ストレージのアプリのプライベート データ ディレクトリに保存する必要があります。ただし、ユーザーはアプリのデータを削除することが許可されているため、これによってアプリの削除が妨げられることはありません。

于 2013-01-31T08:06:49.440 に答える