小编whe*_*max的帖子

使 HttpLoggingInterceptor 不记录图像

我正在尝试清除日志中的垃圾,例如

*?$?x???J/

当我收到图像时

因此,我尝试覆盖 HttpLoggingInterceptor 拦截(),以检测响应中是否存在 Content-Type => image/jpeg 标头,但 HttpLoggingInterceptor 是最终的,因此我无法扩展它:(

RetrofitModule 中的代码:

OkHttpClient provideOkHttpClient(Context context, Application app, Preferences preferences) {
        HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
        loggingInterceptor.setLevel(BuildConfig.DEBUG ? HttpLoggingInterceptor.Level.BODY : HttpLoggingInterceptor.Level.HEADERS);

        Cache cache = new Cache(app.getCacheDir(), cacheSize);

        return new OkHttpClient.Builder()
                .addNetworkInterceptor(new OkHttpInterceptor(context, preferences))
                .addInterceptor(loggingInterceptor)
                .cache(cache)
                .build();
    }
Run Code Online (Sandbox Code Playgroud)

如何在我的项目中禁用图像记录?

logging android retrofit okhttp

13
推荐指数
1
解决办法
1464
查看次数

在 Android Q 中替换 ContentResolver 查询中的“GROUP BY”(Android 10、API 29 更改)

我正在升级一些旧版本以针对 Android Q,当然此代码停止工作:

       String[] PROJECTION_BUCKET = {MediaStore.Images.ImageColumns.BUCKET_ID,
            MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
            MediaStore.Images.ImageColumns.DATE_TAKEN,
            MediaStore.Images.ImageColumns.DATA,
            "COUNT(" + MediaStore.Images.ImageColumns._ID + ") AS COUNT",
            MediaStore.Files.FileColumns.MEDIA_TYPE,
            MediaStore.MediaColumns._ID};

        String BUCKET_GROUP_BY = " 1) and " + BUCKET_WHERE.toString() + " GROUP BY 1,(2";

        cur = context.getContentResolver().query(images, PROJECTION_BUCKET,
            BUCKET_GROUP_BY, null, BUCKET_ORDER_BY);
Run Code Online (Sandbox Code Playgroud)

android.database.sqlite.SQLiteException:“GROUP”附近:语法错误(代码 1 SQLITE_ERROR[1])

这里它应该获取包含相册名称、日期、图片数量的图像列表 - 每个相册一张图像,因此我们可以创建相册选择器屏幕,而无需查询所有图片并循环遍历它以创建相册。

由于 SQL 查询停止工作,是否可以使用 contentResolver 对查询结果进行分组?

(我知道 ImageColumns.DATA 和“COUNT() AS COUNT”也被弃用,但这是一个关于 GROUP BY 的问题)

(有一种方法可以查询相册并单独查询照片,以获得相册封面的照片uri,但我想避免开销)

mediastore android-contentresolver android-sqlite android-10.0

2
推荐指数
1
解决办法
3901
查看次数