草庐IT

constructor-injection

全部标签

android - ProGuard - org.codehaus.jackson.map.JsonMappingException : No suitable constructor found for type

我有一个基于Android的应用程序,它使用Rest服务连接到GoogleAppEngine,该应用程序运行完美,直到它在发布之前通过ProGuard进行了混淆处理。运行混淆后的应用程序时,LogCat报错为:Unabletoconverta[application/json,UTF-8]representationintoanobjectofclasscom.enterprisemk.android.bcw.bincollection.WasteCollectionAreasContainerorg.codehaus.jackson.map.JsonMappingException:

java - 升级到 Roboguice 3 后注入(inject)的对象变为空

我刚刚将我们的项目升级为使用Roboguice3,突然之间所有注入(inject)的对象都变为空,包括POJO、提供者、View、资源等。我正在努力找出原因。首先是gradle构建文件,尝试打开和关闭Proguard,但没有任何区别。我相信我们目前使用的是Roboguice3.0.1,但我尝试了3.0,但仍然有问题。compile('org.roboguice:roboguice:3.+'){excludemodule:'asm'}provided'org.roboguice:roboblender:3.+而且我们在模块文件中确实有一些自定义绑定(bind),所以这里是我根据wiki指

android - Dagger2 错误 : Cannot provide without @Inject constructor

我是Dagger2的新手,遇到了一个小问题。希望你能帮我:)我的android项目中有以下类应用应用组件应用模块主要Activity主要组件主模块IntentStarter在重建/编译时出现错误Error:(15,10)error:xyz.IntentStartercannotbeprovidedwithoutan@Injectconstructororfroman@Provides-or@Produces-annotatedmethod.xyz..MainActivity.intentStarter[injectedfieldoftype:xyz..IntentStarterinte

android - Root设备的 INJECT_EVENTS 权限

我正在尝试在我的应用程序中实现一种vnc(基于oNaiPs的droid-vnc-server)。由于鼠标事件不适用于我的设备,我正在尝试以下操作:从nativevnc帧缓冲服务器发送数据报,在Service中捕获它们并使用Instrumentation的sendPointerSync。这就是需要许可的地方。我听说如果你使用RootExploter、chmod和reset将.apk推送到/system/app,你可以获得所有需要的权限,但这对我来说不起作用,我仍然得到安全异常。我也尝试过手动编辑/data/system/packages.xml文件。是否有任何其他方式来获得许可(也许以某

android - 房间 : related entities - usable public constructor

为了获得与Room的OneToMany关系,我创建了一个带有@Embedded对象和@Relation的POJO变量。dataclassSubjectView(@Embeddedvarsubject:Subject,@Relation(parentColumn="idWeb",entityColumn="subject_id",entity=Topic::class)vartopics:List?)但是在编译的时候出现了这个错误error:EntitiesandPojosmusthaveausablepublicconstructor.Youcanhaveanemptyconstruc

android - Dagger 2.15 - 如何在 Application 类中注入(inject)依赖项

我无法在DaggerApplication类中注入(inject)依赖相关类如下申请classApp:DaggerApplication(){@InjectlateinitvarmSomeClass:SomeClass//ThisisalwaysNULLoverridefunapplicationInjector():AndroidInjector{returnDaggerAppComponent.builder().application(this).build()}overridefunonCreate(){super.onCreate()mSomeClass.initialize

android - 注入(inject)触摸屏事件,Android 5.0,dev/input/eventX

我正在开发一些需要在程序中向手机注入(inject)触摸屏事件的程序,我正在使用开源库https://code.google.com/p/android-event-injector/通过在dev/input/event3中直接注入(inject)代码,在root的Android设备上手动发送触摸屏事件,但是当我将手机更新到Android5.0时一切都停止工作并且无法事件扫描dev/input/下的任何输入设备文件,有人知道解决这个问题吗? 最佳答案 Lollipop中引入的完整SELinux强制执行导致了这种情况。一种解决方法是以

android - @InjectView 字段何时注入(inject)?

Activity中用@InjectView或@InjectResource注释的字段究竟何时被注入(inject)? 最佳答案 根据ASimpleExample在Roboguice的网站上,成员在Activity的onCreate()方法调用super.onCreate()时填充:classRoboWayextendsRoboActivity{@InjectView(R.id.name)TextViewname;@InjectView(R.id.thumbnail)ImageViewthumbnail;@InjectResource

java - @Inject 注释如何知道在同一接口(interface)下实例化哪个具体类?

我在Android应用程序中使用Dagger2.0。我对@Inject注释感到困惑。我有两个实现相同接口(interface)的具体类。我正在使用@Inject注释注入(inject)具体类之一。在这里,@Inject注释如何决定实例化哪个具体类。示例:我只有一个界面。Product.javapublicinterfaceProduct{}共有两个具体类ProductOne和ProductTwo。ProductOne.classpublicclassProductOneimplementsProduct{@InjectpublicProductOne(){}}封装类是客户端。打包.ja

android - 使用 Snapdragon MSM8960 SoC 在通话中注入(inject)上行链路音频

一段时间以来,我一直在研究这个特定于MSM8960的主题。我查看了ALSAhardwaremodulefromgoogle.迈克尔在post中的回答确实提到MSM8960在“硬件和设备驱动程序”级别支持通话中上行链路音频注入(inject)。是指这个ALSA模块的级别吗?从手机上的ALSA配置文件来看,通话中的语音播放似乎是通过/dev/snd/pcmC0D0p完成的,或者至少符合ALSA范式。是否可以使用其中一个文件描述符来达到目的?我确实在libalsa-intf中看到了一些有趣的USE_CASE定义。 最佳答案 MSM8960