草庐IT

constructor-injection

全部标签

android - 为什么注入(inject)后我的字段是 `null`?我如何注入(inject)我的对象?

ThisisaCanonicalQuestionbecausetherearealotofmisconceptionsaboutobjectinitializationwithDagger2.Ifyourquestionwasflaggedasaduplicatepleasereadthispostcarefullyandmakesuretounderstandthedifferencebetweenconstructorinjectionandfieldinjection.我尝试注入(inject)一个Context进入我的演示者,但在尝试使用它时出现NullPointerExcep

android - 无法将空值注入(inject)类

我有一个要重复使用的fragment。它的功能是一样的,只是布局发生了变化我正在使用roboguice通过id将View注入(inject)变量例如,我添加了这个View:@Nullable@InjectView(R.id.edtEventLocationAddress)privateEditTextedtEventLocationAddress;现在这个View可能会或可能不会出现在我在onCreateView方法中提供的给定布局中这就是为什么我把@Nullable放在上面的原因但是,当我运行应用程序时,布局没有这个View,我得到java.lang.NullPointerExcep

java - 错误 : Entities and Pojos must have a usable public constructor - Java

每当我尝试编译应用程序时,我都会收到此错误error:EntitiesandPojosmusthaveausablepublicconstructor.Youcanhaveanemptyconstructororaconstructorwhoseparametersmatchthefields(bynameandtype).-java.util.List系统消息实体.java:@Entity(tableName="system_messages")@TypeConverters(ReplyMessages.class)publicclassSystemMessageEntity{@Pr

android - 如何使用 Roboguice 注入(inject)对话框 View ?

roboguice似乎只能从Activity的onCreate(...)中定义的contentView注入(inject)View。在onCreate()之外,例如,如果我有我的自定义对话框,它也有一个内容View(例如dialog.setContentView(R.layout.dialog_layout);),如何在我的Activity中注入(inject)来自此dialog_layout的View?(当我直接在Activity中注入(inject)对话框View时,我得到了null) 最佳答案 目前roboguice不支持为诸

java - Dagger:在提供的 pojo 上注入(inject)字段

目前正在用dagger进行测试,我想做的是实例化并注入(inject)不同的Bar实现。如何在提供的字段中注入(inject)字段?例如:模块:@Module(injects={Main.class},complete=false,library=true)publicclassExampleTestModule{@ProvidespublicFooprovidesFoo(){returnnewFoo();}@ProvidespublicBarprovidesBar(BarImplimpl){//returnnewBarImpl();//nullreturnimpl;}}主要内容:pu

java - JsonMappingException : No suitable constructor found

我正在实现他们文档中给出的firebase示例。我面临这个错误:com.fasterxml.jackson.databind.JsonMappingException:Nosuitableconstructorfoundfortype[simpletype,classcom.XYZ.$BlogPost]:cannotinstantiatefromJSONobject(needtoadd/enabletypeinformation?)这是我的代码:publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(B

c# - 反序列化类时出现 "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types"错误

我正在XamarinAndroid中开发一个应用程序。我有一个闪屏,我在其中序列化一个类并使用Intent将其传递给MainActivity。当我尝试在MainActivity中反序列化它时,我收到一条错误消息:"SerializationExceptionunabletofindconstructortousefortypes"序列化:voidLoadData(){Currencycurrency=newCurrency(this);intent=newIntent(this,typeof(MainActivity));intent.PutExtra("currency",Newto

android - 是否可以@Inject 成员(通过@Provides 提供),包含来自基本 Activity 的 Activity 上下文

好的。让我试着分解一下这种情况,因为我认为标题可能有点不清楚。在继续之前,我会尽可能多地说,我已经尝试将此应用程序的基本结构基于officialdaggerexamples.基本上我想做的是能够注入(inject)一个LocationClient进入我的SplashActivity,以便在App打开后立即建立连接(通过LocationClient.connect())。现在,很明显,LocationClient不能通过任何类型的默认构造函数注入(inject)(它需要一些非常具体的东西(上下文和一些回调)。所以,我创建了一个@Provides在我的ActivityModule中:@Pr

android - 没有注入(inject)注册。您必须将其显式添加到您的模块之一的 'injects' 选项中

嗨,我是dagger的新手,正在尝试使用简单的android应用程序来研究它。即使有注入(inject)此View的模块,我也会从标题中得到错误。谁能帮我弄清楚为什么它不注入(inject)View?这是我的应用程序主要模块:@dagger.Module(injects={App.class,MainActivity.class},complete=false)publicclassAppModule{privatefinalAppapp;publicAppModule(Appapp){this.app=app;}@Provides@SingletonpublicAppprovideA

java - 如何防止 XML 注入(inject),如 XML 炸弹和 XXE 攻击

我正在开发一个安卓应用android:minSdkVersion="14"在这个需要解析xml的应用程序中。为此,我正在使用这样的DOM解析器DocumentBuilderFactorydbFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdBuilder=null;Documentdoc=null;try{dBuilder=dbFactory.newDocumentBuilder();}catch(ParserConfigurationExceptione){e.printStackTrace();}但是当检查代码