小编Jam*_*mal的帖子

新的Google登录Android

我正在尝试使用新的Google Play服务8.3获取用户令牌ID,并且如我所述,我传递了服务器ID:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken(getString(R.string.server_client_id))
    .requestEmail()
    .build();
Run Code Online (Sandbox Code Playgroud)

但是我仍然得到如下结果:

{statusCode=unknown status code: 12501, resolution=null}
Run Code Online (Sandbox Code Playgroud)

并记录在这里 GoogleSignInStatusCodes

登录已被用户取消.即,用户取消了一些登录决议,例如,帐户选择或OAuth同意.

常数值:12501

这不是我的情况,因为我已经选择了一个帐户.任何想法可能是什么原因?

android google-play-services google-identity

78
推荐指数
7
解决办法
5万
查看次数

如何在Android项目的纯Java模块中使用LiveData?

我试图在纯Java模块中使用LiveData。我在模块gradle文件中添加了依赖性,但是Android studio无法解决依赖性。说LiveData无法解决。它仅适用于Android模块吗?还是我错过了什么?

java android android-studio android-architecture-components

5
推荐指数
1
解决办法
260
查看次数

测试 Rx Java 间隔

我在 ViewModel 中有一个重复的可观察对象,如下所示:

class MainViewModel @Inject constructor(private val ratesUseCase: RatesUseCase) : ViewModel() {

    private var disposable: Disposable? = null
    private val resultLiveData = MutableLiveData<Resource<Map<String, Double>>>()

    fun result() = resultLiveData
    fun getRates(base: String) {
        disposable = Observable
            .interval(1, TimeUnit.SECONDS)
            .flatMap { ratesUseCase.execute(base) }
            .doOnSubscribe { publishResult(Resource.loading(mapOf())) }
            .subscribe(
                {
                    publishResult(Resource.success(values))
                },
                {
                    publishResult(Resource.error(it.localizedMessage, mapOf()))
                }
            )
    }

}
Run Code Online (Sandbox Code Playgroud)

我想测试 getRates 函数。它总是返回 LOADING 状态 这里缺少什么?

测试用例 :

@Test
    fun executeSuccess() {
        val base = "CANARY"
        whenever(currencyRepository.getRates(base))
            .thenReturn(Observable.just(map))

        viewModel.result().observeForever(observer)
        viewModel.getRates(base)
        verify(observer).onChanged(Resource.success(map))
    }
Run Code Online (Sandbox Code Playgroud)

android unit-testing rx-android rx-java2

4
推荐指数
2
解决办法
2480
查看次数