作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想要具有特定光标扩展名的图像。如果我像这样写一个游标查询,那么它会给我最后添加的图像。例如,如果我使用 jpg 图像,那么它将提供 .jpg 图像路径。如果我添加 .png 扩展名,那么它将提供一个 .png 图像路径
Cursor cur = getContentResolver().query(Images, PROJECTION_BUCKET, "1) GROUP BY 1,(2", null,
"MAX(datetaken) DESC");
但是我如何从游标中获取图像文件的特定扩展名。我试过这段代码,但给了我一个错误:
String[] PROJECTION_BUCKET = new String[] { "bucket_id", "bucket_display_name", "datetaken", "_data" };
Uri Images = Media.EXTERNAL_CONTENT_URI;
String where = MediaStore.Images.Media.MIME_TYPE + "='image/jpeg'" +
" OR " + MediaStore.Images.Media.MIME_TYPE + "='image/png’"+
" OR " + MediaStore.Images.Media.MIME_TYPE + "='image/jpg’";
Cursor cur = getContentResolver().query(Images, PROJECTION_BUCKET where,null,MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");
错误:
11-06 18:15:10.249: E/SQLiteLog(3167): (1) near "image": syntax error
11-06 18:15:10.249: E/DatabaseUtils(3167): Writing exception to parcel
11-06 18:15:10.249: E/DatabaseUtils(3167): android.database.sqlite.SQLiteException: near "image": syntax error (code 1): , while compiling: SELECT bucket_id, bucket_display_name, datetaken, _data FROM images WHERE (mime_type='image/jpeg' OR mime_type='image/png’ OR mime_type='image/jpg’) ORDER BY datetaken DESC
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:400)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:333)
11-06 18:15:10.249: E/DatabaseUtils(3167): at com.android.providers.media.MediaProvider.query(MediaProvider.java:2700)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.content.ContentProvider.query(ContentProvider.java:1010)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.content.ContentProvider$Transport.query(ContentProvider.java:214)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
11-06 18:15:10.249: E/DatabaseUtils(3167): at android.os.Binder.execTransact(Binder.java:446)
有人知道如何为此编写查询吗?
最佳答案
正确的查询在下面我找到了我自己的问题的解决方案
String where = MediaStore.Images.Media.MIME_TYPE + "='image/jpeg'" + " OR " + MediaStore.Images.Media.MIME_TYPE + "='image/png'"+ " OR " + MediaStore.Images.Media.MIME_TYPE + "='image/jpg'";
我在我的问题代码中只犯了一个错误,错误是我在“png”和“jpg”的末尾写了“这个”,我只是将“这个”替换为“就是这样”
关于android - 如何仅从光标获取 jpg 或 png 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47137773/
我是一名优秀的程序员,十分优秀!