私のアプリケーションでは、カメラを使用して画像を撮り、保存する必要があります。安全である必要があるため、これらの画像をデータベースに保存することは可能ですか。または、他のアプリケーションが表示できない方法でSDカードに画像を保存する方法はありますか事前にアドバイスと感謝をお願いします。
3 に答える
データベースに保存することはできますが、SQL Liteデータベースはこの目的を目的としていないため、お勧めしません。
デバイスがルート化されていない限り、他のアプリケーションが画像にアクセスできないように、画像をアプリケーションのキャッシュディレクトリに保存することをお勧めします。
あなたが使用することができます:
context.getCacheDir()
キャッシュディレクトリへのパスを取得します。
カメラから画像を取得し、SDカードに保存します。画像のサイズが大きい場合はこの方法をお勧めします。そうでない場合は、データベースに保存できます。また、他のアプリケーションに表示されたくない場合は、アプリのデータフォルダー内に画像を保存して、アプリのみがアクセスできるようにします。
画像をデータベースに保存することを検討している場合は、画像を内部メモリに保存し、そのパスをデータベースに保存することもできます。電話がルート化されている場合、どのアプリケーションもアプリの内部ストレージ領域にアクセスできることに注意してください.
暗号化しない限り、SD カード上のファイルを他のアプリケーションから保護する方法はありません。この場合、(明らかに) セキュリティ キーを埋め込む必要があり、誰かがアプリをリバース エンジニアリングすると、暗号化が侵害されます。
要するに、root化された電話では安全なものは何もなく、SDカード上のデータの保護は保証されていません.