小编Nic*_*kPR的帖子

使用Room数据库的Android服务上下文

我正在使用同时使用Firebase MessagingRoom数据库的应用程序.

这是db的初始化方式

public static AppDatabase getInstance(final Context appContext) {
    if (INSTANCE == null) {
        INSTANCE = Room.databaseBuilder(appContext, AppDatabase.class, "dbname.db")
                // prepopulate the database after onCreate was called
                .addCallback(rdc)
                .build();
    }
    return INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)

MainActivity第一次调用的某个地方,AppDatabase并且数据库被实例化,所有工作正常,花花公子!

现在问题开始时用户kill应用程序...

为了简单起见,想想这个应用程序就像Whatsapp ...应用程序被杀了但是service (MyFirebaseMessagingService)正在侦听消息仍在运行(应该如此).

当一条新消息到达并MyFirebaseMessagingService尝试将其保存到数据库时,将调用AppDatabase.getInstance()崩溃,因为context创建数据库的初始引用已不再存在,因为应用程序已被终止.

在搜索如何解决这个问题时,我了解到每个服务this实际上都来源于此,context所以我立即尝试使用MyFirebaseMessagingService上下文来初始化数据库,但是,MyFirebaseMessagingService::onCreate在真正有权访问服务上下文的情况下,在第一条消息到达之前不会被触发

我能想到的唯一解决方案是创建一个全新的服务,bindService()它是MainActivity,并使用新的服务上下文来创建AppDatabase实例......但它似乎完全矫枉过正.

所以我的问题是,MyFirebaseMessagingService即使App被杀,如何以仍然可以使用它的方式初始化Room数据库?

android firebase firebase-cloud-messaging android-room

9
推荐指数
1
解决办法
1573
查看次数

Firebase 电子邮件验证无需创建和帐户

我正在创建一个可以发送通知的 Android 应用程序。用户可以选择使用电话号码或电子邮件帐户。

我只需要验证用户输入的电子邮件,我不想创建Firebase 帐户

Firebase 有一个FirebaseUser#sendEmailVerification()但需要创建一个帐户。

换句话说,我只希望电子邮件验证与电话验证相同,其中 Firebase 只会向您发送代码或验证链接。

有没有办法在不创建帐户的情况下利用 Firebase 电子邮件验证?

android firebase firebase-authentication

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

SQL Server 2019开发版性能缓慢

我们在生产环境中使用 SQL Server 2008 R2,并且正在考虑升级到 SQL Server 2019。

因此,我只是在我的计算机上安装了 SQL Server 2019 Developer Edition 来测试它,从生产服务器获取新的备份并在我的计算机上进行还原。

我的计算机上还安装了 SQL Server 2008 R2,因此我期待进行一些并行性能比较。

SQL Server 2008 R2 和 SQL Server 2019 都安装在同一 nvme 驱动器 (C:) 上,并且两个实例也位于同一驱动器上,但是 SQL Server 2019 tempdb 位于另一个驱动器 (D:) 上

在 SQL Server 2008 R2 上运行特定的存储过程花费了1 分 43 秒,在 SQL Server 2019 上运行了3 分 41秒……我运行该存储过程大约十几次,结果大致相同(加/减几秒)

在存储过程执行过程中,SQL Server 2008 R2和SQL Server 2019的磁盘IO读写都勉强达到6MB/s,CPU利用率都在10%左右

我重新启动计算机并首先在 2019 实例上再次运行存储过程,得到相同的结果(我担心 SQL Server 2008 R2 不知何故抢占了所有可用内存,但事实并非如此)

所以我尝试了所有这些,在中间再次运行存储过程以检查是否有任何改进:

  • 重新启动
    • 删除了 SQL Server 2008 R2 和 …

sql-server

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

WP 数据库错误查询 SELECT wp_ 的“字段列表”中未知列“wp_”

请不要关闭这个问题,它不是重复的,并且解释如何在 MySQL 上使用引号的建议链接对我没有任何作用,因为这个问题是在 WP 脚本内。谢谢

\n\n

I\xe2\x80\x99m 尝试在干净的Windows 2019 Server 虚拟机上安装 WP 5.4.1。

\n\n

我没有使用\xe2\x80\x99t Microsoft Web Platform Installer,因为它下载了旧版本的WP / MySQL和PHP,所以我\xe2\x80\x99m尝试从头开始安装。

\n\n

以下是我\xe2\x80\x99采取的步骤:

\n\n
    \n
  • 下载并安装了最新的PHP 7.4.5非线程安全版本\n并安装了它
  • \n
  • 重命名php.ini-productionphp.ini
  • \n
  • 将 php.ini 编辑为:

    \n\n
      \n
    • 上传最大文件大小 = 64M
    • \n
    • post_max_size = 64M
    • \n
    • 最大执行时间 = 300
    • \n
    • extesion=mysqli (删除了这里的分号,因为 PHP 需要这个驱动程序来连接到 MySQL8)
    • \n
  • \n
  • 在 IIS 中,我创建了 *.php 映射并添加了 default.php 和 index.php

  • \n
  • 创建虚拟phpinfo.php文件并在 IIS 上进行测试,一切正常并且 phpinfo() 显示数据

  • \n …

php mysql wordpress

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