小编Ash*_*shu的帖子

255
推荐指数
4
解决办法
17万
查看次数

如何在 Android Studio 中终止数据库检查器

我在 Android Studio 4.1 Canary 10 (Build #AI-201.7223.91.41.6507185) 中使用数据库检查器,由于这是一个新功能,我遇到了很多错误。并且有很多事件日志弹出窗口如下:

数据库检查器:读取 Sqlite 数据库时出错:无法对数据库 (id=8) 执行操作。数据库可能已经关闭。

它在应用程序启动后立即使我的应用程序崩溃。

所以我的问题是如何从我的进程中分离数据库检查器?一旦我附加了一个进程或只是打开了数据库检查器,它就不会让我的应用程序单独存在,直到我重新启动 android studio。有什么方法可以随时终止数据库检查器吗?

android-studio android-studio-4.0

25
推荐指数
2
解决办法
3927
查看次数

如果 kotlin 协程作业需要相当长的时间才能完成,如何有效地显示加载对话框?

我想要做的是使用 kotlin 协程进行数据库操作,同时向用户显示加载屏幕。我的基本实现如下:

fun loadSomeData(){
    mainCoroutineScope.launch { 
        showLoadingDialog()
        // suspening function over Dispatchers.IO, returns list
        val dataList = fetchDataFromDatabase()
        inflateDataIntoViews(dataList)
        hideLoadingDialog()
    }
}
Run Code Online (Sandbox Code Playgroud)

当大型数据集的加载需要相当长的时间时,这对我来说非常有效。但是在fetchDataFromDatabase()快速完成的情况下,快速连续显示和隐藏对话框会产生令人讨厌的故障效果。

所以,我要的是显示该对话框只有在fetchDataFromDatabase()功能需要超过,可以说,100毫秒内完成。

所以我的问题是,使用 kotlin 协程实现这一目标的高效方法什么?

android kotlin kotlin-coroutines

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

Android Hilt DI - 错误:包 {ApplicationClassName}_HiltComponents 不存在

我正在使用新的 Hilt 库进行依赖注入版本 2.28-alpha。我遵循了 Hilt 文档并使用注释对 Application 类进行了@HiltAndroidApp注释。但是当我尝试构建我的项目时,它抛出了一个巨大的错误列表,全部类似于:

error: package {ApplicationClassName}_HiltComponents does not exist

public final class Dagger{ApplicationClassName}_HiltComponents_ApplicationC extends 
{ApplicationClassName}_HiltComponents.ApplicationC {
Run Code Online (Sandbox Code Playgroud)

我已经搜索过它,但由于它是一个新库,因此可用的 QnA 并不多。为什么会抛出该错误,我该如何解决?

android dependency-injection dagger-hilt

4
推荐指数
2
解决办法
751
查看次数

是x =; 如果(d <)无法用于c语言

在这个问题的最后,有c语言的中点圆绘制算法.我在代码中看到了以下两个语句

X =;

如果(d <);

在线程序和我们的书中,所以基本上我认为编译器可能会自动将它们初始化为0(零)所以我在我们的作业中写了相同的代码.但老师说这是错误的,实际上它在Turbo C++编译器中给出了无效表达式.这就是为什么我想知道它是否是错的,为什么它到处写的都是这样的.

这是代码:

#include<graphics.h>
#include<conio.h>
#include<stdio.h>

void main() {
   int gd=DETECT,gm;
   int i,r,x,y,xc,yc;
   float d;

   clrscr();

   initgraph(&gd,&gm,"c:\\tc\\");

   printf("Enter Radius\n");
   scanf("%d",&r);

   printf("Enter Center of circle\n");
   scanf("%d",&xc);
   scanf("%d",&yc);

   d=1.25-r;
   x=;
   y=r;
   do {
        if(d<) {
            x=x+1;
            d=d+2*x+1;
        }  else {
               x=x+1;
               y=y-1;
              d=d+2*x-2*y+10;
       }
       putpixel(xc+x,yc+y,5);
       putpixel(xc-y,yc-x,5);
       putpixel(xc+y,yc-x,5);
       putpixel(xc-y,yc+x,5);
       putpixel(xc+y,yc+x,5);
       putpixel(xc-x,yc-y,5);
       putpixel(xc+x,yc-y,5);
       putpixel(xc-x,yc+y,5);
    } while(x<y);
    getch();
}
Run Code Online (Sandbox Code Playgroud)

它也是上面代码的链接:

c语言中点圆绘制算法代码

请帮帮我.谢谢.

c graphics syntax-error

0
推荐指数
1
解决办法
104
查看次数