2012-01-24 11 views
5

पर बाहरी डीबी में बदल दिया गया है I MediaStore.Images.Media.EXTERNAL_CONTENT_URI (बाहरी डीबी :: डेटा/डेटा/com.android.provider.media/बाहरी .db)) मेरे ऐप में छवियों को अपने _display_name के साथ सहेजने के लिए उदाहरण के लिए: image_101.jpg लेकिन कुछ समय बाद डिस्प्ले नाम लंबे समय में बदल जाता है। 1327392947034.jpg की तरह। और अगली बार जब मैं अपने _display_name (image_101.jpg) के साथ छवि लाता हूं तो इसे बाहरी डीबी में कुछ भी नहीं मिला। क्या कोई मुझे बता सकता है कि ऐसा क्यों होता है?छवियों _display_name को com.android.provider.media/external.db

धन्यवाद

उत्तर

0

मेरा मानना ​​है कि यह तब होता है जब MediaScanner आंतरिक MediaStore. मुझे लगता है कि संख्या System.currentTimeMillis(); (नमकीन हैश, या समान) से जुड़े हुए हैं के लिए फ़ाइल कहते हैं। मुझे लगता है कि यह फाइलनाम टकराव की संभावना-हूड को कम करना है (एक ही नाम वाली दो छवियां)।

हालांकि फ़ाइल नामों से प्रदर्शन नाम अलग करने का एक तरीका होना चाहिए। जब आप कहते हैं कि "my _display_name" क्या आप मीडियास्टोर में "कॉलम" (जैसे "डेटा 2") में एक कॉलम का जिक्र कर रहे हैं? या आप DISPLAY_NAME (android.provider.MediaStore.MediaColumns) कॉलम का उपयोग कर रहे हैं? आप DESCRIPTION कॉलम में कस्टम नाम डालने पर भी देख सकते हैं।

एक कामकाज मीडिया स्टोर में आईडी के लिए कॉलम के साथ अपने प्रदर्शन नामों का अपना डीबी रखना होगा।

इसके अलावा आप छवि को कैसे सम्मिलित कर रहे हैं? MediaStore.Images.Media से

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

तरीके: आप एक SQL क्वेरी या में से एक का उपयोग कर रहे हैं?

थोड़ा और कोड मदद करेगा लेकिन शायद इनमें से कुछ उत्तर मदद कर सकते हैं।