Görüntüler için MediaStore'u sorgulayan bir dersim var. Örneğin, someContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, ...)
gibi görünen bir kod var. Diğer şeylerin yanı sıra, MediaStore'a yaptığım sorguların doğru olduğunu test etmek istiyorum. Benim testinde ana kadar ne yaptıkMediaStore'u robolectric kullanarak bir test çiftiyle değiştirmek mümkün mü?
şudur:
ContentResolver resolver = new Activity().getContentResolver();
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA,
"/fake/path/file1.jpg");
values.put(MediaStore.Images.Media.DATE_ADDED,
fakeTime.getTime());
resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);
Bunun üzerine bir sorgu gerçekleştirir Dersimde, içine bu çözümleyicinizi enjekte edin. Ancak, sorgu null değerini döndürür. Ben bu yazı gördüm: ShadowContentResolver kullanarak içerik sağlayıcı kayıt diyor http://ikaruga2.wordpress.com/2013/07/29/roboelectric-and-contentresolverscontentproviders/, bu nedenle, bir şey gibi:
ShadowContentResolver.registerProvider(MediaStore.AUTHORITY, <SOMETHING_GOES_HERE>);
ama içerik sağlayıcı koymak için bilmiyorum. Belki bir MediaStore
nesnesini kullanın? Hayır, ContentProvider
değil. Belki de MediaProvider
mu? Sembol bir sebepten ötürü çözülemez. Bu noktada, bunun doğru bir şekilde doğru bir yaklaşım olduğu konusunda ciddi şüphelerim var. Birisi beni doğru yönde yönlendirebilir mi?
Robolectric 2.4 anlık ve API I Mediastore ile benzer bir sorunu vardı 19.
Henüz bir çözüm buldunuz mu? –
@SebastianRoth hayır, yok. – Kevin