小编Fáb*_*llo的帖子

"更喜欢在Kotlin上运行匕首处理器"

每当我注入kotlin类时,我都会在构建中得到这个注释(顺便说一下,我有一个混合的android项目同时使用kotlin和java).

例如,在这个gradle任务之后:compileStagingDebugJavaWithJavac(StagingDebug是我的构建变体),我收到以下消息:

"注意:为com.packageNameXXX.CourseDiscoveryMapFragment生成一个MembersInjector或Factory.更喜欢在该类上运行dagger处理器."

我的CourseDiscoveryMapFragment代码可以在这里看到:

class CourseDiscoveryMapFragment : Fragment(){

    @Inject
    lateinit var presenter: CourseDiscoveryMapPresenter

    lateinit var mapView: MapView

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        val view = inflater.inflate(R.layout.fragment_discovery_map, container, false)

        MapsInitializer.initialize(activity)

        mapView = view.mapView
        mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE))

        (activity as BaseActivity)
                .activityComponent.inject(this)
}
Run Code Online (Sandbox Code Playgroud)

我的ActivityComponent是:

@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {

    void inject(BaseActivity baseActivity);

    void inject(CourseDiscoveryMapFragment fragment);

    //Exposed to sub-graphs.
    Activity activity();
}
Run Code Online (Sandbox Code Playgroud)

所以,我有用Java编写的匕首组件和模块,同时在Kotlin中进行匕首注射.

这是我应该担心的吗?

谢谢.

android kotlin dagger

123
推荐指数
1
解决办法
3926
查看次数

如何使用Kotlin和Proguard

我正在尝试将Kotlin添加到我的项目中,我需要使用proguard.我应该向proguard添加哪些规则来支持Kotlin?

谢谢

android proguard kotlin

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

如何使用选择器使用新的TabLayout更改图标

我正在使用Android的新支持TabLayout.问题是我想在选择标签时使用选择器来更改图标.

我一直在研究源代码,在我看来它永远不会改变视图的状态(因此我不能使用选择器).

有谁知道一些解决方法?

谢谢!

android material-design android-support-design

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

MVP Android - 在哪里保存视图状态?

我对使用Android上的MVP保存状态有些怀疑.我将片段/活动定义为视图,然后实现相应的演示者.

我的例子很简单:

我有一些带有复选框和微调器的活动.如果活动被Android系统销毁然后重新创建,我应该在哪里保存这些微调器和复选框状态?在视图?在主持人?

如果在视图上,我应该在视图上还是在演示者上有恢复逻辑?

谢谢!

mvp android

15
推荐指数
1
解决办法
5081
查看次数

来自顶部的SnackBar.这可能吗?

我想SnackBar从顶部提供动画,而不是显示SnackBar从底部开始的常规行为.这很容易被破解吗?

android android-support-library android-snackbar android-support-design

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

在SnackBar上包装内容高度

有没有办法让SnackBar包装其文本内容?

您可以在下面查找我的问题:

这里

正如您所看到的那样,文本以"与我们联系......"结束,它应该显示整个消息.

谢谢!

android snackbar android-support-design

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

如何使用Findbugs避免使用kotlin文件

我正在将findbugs集成到一个混合的java/kotlin项目中.但是,当findbugs作用于生成的jar时,它会发现与通过kotlin文件生成的类相关的错误.

有没有办法避免检查这些类?

谢谢

findbugs kotlin

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

为什么Robolectric的第一次测试需要这么长时间?

我正在使用Robolectric测试我的Android应用程序,但我遇到了一个奇怪的情况.会发生的事情是,当我运行一些测试时,使用Robolectric进行的第一次测试比其他测试花费的时间要多得多.它不是来自测试本身,因为我尝试了测试顺序的不同配置,结果是第一次测试总是最慢的.

是Robolectric的设置时间还是类似的东西?提供的任何信息都很有用.

例如: 慢速首次测试的示例

testing android robolectric

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

如何模拟Android系统杀死的服务

在开发过程中,我想测试系统杀死服务的情况.这是因为我在Android Wear和掌上电脑之间进行通信时失去连接.我认为它与系统杀死一些服务有关.

有没有人建议如何处理这个问题?

android android-service wear-os

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

适配器作为演示者?或者与演示者交谈?Android和MVP

我正在尝试遵循MVP模式.但是,我对如何在这种模式下处理适配器和视图持有者有一些疑问.

我应该使用适配器作为演示者吗?有业务逻辑吗?

或者我应该传递处理列表逻辑的演示者实例,然后在与适配器元素进行任何交互时调用演示者的方法?

谢谢

mvp android

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

如何对Realm迁移进行单元测试?

我试图在Realm上对移植进行单元测试.我的主要问题是:如何维护RealmObject的不同模式版本,以便能够创建旧对象的实例,进行迁移,然后根据新的模式版本检查它是否正确?

我开始尝试保留不同的模式版本,但它不会编译,因为对象具有相同的名称,尽管在不同的包上.

android realm

4
推荐指数
1
解决办法
1408
查看次数

取消RxJava中的Observable

我有一个正在执行下载的可观察对象.但是,当我点击按钮时,我想要取消该观察.

怎么可能?

谢谢.

rx-java

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

如何通过电子邮件或电话号码获取联系人

如何获取在Android中拥有电话号码或电子邮件的联系人列表.

我对合同有点困惑,如何加入信息.

谢谢

android

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