草庐IT

singleton-methods

全部标签

android - 在 IntelliJ IDEA 中使用 "Implement methods"时参数名称错误

我正在使用IntelliJIDEA进行Android开发。但是有一件事让我非常恼火。当我使用“实现方法”功能时,它会生成如下内容:newOnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterViewadapterView,Viewview,inti,longl){}@OverridepublicvoidonNothingSelected(AdapterViewadapterView){}}参数名称不一致,我希望看到这样的结果:newOnItemSelectedListener(){@Overridepubli

android - 在@Singleton 上释放 ORMLite 助手

我有一个@Singleton类,我在其中注入(inject)了一个OrmLiteSqliteOpenHelper实例。我真的需要调用OpenHelperManager.releaseHelper()吗?如果我这样做,应该在哪里以及如何完成,因为该类没有扩展任何我可以到达onDestroy的Android基类? 最佳答案 有一个ORMLite演示此调用的示例Android项目HelloAndroidNoBase.我会检查一下。主要Activity的相关代码部分包含在下面。您需要在每个Activity或其他使用数据库的类中包含此类代码。

android - 如何使用 robolectric 覆盖注入(inject)的 @Singleton 类?

我有一个fragment,我正在尝试使用使用@Singletonapi类的Robolectric(和Mockito)进行测试。我正在尝试以一种可以为每个测试自定义响应的方式来模拟单例。这是我的fragment引用的API类:@SingletonpublicclassMyApi{@InjectpublicMyApi(Contextcontext){//Dosomething}publicMyObjectgetMyFeed(){}}这是我要设置的测试类:@RunWith(RobolectricTestRunner.class)publicclassMyFragmentTestextends

java - JNI : Unable to find java class from native method in a callback

我是JNI的新手,我正在努力解决这个问题。我有一个由网络库(alljoyn)调用的c++回调。在这个回调中,我需要调用Java代码。由于这个回调在另一个线程中,我使用以下代码获取JNIEnv指针:(jvm是一个全局指针)JNIEnv*env=NULL;jvm->AttachCurrentThread(&env,NULL);问题是,当我尝试使用此env指针调用FindClass时,结果为NULL。如果我在主线程中执行完全相同的FindClass调用,一切正常。我该如何解决这个问题?这与类路径有某种关系吗? 最佳答案 可以在develo

android - 如何禁用 SoftKeyBoard 上的 "input methods"?

我知道这对用户不友好,但我制作了一个信息亭应用程序,因此我的设备将位于一个“容器”内,它将隐藏设备的软按钮。问题是:如果用户单击“输入选项”,他将永远不会返回应用程序,因为没有BackButton。我只想知道是否可以禁用我设备(NEXUS10)默认键盘上的“输入法”按钮,如图所示。如果是:如何?还是我需要自己写键盘?我还禁用了设备上的所有其他键盘,但按钮仍然存在。但是,在我的nexus上我没有这个按钮:更新:2013-11-07我注意到在我的nexus上我还可以选择“输入选项”设置->长按逗号。所以我想我必须自己写一个软键盘。 最佳答案

java.lang.NullPointerException : Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference in GridView 异常

我正在尝试从电影数据库中获取有关电影的数据。然后在我的布局中使用gridview我想在我的设备上显示它。我通过使用ArrayAdapter来做到这一点。我只想在网格中显示电影的名称。但我不断收到“java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.lang.Stringjava.lang.Object.toString()'”错误。我的代码如下:publicclassMainActivityFragmentextendsFragment{ArrayAdaptermMovieAdapter;publicMainActivityFragm

java - 模拟 : doNothing tries to invoke the void method in Android instrumented test

编辑阅读FAQ时,它让我知道什么可能会导致这里出现问题。只是为了试一试,我将stub方法的可见性open()更改为public并且它按预期执行,没有任何抛出异常。我不确定这是错误还是版本1.10.19的预期行为。原帖在我的Android项目中,我使用Mockito以简化某些(仪器)测试的实现。我能够模拟一些非void方法,但没有弄清楚如何正确地stubvoid方法。我正在尝试测试类House。House有一个类型为Door的属性和一个方法openDoor()。一个Door和一个Handle类型的属性和一个方法open()。当我调用openDoor()时,我想检查open()是否被调用,

java - Dagger 2.11 : Local Singleton when using @ContributesAndroidInjector

我有一个使用@ContributesAndroidInjector注释(https://google.github.io/dagger/android.html)的Dagger设置。ComponentApplication/\SubcomponentDrawerActivitySubcomponentSubActivity|SubcomponentDrawerFragment在SubActivity和DrawerActivity中,我使用了标记为@Singleton的相同存储库实例。@Singleton@Component(modules={AndroidInjectionModule

android - SyncAdapter中的Singleton Room数据库触发LiveData

我很难在我的SyncAdapter中将Room用作单例。我使用Kotlin。我的房间等级@Database(entities=[(Product::class)],version=1,exportSchema=false)abstractclassAppDatabase:RoomDatabase(){abstractfunproductDao():ProductDaocompanionobject{@VolatileprivatevarINSTANCE:AppDatabase?=nullfungetInstance(context:Context):AppDatabase=INSTAN

java - 房间@查询错误 : Cannot find method parameters

在我的项目中,我有一个库模块和一个使用它的应用程序模块。在这两个模块中,我对Android架构组件库具有相同的gradle依赖性://ViewModelandLiveDataimplementation"android.arch.lifecycle:extensions:1.0.0"implementation"android.arch.lifecycle:common-java8:1.0.0"//Roomimplementation"android.arch.persistence.room:runtime:1.0.0"annotationProcessor"android.arch