草庐IT

Autowired注入

全部标签

android - 如何使用 dagger2 将 Activity 注入(inject) Adapter

AndroidStudio3.0金丝雀8我正在尝试将我的MainActivity注入(inject)我的适配器。然而,我的解决方案工作正常,但我认为它有代码味道,而不是正确的方法。我的适配器fragment看起来像这样,但我不喜欢的是我必须将Activity转换为MainActivity:publicclassRecipeAdapterextendsRecyclerView.Adapter{privateListrecipeList=Collections.emptyList();privateMapviewHolderFactories;privateMainActivitymain

(Google表)查询并从URL注入多个表格

我将来自Google电子表格的JSON数据用于2个移动应用程序(iOS和Android)。可以使用HTML或XML输出相同的信息,在这种情况下,我正在使用HTML,因此所有人都可以理解所显示的信息(从电子表格中)。唯一合乎逻辑的方法是没有身份验证(O’Auth)是通过公共URL注入。有关我所说的信息可以在这里找到。为了了解我的要求,您必须实际单击链接并亲自查看。我不知道该怎么称呼我要问的一些事情,因为Google的文档很差,我自己的错。在我的应用中,我有一个搜索功能,该功能沿此目的查询电子表格(使用URL请求),https://docs.google.com/spreadsheets/d/1y

android - Dagger 2 从两个组件注入(inject)

我遇到了一个我无法解决的问题。我在我的Android应用程序中使用Dagger2作为DI框架。我试图用两个不同的组件注入(inject)我的Activity,但是apparentlyitcan'tbedone.显而易见的解决方案似乎是创建一个具有所有所需行为的独特组件,但我的模块中有不同的范围。那么什么是正确的方法呢?我是否应该拥有相同的示波器,即使这不是计划? 最佳答案 不可能将两个组件注入(inject)到一个类或Activity中,您应该更改组件结构并将其划分为子组件或为每个类创建一个单独的组件(不推荐),此链接也讨论了您的问

android - 使用 Dagger 2 在单元测试中进行字段注入(inject)

根据Daggerdocumentation中的建议,对于单元测试,我们根本不需要涉及Dagger,对于提供的示例,它是有意义的:classThingDoer{privatefinalThingGettergetter;privatefinalThingPutterputter;@InjectThingDoer(ThingGettergetter,ThingPutterputter){this.getter=getter;this.putter=putter;}StringdoTheThing(inthowManyTimes){/*…*/}}有了这个类结构,单元测试很简单,只需模拟get

android - 在没有第三方框架的情况下测试 Android Activity 时如何注入(inject)依赖项?

我想测试一个AndroidActivityCommentActivity,它通常构造和使用CommentsDataSource的实例(都是我编写的类)。publicclassCommentActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){:CommentsDataSource=newCommentsDataSource(..);:}:}我愿意自己创建MockCommentsDataSource并希望避免使用第三方模拟框架。(为什么?因为我是一名教师,试图减少我需要塞进学期的信

android - ButterKnife 和 Dagger 之类的依赖注入(inject)框架会让应用变慢吗?

我即将开始一个比较大的项目,并且很纳闷使用这些依赖注入(inject)框架的真正好处是什么?DI会增加应用加载时间吗?或者提供任何性能值(value)?Google的文档反对使用Robojuice,因为它会占用RAM,这是所有DI的共同点吗?有兴趣听听大家的意见。 最佳答案 我在NYTimes工作,使用Dagger2在2个范围内实例化数百个托管对象只需不到100毫秒。Dagger帮助我们组织对象并从Activity或业务对象中删除大量样板。我会为任何规模的应用推荐它。 关于android

android - dalvik 上的字节码注入(inject)

我在android平台上问过这个问题,但没有收到回复。我已经提到了这个线程,但找不到他指的是什么帖子(DynamicallyGeneratingDalvikBytecodeintoarunningDalvik/Androidapplication)此外,还提出了这个问题(http://code.google.com/p/android/issues/detail?id=6322)所以,我的问题是,这方面有什么进展吗?是否可以将新的字节码注入(inject)到正在加载的类中?如果是这样,是否有相同的指示?干杯。厄伦斯 最佳答案 And

android - 注入(inject) Otto 事件总线而不是使用静态单例的优势

在我的Android应用程序中,我使用Otto作为事件总线和Dagger用于依赖注入(inject)。在Otto的用户指南和许多博客文章中,建议使用注入(inject)来获取总线单例。我这样做已经有一段时间了,但最近我越来越怀疑注入(inject)总线是否比使用简单的静态单例有任何优势。通过注入(inject),我必须注入(inject)我希望能够在总线上发布UI事件的每个自​​定义View或ViewHolder。特别是对于Dagger,在我需要总线的地方注入(inject)每个类似乎有点笨拙。当然,我可以通过构造函数或setter方法传递总线,但是如果您考虑一个具有许多不同View类

java - 如何避免为每个 View 添加注入(inject)方法?

目前要在Activity中获取例如Picasso的实例,我需要向AppComponent添加注入(inject)方法。如何避免添加注入(inject)方法,因为我有很多应该注入(inject)的fragment和View:AppComponent.class:@ForApplication@Singleton@Component(modules={AppModule.class,OkHttpClientModule.class,NetworkApiModule.class,NetworkAuthModule.class})publicinterfaceAppComponent{void

Android 注入(inject)触摸事件

我知道这是一个有点重复的问题。我在SO和其他几个网站上查看了各种问题,但找不到满足我需要的单一答案。要求1)我有X,Y坐标,我想创建MotionEvent并将其分派(dispatch)到最顶层的Activity/View。2)我必须将它注入(inject)到我自己的应用程序中。因此,不需要Inject_Events权限。3)虽然我有坐标,但我不知道那个位置的Activity或View。所以Activity.dispatchTouchEvent对我不起作用。。(view.dispatchTouchEvent可以工作,但我不知道View)。4)Instrumentation也无济于事,因为