草庐IT

android - LiveData 在第一次调用后没有更新它的值

我一直在用头撞墙,我不明白为什么会这样。我正在使用适用于Android的新架构组件,但在使用对象列表更新LiveData时遇到问题。我有两个旋转器。当我更改第一个选项时,第二个必须更改其内容。但是最后一部分没有发生。谁能帮帮我?State.java@Entity(tableName="states")publicclassState{@PrimaryKey(autoGenerate=false)privateintid;privateStringname;@ColumnInfo(name="countryId")privateStringCountryId;@Ignoreprivate

android - LiveData 在第一次调用后没有更新它的值

我一直在用头撞墙,我不明白为什么会这样。我正在使用适用于Android的新架构组件,但在使用对象列表更新LiveData时遇到问题。我有两个旋转器。当我更改第一个选项时,第二个必须更改其内容。但是最后一部分没有发生。谁能帮帮我?State.java@Entity(tableName="states")publicclassState{@PrimaryKey(autoGenerate=false)privateintid;privateStringname;@ColumnInfo(name="countryId")privateStringCountryId;@Ignoreprivate

android - Dagger 2注入(inject)相同对象类型的多个实例

背景我正在将我的应用程序转换为MVP架构,并发现Dagger2可用于在需要时注入(inject)依赖项。我的应用程序需要与两个Webapi(我自己的和第三方api)进行通信。有时可能会同时触发对我自己的api和第三方api的请求。我正在使用Retrofit与这些API进行通信,并使用GSON进行序列化/反序列化。我之前做过的事情我创建了两个RetrofitRestAdapter并在需要时使用服务定位器模式来获取它们。打算用于我自己的api的RestAdapter包括带有一些自定义TypeAdapter的GSONConverter,因为我不希望在应用程序中对我的响应进行1:1JSON反序

android - Dagger 2注入(inject)相同对象类型的多个实例

背景我正在将我的应用程序转换为MVP架构,并发现Dagger2可用于在需要时注入(inject)依赖项。我的应用程序需要与两个Webapi(我自己的和第三方api)进行通信。有时可能会同时触发对我自己的api和第三方api的请求。我正在使用Retrofit与这些API进行通信,并使用GSON进行序列化/反序列化。我之前做过的事情我创建了两个RetrofitRestAdapter并在需要时使用服务定位器模式来获取它们。打算用于我自己的api的RestAdapter包括带有一些自定义TypeAdapter的GSONConverter,因为我不希望在应用程序中对我的响应进行1:1JSON反序

android - 如何注入(inject)广播接收器

是否有人已经不得不使用dagger将已经存在的类以及一些业务逻辑注入(inject)到BroadcastReceiver中?我正在使用dagger1,并且已经找到了一个很好的示例(https://github.com/adennie/fb-android-dagger),但是我找不到如何将属于不同模块的现有类添加到BroadcastReceiver。任何帮助或建议将不胜感激。 最佳答案 将对象注入(inject)广播接收器的Dagger2示例。BroadcastReceiverModule.kt@Moduleabstractclas

android - 如何注入(inject)广播接收器

是否有人已经不得不使用dagger将已经存在的类以及一些业务逻辑注入(inject)到BroadcastReceiver中?我正在使用dagger1,并且已经找到了一个很好的示例(https://github.com/adennie/fb-android-dagger),但是我找不到如何将属于不同模块的现有类添加到BroadcastReceiver。任何帮助或建议将不胜感激。 最佳答案 将对象注入(inject)广播接收器的Dagger2示例。BroadcastReceiverModule.kt@Moduleabstractclas

android - 在为 Android 进行 Espresso 功能测试时让 Dagger 注入(inject)模拟对象

我最近完全使用Dagger,因为DI的概念完全有意义。DI的一个更好的“副产品”(正如JakeWharton在他的一次演讲中所说)是更容易测试。所以现在我基本上使用Espresso进行一些功能测试,并且我希望能够将虚拟/模拟数据注入(inject)应用程序并让Activity显示出来。我猜,这是DI的最大优势之一,这应该是一个相对简单的问题。但出于某种原因,我似乎无法绕过它。任何帮助将非常感激。到目前为止,这是我所拥有的(我写了一个反射(reflect)我当前设置的示例):publicclassMyActivityextendsMyBaseActivity{@InjectNavigat

android - 在为 Android 进行 Espresso 功能测试时让 Dagger 注入(inject)模拟对象

我最近完全使用Dagger,因为DI的概念完全有意义。DI的一个更好的“副产品”(正如JakeWharton在他的一次演讲中所说)是更容易测试。所以现在我基本上使用Espresso进行一些功能测试,并且我希望能够将虚拟/模拟数据注入(inject)应用程序并让Activity显示出来。我猜,这是DI的最大优势之一,这应该是一个相对简单的问题。但出于某种原因,我似乎无法绕过它。任何帮助将非常感激。到目前为止,这是我所拥有的(我写了一个反射(reflect)我当前设置的示例):publicclassMyActivityextendsMyBaseActivity{@InjectNavigat

android - 创建带有 Dagger 2 的单例的最简单方法?

我需要设置模块、提供程序和接口(interface)(组件)吗?仅仅为了能够注入(inject)一个单例,似乎需要相当多的开销。有人可以提供一个使用Dagger2的简单单例示例吗?(还展示了如何设置单例的属性,例如上下文,这样您就不需要在每次使用单例时都传递它) 最佳答案 你只需要模块来处理你不能用@Inject构造函数注释的东西(例如,框架会为你创建它——比如上下文)。如果不能添加@Inject构造函数,还需要在组件中指定voidinject(...)方法。但是,如果您可以使用@Inject构造函数创建它,那么@Inject也可以

android - 创建带有 Dagger 2 的单例的最简单方法?

我需要设置模块、提供程序和接口(interface)(组件)吗?仅仅为了能够注入(inject)一个单例,似乎需要相当多的开销。有人可以提供一个使用Dagger2的简单单例示例吗?(还展示了如何设置单例的属性,例如上下文,这样您就不需要在每次使用单例时都传递它) 最佳答案 你只需要模块来处理你不能用@Inject构造函数注释的东西(例如,框架会为你创建它——比如上下文)。如果不能添加@Inject构造函数,还需要在组件中指定voidinject(...)方法。但是,如果您可以使用@Inject构造函数创建它,那么@Inject也可以