栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android改造设计模式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android改造设计模式

我通常使用具有以下结构的 单例 模式:

首先定义

ServiceHelper
如下:

public class ServiceHelper {private static final String ENDPOINT = "http://test.com";private static OkHttpClient httpClient = new OkHttpClient();private static ServiceHelper instance = new ServiceHelper();private IPlusService service;private ServiceHelper() {    Retrofit retrofit = createAdapter().build();    service = retrofit.create(IPlusService.class);}public static ServiceHelper getInstance() {    return instance;}private Retrofit.Builder createAdapter() {    httpClient.setReadTimeout(60, TimeUnit.SECONDS);    httpClient.setConnectTimeout(60, TimeUnit.SECONDS);    HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);    httpClient.interceptors().add(interceptor);    return new Retrofit.Builder() .baseUrl(ENDPOINT) .client(httpClient) .addConverterFactory(GsonConverterFactory.create());}public Call<List<CategoryModel>> getAllCategory() {    return service.getAllCategory();}

然后将您的所有服务都放入

IService
(在我的情况下是
IPlusService

    public interface IPlusService {    //@Headers( "Content-Type: application/json" ) in Post method may use this    @GET("/api/category")    Call<List<CategoryModel>> getAllCategory();}

然后在您的活动/片段中按如下所示致电您的 单身人士

ServiceHelper.getInstance().getAllCategory().enqueue(new Callback<List<CategoryModel>>() {        @Override        public void onResponse(Response<List<CategoryModel>> response, Retrofit retrofit) { processResponse(response);        }        @Override        public void onFailure(Throwable t) { processResponse(null);        }    });


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号