我觉得这是一个愚蠢的问题,但我暂时找不到任何答案,所以我会问它,对不起:)
所以,我需要一个执行以下功能的函数:
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)
谢谢 :)
我知道这是一项正在进行的工作,它应该成为 2.1 版的东西,这是最新版本。
那么,现在准备好了吗?找不到有关该主题的任何信息。
如果它已经是一个东西,我将如何使用它?
这是我的项目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?
因此,我需要为片段容器(它是 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)