小编gab*_*bin的帖子

clearAllTables不起作用

Android Room的方法无效clearAllTables(),根据文档,它可以进行以下操作:

从所有表中删除所有记录为的行entities()

这不会重置由生成的自动增量值autoGenerate()

删除行后,Room将设置一个WAL检查点并运行VACUUM。这意味着数据被完全擦除。如果该空间超过数据库文件大小的阈值,则系统将回收该空间。

我在项目中对其进行了检查,发现该调用之后db似乎没有数据,但是当我从设备中提取* .db文件并在sqlite查看器中将其打开时,我已经看到所有数据都存在,表已被填充并且什么都没有已被删除。怎么可能?我认为这是我应用程序中的潜在缺陷。请提供洁净室数据库的可靠方法

android android-sqlite android-room android-architecture-components sqlite-journal-mode

5
推荐指数
1
解决办法
924
查看次数

将饱和度和ColorFilter设置为同时成像

以下功能可成功更改图像中的对比度和亮度.

Bitmap bmp;
ImageView alteredImageView;
...
public void drawAlteredImage(float contr,float bright) {
    Bitmap alteredBitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), bmp.getConfig());
    Canvas canvas = new Canvas(alteredBitmap);
    Paint paint = new Paint();
    ColorMatrix cm = new ColorMatrix();

    cm.set(new float[] { 
            contr, 0, 0, 0, bright, 
            0, contr, 0, 0, bright, 
            0, 0, contr, 0, bright, 
            0, 0, 0, 1, 0 });

    paint.setColorFilter(new ColorMatrixColorFilter(cm));
    Matrix matrix = new Matrix();
    canvas.drawBitmap(bmp, matrix, paint);
    alteredImageView.setImageBitmap(alteredBitmap);
}
Run Code Online (Sandbox Code Playgroud)

但是当我向ColorMatrix添加setSaturation方法时,对比度和亮度变化不再起作用.代码:

public void drawAlteredImage(float contr,float bright,float satur) {
    Bitmap alteredBitmap = …
Run Code Online (Sandbox Code Playgroud)

android image-processing

3
推荐指数
1
解决办法
5036
查看次数