小编Sev*_*yuk的帖子

flutter_block:BlockProvider 与 RepositoryProvider

BlocProvider我想对和进行一些澄清RepositoryProvider。从官方 API 参考来看,它们提供相同的功能 - 它们向其后代小部件提供对象的实例。

然而,从名称来看,我想BlocProvider应该仅用于Bloc对象,以及RepositoryProvider其他一切。它是否正确?

flutter flutter-bloc

11
推荐指数
1
解决办法
1万
查看次数

在运行时将ObjectAnimator添加到AnimatedVectorDrawable

我可以使用xml文件更改AnimatedVectorDrawable的fillColor.

<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/my_svg">
    <target
        android:animation="@animator/myanimator"
        android:name="color" />
</animated-vector>


<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:propertyName="fillColor"
    android:valueType="intType"
    android:interpolator="@android:interpolator/decelerate_cubic"
    android:valueFrom="@color/blue"
    android:valueTo="@color/green" />

</set>
Run Code Online (Sandbox Code Playgroud)
 mImageView = (ImageView)findViewById(R.id.ImageView);
 Drawable drawable = mImageView.getDrawable();

if (drawable instanceof Animatable) {
    ((Animatable) drawable).start();
}
Run Code Online (Sandbox Code Playgroud)

但有没有办法在运行时改变颜色?

android android-drawable android-5.0-lollipop animatedvectordrawable

8
推荐指数
0
解决办法
679
查看次数

在Android Studio项目中放置`sentry.properties`文件的位置?

文档对我没有多大帮助.我试过的地点:

  • 根文件夹(where gradle.properties和project的build.gradle文件所在的位置)
  • /app文件夹(应用程序的build.gradle文件已定位)
  • /app/src/main/kotlin

我在类的扩展中初始化Sentry,android.app.Application类似于:

    class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        Sentry.init(AndroidSentryClientFactory(applicationContext))
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的一个方法中进行测试捕获:

Sentry.capture("This is a test capture using Sentry")
Run Code Online (Sandbox Code Playgroud)

我还尝试明确指定sentry.properties文件的路径gradle.properties,没有运气.

当我使用Sentry.init()接受DSN的方法时,它可以工作,但这不是必需的,因为我不想将DSN检入VCS.

我知道其他配置方法,我只是想使用sentry.properties.

android sentry

8
推荐指数
1
解决办法
2161
查看次数

MockK 中的 `verifySequence` 和 `verifyOrder` 有什么区别?

在 MockK 库的指南中,这个例子没有为我清除这个。以下是文档中的示例:

class MockedClass {
    fun sum(a: Int, b: Int) = a + b
}

val obj = mockk<MockedClass>()
val slot = slot<Int>()

every {
    obj.sum(any(), capture(slot))
} answers {
    1 + firstArg<Int>() + slot.captured
}

obj.sum(1, 2) // returns 4
obj.sum(1, 3) // returns 5
obj.sum(2, 2) // returns 5

verifyAll {
    obj.sum(1, 3)
    obj.sum(1, 2)
    obj.sum(2, 2)
}

verifySequence {
    obj.sum(1, 2)
    obj.sum(1, 3)
    obj.sum(2, 2)
}

verifyOrder {
    obj.sum(1, 2)
    obj.sum(2, 2)
}

val obj2 = …
Run Code Online (Sandbox Code Playgroud)

unit-testing kotlin mockk

7
推荐指数
1
解决办法
1136
查看次数

带有“az login”的“az devops login”仍然请求个人访问令牌

我已开始使用 Azure Pipelines 和 GitHub 支持的帐户并创建了我的第一个组织。我在该组织中没有任何项目。我也没有任何订阅portal.azure.com。我想使用 Azure CLI 列出我的组织中的可用项目 - 基本上 - 以获得一个空列表,因为还没有项目。

当我打字时

az login --allow-no-subscriptions
Run Code Online (Sandbox Code Playgroud)

我使用浏览器登录成功。但我随后发出的所有其他 Azure CLI 命令都将失败,并要求登录。名字里有什么?

成功后az login,当我输入

az devops login --organization https://dev.azure.com/my-org-name-i-will-not-tell-you/
Run Code Online (Sandbox Code Playgroud)

它提示我token,这很令人困惑,因为从官方文档来看:

如果您已使用 az login 交互登录或使用用户名和密码登录,则无需提供令牌,因为 az devops 命令现在支持通过 az login 登录。

我很困惑,为什么我无法登录。我需要创建订阅才能portal.azure.com登录吗?我不想这样做,也不明白为什么这对我的任务是必要的。

azure azure-cli azure-devops

6
推荐指数
1
解决办法
1万
查看次数

是否可以在不注册EMM社区的情况下构建DPC?

由于申请EMM集成的过程花费了不合理的大量时间,并且整个过程被那些通过它的幸运者描述为"令人难以置信的痛苦",我想知道是否绝对需要成为EMM以便按顺序有一个有效的设备策略控制器应用程序(DPC).

如果您遇到此问题,请分享经验.

我正在为COSU设备开发并希望进入自助服务终端模式.我知道存在如何做到这一点的方法,但它们都实现了一堆变通方法 - 这不是一个选项 - 我想要一个可控,安全和健壮的方法来做到这一点.我也不在乎没有远程管理的能力.

android android-for-work cosu android-enterprise

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

在运行 Android 7.0+ 的三星设备上收不到 Firebase 推送通知

我已经按照官方文档实现了FCM 。当应用程序处于后台或前台状态时,或者即使它从最近的应用程序屏幕中滑出时,我确实会收到消息。

问题是,在三星 S8 上,当应用程序处于后台时,根本不会收到消息。(其他设备没有这个问题)。

更令人困惑的是,此问题仅发生在应用程序的RELEASE构建版本中。使用调试构建版本一切都按预期工作。

如果您遇到过类似的事情,请分享您的经验。

更新

问题可能是 RELEASE 证书的 SHA-1 指纹未存储在 Firebase 的项目中。在开发过程中很容易忘记将其放在那里。

android firebase firebase-cloud-messaging

5
推荐指数
0
解决办法
1346
查看次数

如何在 Android 模拟器上运行设备设置向导?

我想运行设备设置向导 - 当您首次启动新的(恢复出厂设置)设备时运行的应用程序。问题是:我想在 Android 模拟器上运行它。

我在运行 Android 12 的模拟器上尝试了以下操作:

  1. 通过 Android Studio 向导启动模拟器。
  2. adb shell
  3. su
  4. 找出向导的哪些组件被禁用:

dumpsys package com.google.android.setupwizard | grep disabled -A3

这给了我:

      disabledComponents:
        com.google.android.setupwizard.SetupWizardActivity
        com.google.android.setupwizard.deferred.ComponentStateMitigationReceiver
Run Code Online (Sandbox Code Playgroud)
  1. 然后我使用以下命令启用了组件:

pm enable com.google.android.setupwizard/.SetupWizardActivity

pm enable com.google.android.setupwizard/.deferred.ComponentStateMitigationReceiver

  1. 然后我在设置中查看了可能影响使用以下命令运行的设置向导的各种值:

content query --uri content://settings/secure

content query --uri content://settings/global

content query --uri content://settings/system

  1. 然后我设置了一些值:

settings put secure user_setup_complete 0

settings put secure user_setup_personalization_state 0

settings put global device_provisioned 0

  1. reboot

设备重新启动到主屏幕,并且没有运行安装向导。

是不是上面的步骤有什么问题?如何在模拟器上运行设置向导?有可能吗?

android adb android-virtual-device android-emulator avd-manager

5
推荐指数
0
解决办法
861
查看次数