小编Mar*_*ski的帖子

观察者和订阅者之间有什么区别?

我试图破译以下功能:

Subscription getCar(id, Observer<Car> observer) {
    return getCarDetails(id, new Observer<CarDetails> {
                             @Override
                             onNext(CarDetails details) {           
                                 observer.onNext(details.getCar());
                             } });
}
Run Code Online (Sandbox Code Playgroud)

我从http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/获得了rxjava的一个很好的介绍,但它只是提到了Observer,说你将使用Subscriber的大部分内容.从Observable发出的消费品的时间.

有人可以向我解释

  1. 什么是观察者?
  2. 观察者与订阅者的不同之处是什么?
  3. 上面的代码片段做了什么?

Javadoc使它看起来像订阅者.订阅者的javadoc说它实现了观察者和订阅.我很迷茫.

java rx-java

79
推荐指数
3
解决办法
3万
查看次数

Kotlin中的静态初始化块

什么是Kotlin 中的静态初始化块

我知道Kotlin的设计不会产生静电.我正在寻找具有等效语义的东西 - 代码在首次加载类时运行一次.

我的具体用例是我想从Android AppCompat库中启用DayNight功能,并且说明将一些代码放在Application类的静态初始化块中.

java static initializer kotlin

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

在 Android Studio 安装过程中安装 HAXM 失败

我正在尝试安装 Android Studio,但显示此错误。这个问题有解决方案吗?

在此处输入图片说明

android android-studio haxm

25
推荐指数
4
解决办法
10万
查看次数

使用RxJava和Okhttp

我想在另一个线程(如IO线程)中使用okhttp请求一个url并进入ResponseAndroid主线程,但我不知道如何创建一个Observable.

java android rx-java okhttp

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

InflateException:二进制XML文件行#8:使类ImageView出错

我知道还有其他问题要求同样的事情.我已经看过他们中的大多数了.

大多数答案都会调用内存错误.我看不出一个ImageView只加载一个小图标(24x24像素)的东西是如何形成这样的东西的.

但是我想在这里发布堆栈跟踪,也许其他人可以找到我无法识别的东西并帮助我.

06-03 22:14:17.367 28590-28590/css.mvp.example.debug W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41e4ad40)
06-03 22:14:17.409 28590-28590/css.mvp.example.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: css.mvp.example.debug, PID: 28590  android.view.InflateException: Binary XML file line #8: Error inflating class ImageView
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at css.mvp.example.main.projects.fragments.adapters.PollAnswersAdapter.getView(PollAnswersAdapter.java:38)
    at android.widget.AbsListView.obtainView(AbsListView.java:2255)
    at android.widget.ListView.measureHeightOfChildren(ListView.java:1263)
    at android.widget.ListView.onMeasure(ListView.java:1175)
    at android.view.View.measure(View.java:16540)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
    at android.view.View.measure(View.java:16540)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at android.view.View.measure(View.java:16540)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)
    at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668)
    at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735)
    at android.view.View.measure(View.java:16540)
    at …
Run Code Online (Sandbox Code Playgroud)

android android-layout inflate-exception

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

如何从里面引用lambda?

我试图在onCreate方法中获取视图的高度,但我找不到任何方法来删除OnGlobalLayoutListener.

在Java(工作):

containerLayout.getViewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {  
    @Override  
    public void onGlobalLayout() {  
        containerLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this); 
        int width  = layout.getMeasuredWidth();
        int height = layout.getMeasuredHeight(); 

    }  
});
Run Code Online (Sandbox Code Playgroud)

在Kotlin(不接受"这个"):

   containerLayout.viewTreeObserver.addOnGlobalLayoutListener {
            containerLayout.viewTreeObserver.removeOnGlobalLayoutListener(this)
            Toast.makeText(applicationContext, "size is "+ containerLayout.height,Toast.LENGTH_LONG).show()
        }
Run Code Online (Sandbox Code Playgroud)

这个问题有没有参考或例子?谢谢.

android kotlin

18
推荐指数
2
解决办法
2942
查看次数

git svn - 所有外部的克隆回购

我想使用git来克隆一个svn存储库,但不幸的是,在哪里svn checkout得到所有外部的repo,git svn clone只获得没有外部的存储库.如何通过svn存储库获取外部git svn?我不想做任何花哨的东西,只需要获得外部的complet repo.

svn git git-svn svn-externals

10
推荐指数
1
解决办法
8853
查看次数

如何链接多个RxJava的groupBy()方法,例如groupBy().groupBy()

给定输入:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)

将数字分组为奇数或偶数,然后小于或大于5.

预期产量:

[[1, 3, 5], [2, 4], [6, 8, 10], [7, 9]]
Run Code Online (Sandbox Code Playgroud)

输出的顺序不受限制.

我现在使用以下方法:

Observable.range(1, 10)
    .groupBy(n -> n % 2 == 0)
    .flatMap((GroupedObservable<Boolean, Integer> g) -> {
        return Observable.just(g).flatMap(ObservableUtils.<Boolean, Integer>flatGroup()).groupBy(n -> n > 5);
    })
    .subscribe((final GroupedObservable<Boolean, Integer> g) -> {
        Observable.just(g).flatMap(ObservableUtils.<Boolean, Integer>flatGroup()).forEach(n -> println(g + ": " + n));
    });
Run Code Online (Sandbox Code Playgroud)

请注意,ObservableUtils是我编写的,用于简化代码.

但我对它并不满意,因为它还不够简单,只能表明目标.

我的期望如下:

Observable.range(1, 10)
    .groupBy(n -> n % 2 == 0)
    .groupBy(n -> n > 5) …
Run Code Online (Sandbox Code Playgroud)

java android reactive-programming rx-java

10
推荐指数
1
解决办法
8137
查看次数

如何在Gradle中启用缺少的Android SDK包的自动下载

在Google I/O 2016期间,Android开发工具中的新功能很快就提到了一个很棒的新功能:Android Gradle插件现在可以自动从Android SDK下载缺少的依赖项.

它也在Android Gradle插件2.2.0-alpha4 发行说明中提到过.

我该如何启用它?

android android-gradle-plugin

9
推荐指数
1
解决办法
3238
查看次数

转换Android项目以使用Gradle Script Kotlin

我想build.gradle使用Gradle Script Kotlin将我的Android项目中的文件从Groovy 转换为Kotlin.我喜欢Kotlin中的所有这些,但如果有一些限制,那么尽可能多.

让我们假设我只有一个空项目,刚从Android Studio"新应用程序"模板创建(minSdkVersion 15如果重要的话,使用AppCompat).我需要采取哪些步骤才能将此项目转换为Gradle Script Kotlin.

我希望这应该是我(以及其他所有人)的一个很好的起点,我可以处理我自己转换任何自定义逻辑.

android gradle kotlin android-gradle-plugin gradle-kotlin-dsl

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