小编Dan*_*hov的帖子

RxJava:如何从observable中提取对象?

我觉得这是一个愚蠢的问题,但我暂时找不到任何答案,所以我会问它,对不起:)

所以,我需要一个执行以下功能的函数:

1)调用另一个函数来创建一个Observable User

2)从Observable User获取User对象

3)获取有关用户的一些信息并运行一些逻辑

4)返回可观察用户

我在步骤#2遇到了麻烦.我怎么做?或者,这种方法在某种程度上是根本错误的吗?

这是函数的"模型":

@Override protected Observable buildUseCaseObservable(){

    Observable<User> userObservable = userRepository.findUserByUsername(username);

    //User user = ??????

    //if (...) {...}

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

谢谢 :)

java rx-java

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

Retrofit 现在支持 websocket 吗?

我知道这是一项正在进行的工作,它应该成为 2.1 版的东西,这是最新版本。

那么,现在准备好了吗?找不到有关该主题的任何信息。

如果它已经是一个东西,我将如何使用它?

java android websocket retrofit retrofit2

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

无法应用插件"com.google.gms.google-services"

这是我的项目build.gradle:

buildscript {
    ...
    dependencies {
        ...
        classpath 'com.google.gms:google-services:3.1.0'
    }
}
Run Code Online (Sandbox Code Playgroud)

在其中一个模块的build.gradle中,我有这个:

apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:

Could not get unknown property 'LibraryVariants' for object of type com.android.build.gradle.LibraryExtension.
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我将google-services版本设置为3.0.0,则此特定错误消失,但Gradle要求我降级其他谷歌库的版本,但我真的不想这样做.

我该如何处理这些LibraryVariants

java android gradle android-gradle-plugin

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

Android:如何以编程方式设置片段的边距?

因此,我需要为片段容器(它是 RelativeLayout 内的 FrameLayout)设置左边距,以便它按照我需要的方式进行缩放。因此,我想在 java 中执行此操作(尽管其余与视图相关的内容是在 xml 中完成的),但我不确定如何处理它。我应该为我的片段创建一个新的通用类吗?还是应该在活动课上做?如果是这样,它是否必须在特定的地方?

这是我的活动课:

public class LoginActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    if (findViewById(R.id.fragment_container) != null) {
        if (savedInstanceState != null)
            return;


        AuthFragment firstFragment = new AuthFragment();
        firstFragment.setArguments(getIntent().getExtras());
     getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, firstFragment).commit();
    }

}
Run Code Online (Sandbox Code Playgroud)

和活动布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/app_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/navy">

    <com.kupol24.app.view.MyImageView
        android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"/>

    <FrameLayout
        android:id="@+id/container_holder"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="@dimen/fragment_margin"
        android:layout_centerVertical="true">

        <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/fragment_container"
            android:layout_gravity="center"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </FrameLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-fragments

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