小编Dav*_*son的帖子

使用Guice for JUnit测试将字符串注入类中

我有一种情况需要测试一个函数,但是类已经注入了String值,如下所示:

public class SomeClass{
    @Inject
    @Named("api")
    private String api;

    public Observable<String> get(String uuidData){
        //do something with "api" variable
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我如何从我的JUnit测试用例中注入这个?我也在使用Mockito,但它不允许我模仿原始类型.

java junit dependency-injection guice

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

Dagger 2.11 ContributesAndroidInjector Singleton依赖注入失败

我正在从Dagger 2.11中探索新的dagger.android.我希望不必创建自定义范围注释@PerActivity.到目前为止,我能够做到以下几点:

1)定义应用程序范围单例并将它们注入活动.

2)定义活动范围非单例依赖关系,并使用它们将它们注入到它们的活动中 @ContributesAndroidInjector

我无法弄清楚的是如何使用它的应用程序范围Singleton和Activity范围非单例.

在下面的示例中,我想要我的活动范围MyActivityDependencyAMyActivityDependencyB可以访问SingletonMyActivityService

以下设置导致:

错误:(24,3)错误:com.example.di.BuildersModule_BindMyActivity.MyActivitySubcomponent(unscoped)可能不引用作用域绑定:@Singleton @Provides com.example.MyActivityService com.example.MyActivitySingletonsModule.provideMyActivityService()

这是我的设置.注意,我定义了单独的MyActivitySingletonsModule, MyActivityModule因为我不能在同一个Module文件中混合使用Singleton和非Singleton依赖项.

@Module
public abstract class BuildersModule {
    @ContributesAndroidInjector(modules = {MyActivitySingletonsModule.class, MyActivityModule.class})
    abstract MyActivity bindMyActivity();
    }
}
Run Code Online (Sandbox Code Playgroud)

@Module
public abstract class MyActivityModule {
    @Provides
    MyActivityDependencyA provideMyActivityDependencyA(MyActivityService myActivityService){
       return new MyActivityDependencyA(myActivityService);
    }
    @Provides
    MyActivityDependencyB provideMyActivityDependencyB(MyActivityService myActivityService) {
        return new MyActivityDependencyB(myActivityService);
    }
}
Run Code Online (Sandbox Code Playgroud)

@Module
public abstract class MyActivitySingletonsModule {
    @Singleton
    @Provides
    MyActivityService provideMyActivityService() {
        return new MyActivityService();
    } …
Run Code Online (Sandbox Code Playgroud)

dagger dagger-2

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

如何在Android Studio中附加Kotlin的来源?

我开始在Android Studio中使用Kotlin但是我想以我可以按下的方式检查Kotlin源,Ctr-B或者Cmd-B"跳转到声明"以查看任何标准Java类的源代码.

例如,如果我采用默认的Android Studio Kotlin项目并添加一行调用标准Kotlin listOf():

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    listOf("hello", "goodbye");
}
Run Code Online (Sandbox Code Playgroud)

Ctr-BlistOf()我只得到了以下内容:

public fun <T> listOf(vararg elements: T): kotlin.collections.List<T> { /* compiled code */ }
Run Code Online (Sandbox Code Playgroud)

如果我点击Choose Sources我找不到出现的目录中的源文件.如何设置Android Studio以查看这些标准Kotlin类的来源?

kotlin android-studio

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

如何在VB.NET中使用FolderBrowserDialog控件选择多个文件夹路径

是否可以从VB.NET中的浏览对话框中选择多个文件夹路径?

如果有任何链接或参考,请告诉我.

vb.net user-interface

2
推荐指数
1
解决办法
4697
查看次数

NUnit 相当于 JUnit 的规则

在 C# 中是否有等效于 JUnit 的规则?我的意思是一种避免在几个不同的测试中重复相同[SetUp][TearDown]行的方法。代替:

[SetUp]
public void SetUp()
{
    myServer.connect();
}

[TearDown]
public void TearDown()
{
    myServer.disconnect();
}
Run Code Online (Sandbox Code Playgroud)

...将逻辑放在一个规则中,该规则可以在几个测试中声明为字段:

public MyRule extends ExternalResource {
  @Override
  protected void before() throws Throwable
  {
    myServer.connect();
  };

  @Override
  protected void after()
  {
    myServer.disconnect();
  };
};
Run Code Online (Sandbox Code Playgroud)

进而

class TestClass
{
    @Rule MyRule = new MyRule();
    ...
}
Run Code Online (Sandbox Code Playgroud)

c# nunit

2
推荐指数
1
解决办法
937
查看次数

如何在MPAndroidChart中获取onValueSelected()内部条目的选定标签?

我已经OnChartValueSelectedListener为我的饼图写了以下内容.我可以使用下面的代码获取值.但是,我想获得文本标签.在下面的代码中,e.getY()将获得y值.如何获取文本标签Entry

holder.chartyear.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
        @Override
        public void onValueSelected(Entry e, Highlight h) {
            Log.e("VAL SELECTED", "Value: " + e.getY() + ", index: " + h.getX()
                            + ", DataSet index: ");
        }

        @Override
        public void onNothingSelected() {

        }
    });
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

2
推荐指数
1
解决办法
2487
查看次数

单击 LineChart 中的圆圈外时收到 onValueSelected 回调

我有一个LineChart使用 MPAndroidChart 创建的。我已经OnChartValueSelectedListener为这个图表设置了一个,到目前为止一切正常。onValueSelected如果我点击图表上的任何地方,就会调用该函数。只有在点击图表内的圆圈(值点)时才会调用它。

我为此尝试了很多选择,但没有运气。

谁能向我解释如何解决这个问题?

charts android mpandroidchart

2
推荐指数
1
解决办法
532
查看次数

是否可以使用MPAndroidChart创建多色(堆叠)条形图?

我有以下数据使用MPAndroidChart库以图表格式表示:

Subject Marks       
    Needs Attention Average Outstanding
Hindi    1/5     2/5     2/5
English  2/7     3/7     2/7
Maths    1/3     1/3     1/3
Science  2/7     2/7     3/7
Physics  2/9     4/9     4/9
Sanskrit 3/7     3/5     0 
Run Code Online (Sandbox Code Playgroud)

我想要一个如下图表:

堆积条形图

上面的图表只是样品,我希望每个条形图中有三种颜色(堆叠).我已经制作了一个单独颜色的条形图,但不能制作这样的多色图表.在MPAndroidChart中有可能吗?

android bar-chart mpandroidchart

2
推荐指数
1
解决办法
5300
查看次数

如何在Kotlin的一行中声明startActivityforResult()?

我想startActivityforResult在Kotlin的一行声明中打电话.像这样的东西:

startActivityForResult(Intent(this@MainActivity2,MainActivity::class.java),1))
Run Code Online (Sandbox Code Playgroud)

kotlin

2
推荐指数
1
解决办法
4048
查看次数

Kotlin中零安全的最佳实践

我目前正在学习Kotlin,以在我的android应用程序中替换Java,但正在努力确保安全性。

我已经熟悉处理null和non-null变量的过程,但是,我仍然不确定Kotlin中实现null / non-null变量方面的“最佳实践”。

例如,在Java中,我将编写如下内容:

UserAccount account;

if (account == null) {
    openLogin();
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以在Kotlin中复制此语言,但似乎该语言旨在避免这种做法。我应该如何通过Kotlin实施此系统,我应该添加可为空的变量吗?

kotlin kotlin-null-safety

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