小编Dav*_*son的帖子

Dagger 2:组件依赖于多个范围组件

我是Dagger 2的新手.我正在尝试在我的Android项目中实现它.我有Service需要的东西GoogleApiClient.我正在使用Dagger将其注入此服务中.

@FragmentScoped
@Component(dependencies = {NetComponent.class, RepositoryComponent.class})
public interface CustomServiceComponent {
    void inject(CustomService customService);
}

@Singleton
@Component(modules = {AppModule.class, NetModule.class})
public interface NetComponent {
    GoogleApiClient getGoogleApiClient();
}

@Singleton
@Component(modules = {AppModule.class, RepositoryModule.class})
public interface RepositoryComponent {
    DatabaseService getDatabaseService();
}
Run Code Online (Sandbox Code Playgroud)

AppModule,NetModule并且RepositoryModule有方法标记@Singleton @Provides 当我构建我的项目时,我收到此错误:

locationServiceComponent依赖于多个作用域组件:@Singleton NetComponent @Singleton RepositoryComponent

我理解我LocationComponent不能依赖于两个@Singleton范围的组件,但我需要在我的服务中同时使用它们@Singleton.

做同样的事还有更好的选择吗?

android dagger-2

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

将秘密变量从TFS Build传递给Powershell脚本

我在我的构建定义中添加了名为Password的秘密变量,如下图所示:

TFS构建变量

我想在我的一个构建步骤中将密码传递给PowerShell脚本,如下图所示:

构建步骤

我的PowerShell脚本如下所示

 Param
(
    [Parameter(Mandatory=$true)]
    [string]$UserName,
    [Parameter(Mandatory=$true)]
    [string]$Password
)

$appPool = New-WebAppPool -Name "test"
$appPool.processModel.userName = $userName
$appPool.processModel.password = $password
$appPool.processModel.identityType = "SpecificUser"
$appPool | Set-Item
Run Code Online (Sandbox Code Playgroud)

但看起来密码的类型不是字符串.我尝试PSCredential但没有奏效.有人能帮助我吗?如何将密码从构建步骤传递给PowerShell脚本以及安全变量的类型?我无法直接读取环境变量,因为我在目标计算机上运行PowerShell脚本.因此,唯一的选择是将密码作为输入传递给脚本.

powershell tfsbuild continuous-deployment

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

我们现在可以用Mockito 2模拟静态方法吗?

我读到Mockito 2不再使用CGLIB /代理,而是使用ByteBuddy进行模拟创建.这是否意味着从现在开始可以模拟静态方法和私有方法?

junit mocking mockito

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

AnnotationRetention.BINARY 的用例是什么?

根据Kotlin 语言规范,注释保留分为三种类型:

  • 源保留(可通过源处理工具访问);
  • 二进制保留(保留在编译工件中);
  • 运行时保留(在运行时可访问)。

查看 JVM 上 kotlin-stdlib 的 KDoc,我们得到以下内容:

public enum class AnnotationRetention {
    /** Annotation isn't stored in binary output */
    SOURCE,
    /** Annotation is stored in binary output, but invisible for reflection */
    BINARY,
    /** Annotation is stored in binary output and visible for reflection (default retention) */
    RUNTIME
}
Run Code Online (Sandbox Code Playgroud)

我可以理解SOURCE(可用于注释处理器检查)和RUNTIME(可用于使用反射检查)的用例,但我无法理解BINARY.

有人可以解释一下这种类型保留的用例吗?如果不需要的话我为什么要选择BINARY呢?SOURCERUNTIME

kotlin

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

在asp.net中确定网站的绝对完全限定网址

无论站点是否在虚拟目录中,无论我的代码在目录结构中的哪个位置,我如何始终获得站点的绝对,完全限定的根或基本URL?我已经尝试了我能想到的每一个变量和功能,并没有找到一个好方法.

我希望能够获取当前站点的URL,即http://www.example.com,或者如果它是虚拟目录,请访问http://www.example.com/DNN/


这是我尝试过的一些事情和结果.唯一一个包含我想要的整块(http:// localhost:4471/DNN441)的是Request.URI.AbsoluteURI:

  • Request.PhysicalPath:C:\ WebSites\DNN441\Default.aspx
  • Request.ApplicationPath:/ DNN441
  • Request.PhysicalApplicationPath:C:\ WebSites\DNN441 \
  • MapPath:C:\ WebSites\DNN441\DesktopModules\Articles\Templates\Default.aspx
  • RawURL:/DNN441/ModuleTesting/Articles/tabid/56/ctl/Det​​ails/mid/374/ItemID/1/Default.aspx
  • Request.Url.AbsoluteUri:http:// localhost:4471/DNN441/Default.aspx
  • Request.Url.AbsolutePath:/DNN441/Default.aspx
  • Request.Url.LocalPath:/DNN441/Default.aspx Request.Url.Host:localhost
  • Request.Url.PathAndQuery:/DNN441/Default.aspx?TabId=56&ctl=Details&mid=374&ItemID=1

asp.net url uri

7
推荐指数
3
解决办法
7594
查看次数

MPAndroidChart填充颜色渐变

是否可以使用MPAndroidChart(或任何其他Android图表库)以渐变颜色填充绘制线下的图表?像这样的东西:

set1.setFillColor(getResources().getColor(R.drawable.chart_fill));
Run Code Online (Sandbox Code Playgroud)

然后在chart_fill.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:angle="90"
        android:endColor="#FF207a54"
        android:startColor="#FFffffff" />

</shape>
Run Code Online (Sandbox Code Playgroud)

charts android mpandroidchart

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

MPAndroidChart:如何自定义条形值标签

我在我的Android应用程序中使用MPAndroidChart.我用的BarChart组成BarEntry.我还启用了y值显示在条形图的顶部.

我的问题是我希望条形图上方的值是整数5.但目前值显示为5.00.

条形图中单个条形的顶部,其上方的值标签显示

那我怎么做5.00显示5

android mpandroidchart

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

Dagger 2中的组件中的getter方法的目的是什么?

我试图理解Dagger 2中的组件.这是一个例子:

@Component(modules = { MyModule.class })
public interface MyComponent {

    void inject(InjectionSite injectionSite);

    Foo foo();

    Bar bar();   

}
Run Code Online (Sandbox Code Playgroud)

我理解这些void inject()方法的作用.但我不明白其他Foo foo()getter方法的作用.这些其他方法的目的是什么?

dependency-injection dagger-2

7
推荐指数
2
解决办法
1588
查看次数

如何在 MPAndroidChart 中添加 x 轴作为日期时间标签?

我在我的项目中为温度报告实现了折线图(MPAndroidChart 库)。在 X 轴上应该绘制日期时间,并且应该绘制 Y 轴温度。

我只是在 X 轴标签中将日期时间添加为字符串,但它已折叠。所以请任何人指导我。

android mpandroidchart

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

隐藏的依赖是什么?

有人可以给我一个隐藏依赖的例子.我用谷歌搜索了它,发现了这样的结果:

"可见依赖项是开发人员可以从类的接口看到的依赖项.如果从类的接口中看不到依赖项,则它是隐藏的依赖项."

(来源 - http://tutorials.jenkov.com/ood/understanding-dependencies.html#visiblehidden)

但我还是不太明白.

是否在函数内部发生依赖,而不是在类的开头发生声明的变量?或者,当您只是创建除接口中声明的签名方法之外的函数时?

c# dependencies dependency-injection

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