小编mih*_*o39的帖子

在 Kotlin 中固定列表大小的最佳方法是什么

我有一个 ParentObject 的列表。对于每个 parentObject,它有 2 个 childObject。这样的形象

val listParent: MutableList<ParentObject> = mutableList() 

ParentObject {  
 ChildOjbect1{}   // object1 can not be NULL
 ChildOjbect2{}   // object2 can be NULL
}
Run Code Online (Sandbox Code Playgroud)

而且,我想建立一个 ChildObject 的 mutableList。

val listChild: MutableList<ChildObject> = mutableList()  

list.add(parentObject.childOjbect1) // Because childObj1 can not be null  
parentOjbect.childObject2?.let { child ->  
  list.add(child)  
}
Run Code Online (Sandbox Code Playgroud)

问题:
我只需要 listChild 有 6 个项目(基本上我想将 listChild 的大小固定为 6 )
我在 Kotlin 中编码如下:

fun buildListChild(): List<ChildOjbect> {
  val listChild // instance mutable listChild
  forEach( parent: listParent) {
    listChild.add(parent.childObject1)
    parent.childOjbect2?.let …
Run Code Online (Sandbox Code Playgroud)

android loops list kotlin

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

rxJava 中 doOnSuccess 与 onSuccess 的用例是什么

我对 rxJava 中 doOnSuccess 的用例感到困惑。
让我们看看代码:

情况1:

networkApi.callSomething()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())               
    .doOnSuccess(__ -> showLog(SUCCESS))
    .doOnError(__ -> showLog(ERROR))
    .subscribeBy(
             onSuccess = {//Do something}, 
             onError = {//Show log here}
          )
Run Code Online (Sandbox Code Playgroud)

案例2:

networkApi.callSomething()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())               
    .subscribeBy(
             onSuccess = {
               //Do something
               showLog(SUCCESS)
             }, 
             onError = {showLog(ERROR)}
          )
Run Code Online (Sandbox Code Playgroud)

像往常一样,我认为案例 2 很好。
我也参考了 github 中的一些源代码,我看到有些人确实喜欢案例 1。
我试着问自己doOnSuccess这里的用例是什么?

是否有我们需要应用doOnSuccess()运算符的用例?

android rx-java retrofit rx-kotlin

7
推荐指数
1
解决办法
9578
查看次数

Firebase 中的first_open 事件何时记录?

first_open我对Firebase 中的事件感到困惑。这是文档: 文档

first_open:用户在安装或重新安装应用程序后第一次启动该应用程序。

当用户将应用程序下载到设备上时,不会触发此事件,而是在他或她第一次使用该应用程序时触发。要查看原始下载量,请查看 Google Play 开发者控制台或 iTunesConnect。

然而谷歌的一些人说: 参考这个链接

最后一个重要的区别是,当现有用户迁移到包含 Firebase 的应用程序的新版本时,他们将记录 first_open 事件。因此,即使他们不是新用户,他们也会登录first_open。

据我了解,如果我们通过 Google Play 更新应用程序,然后再次启动应用程序,first_open 会被记录吗?那是对的吗 ?

更新
Firebase 版本
根/

classpath 'com.google.firebase:firebase-plugins:1.1.5'
Run Code Online (Sandbox Code Playgroud)

应用程序/

implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.firebase:firebase-perf:16.2.3'
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-analytics

6
推荐指数
1
解决办法
5001
查看次数

应用程序进入后台时如何检测以前的活动

我有 2 个活动:ActivityA 和 ActivityB。
当应用程序进入后台时,我想检测哪个 Activity 刚刚处于前台。
例如:活动 A 在前台 -> 单击主页按钮 -> 应用程序转到后台

onBackground: ActivityA
Run Code Online (Sandbox Code Playgroud)

Activity B 在前台 -> 单击主页按钮 -> 应用程序转到后台

onBackground: ActivityB
Run Code Online (Sandbox Code Playgroud)

我对 ProcessLifecycleObserver 感到困惑

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onEnterForeground() {
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onEnterBackground() {
    }
Run Code Online (Sandbox Code Playgroud)

因为这里无法检测到哪个 Activity?

当我尝试使用ActivityLifecycleCallbacks它的活动生命周期,而不是应用程序生命周期时,因此无法在此处检测到后台状态。

有没有人对这种情况有解决方案?

android background application-lifecycle activity-lifecycle

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

如何在Android中将AdMob添加为ListView项?

我对Google Admob有疑问(参考图书馆GoogleAdMobAdsSdk-4.1.1.jar).我的问题 :

  1. 我有一个关于足球的ListView,现在我想将Admob添加为我的ListView项目
  2. 例如:
    • 第1项
    • 第2项
    • 第3项
    • <---------------谷歌的横幅广告----->使用Admob
    • 第4项
    • 第5项
    • 项目6
    • <---------------谷歌的横幅广告------> ..........

如何将Admob作为ListView项添加到ListView中 - 每个人都知道这一点.请帮帮我...非常感谢!

android listview admob

4
推荐指数
1
解决办法
4136
查看次数

讲解rxJava中的下游和上游

我不太了解Rxjava 中下游上游含义。这意味着什么?它等效于subscribeOnobservableOn吗?

java android

4
推荐指数
1
解决办法
702
查看次数