Android rxJava2项目结构、文件命名等
我有一个Android项目,目前不使用视图模型或rxJava。它是一个相当简单的应用程序,使用Parse sdk和解析服务器。现在还是项目的早期阶段,我已经决定开始使用VM和rxJava 我的问题主要是关于结构、命名等。让我们以登录为例: 我有一个名为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实现了该接口并完成
AuthenticationService.java
的接口,带有登录(Authorization auth,ServiceCallback callback)
方法
我的ParseAuthenticationService.java
实现了该接口并完成了所有的解析工作
整个应用程序都是这样设置的,所以myUser.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包装器进行解析