Android rxJava2项目结构、文件命名等

Android rxJava2项目结构、文件命名等,java,android,rx-android,rx-java2,Java,Android,Rx Android,Rx Java2,我有一个Android项目,目前不使用视图模型或rxJava。它是一个相当简单的应用程序,使用Parse sdk和解析服务器。现在还是项目的早期阶段,我已经决定开始使用VM和rxJava 我的问题主要是关于结构、命名等。让我们以登录为例: 我有一个名为AuthenticationService.java的接口,带有登录(Authorization auth,ServiceCallback callback)方法 我的ParseAuthenticationService.java实现了该接口并完成

我有一个Android项目,目前不使用视图模型或rxJava。它是一个相当简单的应用程序,使用Parse sdk和解析服务器。现在还是项目的早期阶段,我已经决定开始使用VM和rxJava

我的问题主要是关于结构、命名等。让我们以登录为例:

我有一个名为
AuthenticationService.java
的接口,带有
登录(Authorization auth,ServiceCallback callback)
方法

我的
ParseAuthenticationService.java
实现了该接口并完成了所有的解析工作

整个应用程序都是这样设置的,所以my
User.java
是一个由
MyParseUser.java
使用的界面,所有解析工作都在这里进行

因此有一个登录按钮,
LoginActivity
获取用户名/密码,生成授权对象并调用登录函数

对rxJava的更改是否简单到将
登录
函数包装到一个可观察对象中并在活动中订阅它?

那会是什么样子?登录功能如下所示:

@Override
public void login(Authorization authorization, final ServiceCallback<User> callback)
{
    cachedUser = null;
    ParseUser.logInInBackground(authorization.getUsername(), authorization.getPassword(), new LogInCallback()
    {
        @Override
        public void done(ParseUser user, ParseException e)
        {
            if (callback != null)
            {
                callback.onServiceRequestComplete(Response.<User>from((MyParseUser) user, e));
            }
        }
    });
}
@覆盖
公共无效登录(授权、最终服务回调)
{
cachedUser=null;
ParseUser.logInInBackground(authorization.getUsername()、authorization.getPassword()、new LogInCallback()
{
@凌驾
公共无效完成(ParseUser用户,parsee异常)
{
if(回调!=null)
{
callback.onServiceRequestComplete(Response.from((MyParseUser)user,e));
}
}
});
}
我可以使用通用接口结构保留相同的解析类吗?还是应该重新构造/重命名文件


谢谢你的帮助。这一切都有点势不可挡

使用接口将合同声明与实施分开。由于可观察模式是表示异步响应的一种很好的方式,因此在接口中用可观察模式替换回调似乎是一个很好的选择

您可以开始将回调函数的可观察版本放在旁边。例如,编写一个
Observable loginObservable(Authorization auth)
(或者更好的
Single loginSingle(Authorization auth)
),它本质上用
Observable.create()或
Single.create()包装
登录(…)
。之后您可能需要进行重构,但在熟悉Rx之后您将进行重构。对我来说,切换到Rx是一个两步的过程;我改进了我的架构,但后来很多

因为像这样创建Observable是一个稍微高级的Rx主题,所以我建议您寻找已经存在的Rx包装器进行解析