java - 有没有办法重用构建器代码进行改造

标签 java android retrofit

我正在使用 Retrofit在每一项任务中,我都必须这样做:

public class MyTask extends AsyncTask<String, String, String> {

    private void someMethod() {
        final RestAdapter restAdapter = new RestAdapter.Builder()
            .setServer("http://10.0.2.2:8080")
            .build();
        final MyTaskService apiManager = restAdapter.create(MyTaskService.class);
    }

    // ...

}

什么是让这段代码干燥的好方法?

最佳答案

RestAdapter 和生成的服务实例(在本例中为 MyTaskService)都是非常昂贵的对象,应该用作单例。

这意味着您应该只调用一次 restAdapter.create 并在每次需要交互时重复使用相同的 MyTaskService 实例。

我怎么强调都不过分。

您可以使用常规的单例模式,以确保您在任何地方都只使用这些对象的一个​​实例。依赖注入(inject)框架也可以用来管理这些实例,但如果你还没有使用它,那就有点矫枉过正了。

关于java - 有没有办法重用构建器代码进行改造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20579185/

相关文章:

android - 如何将 alpha channel 添加到 xml 中的现有 Android 颜色

java - 可以加载到 Android WebView 中的最大 html 文件是多少?

android - 如何从使用 diffutil 的 recyclerview 中删除项目?

android - RxJava 2/Retrofit 2 - NetworkOnMainThreadException

android - 迭代 Retrofit 响应

android - 房间改造 Dagger2 MVP : Error: cannot find symbol variable DaggerAppComponent

java - 如何访问从另一个类中的文本文件导入的 map ?

java - 图像无法识别

java - Spring Security 在运行时注销用户

java - 一个接口(interface)扩展多个接口(interface)