前方高能--Retrofit,高能--Retrofit

來源:互聯網
上載者:User

前方高能--Retrofit,高能--Retrofit
Retrofit

A type-safe REST client for Android and Java

Android中非常有名的網路架構
官網 :http://square.github.io/retrofit/
參考項目: http://square.github.io/okhttp/
Android 樣本項目: https://github.com/goodev/RetrofitDemo

Retrofit vs Volley
http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/
提取一張圖片

//APIpublic interface ApiService {    @GET("/jobs")    public void getJobs(Callback<Data> callback);}
//RestClientpublic class RestClient {    private static final String BASE_URL = "https://yourapi.host.com";    private ApiService apiService;    public RestClient() {        Gson gson = new GsonBuilder()                .registerTypeAdapterFactory(new ItemTypeAdapterFactory())                .setDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS'Z'")                .create();        RestAdapter restAdapter = new RestAdapter.Builder()                .setLogLevel(RestAdapter.LogLevel.FULL)                .setEndpoint(BASE_URL)                 .setConverter(new GsonConverter(gson))                .setRequestInterceptor(new SessionRequestInterceptor())                .setClient(new OkClient(MySSLTrust.getUnsafeOkHttpClient()))                .build();        apiService = restAdapter.create(ApiService.class);    }    public ApiService getApiService() {        return apiService;    }}
//MySSLTrust 的SSL信任public class MySSLTrust {    public static OkHttpClient getUnsafeOkHttpClient() {        try {            // Create a trust manager that does not validate certificate chains            final TrustManager[] trustAllCerts = new TrustManager[] {                    new X509TrustManager() {                        @Override                        public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {                        }                        @Override                        public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {                        }                        @Override                        public java.security.cert.X509Certificate[] getAcceptedIssuers() {                            return null;                        }                    }            };            // Install the all-trusting trust manager            final SSLContext sslContext = SSLContext.getInstance("SSL");            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());            // Create an ssl socket factory with our all-trusting manager            final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();            OkHttpClient okHttpClient = new OkHttpClient();            okHttpClient.setSslSocketFactory(sslSocketFactory);            okHttpClient.setHostnameVerifier(new HostnameVerifier() {                @Override                public boolean verify(String hostname, SSLSession session) {                    return true;                }            });            return okHttpClient;        } catch (Exception e) {            throw new RuntimeException(e);        }    }}/** * add Headers fro every request * Created by Hanks on 2015/5/18. */public class SessionRequestInterceptor implements RequestInterceptor {    @Override    public void intercept(RequestFacade request) {        /*request.addHeader("Accept", "application/json;versions=1");        if(isUserLoggedIn()){            request.addHeader("Authorization",getToken());        }*/            request.addHeader("Authorization","huhu=");    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.