2012-01-24 15 views
5

私はMediaStore.Images.Media.EXTERNAL_CONTENT_URI(外部DB :: data/data/com.android.provider.media/external .db))私のアプリケーションで自分の_display_nameと画像を保存する:image_101.jpgしかし、しばらくしてから、表示名は長い番号に変更されます。 1327392947034.jpgのように。次回、私の_display_name(image_101.jpg)でイメージを取得すると、外部のデータベースに何も見つかりませんでした。誰が私になぜそれが起こるのか教えてくれますか?イメージ_display_nameがcom.android.provider.media/external.dbの外部DBで変更されました

おかげ

答えて

0

私はMediaScannerは、私は数字がSystem.currentTimeMillis();(塩漬けハッシュ、または類似の)に関連していると思う内部MediaStore.にファイルを追加するときにこの問題が発生したと考えています。私はこれがファイル名の衝突の可能性を減らすことだと考えています(同じ名前の2つの画像)。

ただし、表示名とファイル名を区切る方法が必要です。 "my _display_name"と言ったら、MediaStoreの列を参照していますか(たとえば "data2")?またはDISPLAY_NAMEandroid.provider.MediaStore.MediaColumns)列を使用していますか? DESCRIPTIONの列にカスタム名を入れることもできます。

解決策の1つは、メディアストア内のIDの列を使用して、表示名の独自のデータベースを保持することです。

また、画像をどのように挿入していますか? MediaStore.Images.Mediaから

insertImage(ContentResolver cr, String imgPath, String name, String desc)

方法:あなたは、SQLクエリまたはのいずれかを使用していますか?

もう少しコードを入力すると、この回答が役立ちます。

関連する問題