Home

Awesome

Tamic

user-defined Retrofit. 剖解Retrofit源码,实现简单自定义的Retrofit的框架

只需普通http实现Retrofit一样的效果,让你的网络接口迁移到Retrofit不再是神话,

感谢以下开源提供 resource

compile 'com.loopj.android:android-async-http:1.4.9'
compile 'com.alibaba:fastjson:1.2.12'

测试URL:"http://ip.taobao.com/service/getIpInfo.php?ip=21.22.11.33";

作用

实现用async-http 自定义的Retrofit 网络框架,用来进阶学习了解Retrofit内部原理

实现技术

反射,依赖注入,代理, 建造者模式,线程池队列, 接口回调等

用法

配置gradle

compile 'com.tamic:tamicLibrary:1.0.2'

实例化Tamic (Retrofit)

 Tamic tamic = new Tamic.Builder(MainActivity.this)
            .baseUrl("http://ip.taobao.com/")
            .connectTimeout(5)
            .addLog(true)
            .build();
            
            

APIService

public interface ApiService {

@TGet("service/getIpInfo.php")
Call<IpResult> getData(@TBody("ip") String ip,ICallback<IpResult> callBack);
                
                }
 

Create Service

 ApiService service = tamic.create(ApiService.class);

Execute

  service.getData("21.22.11.33", new ICallback<IpResult>() {
        @Override
        public void success(IpResult ipResult) {
            // todo
        }

        @Override
        public void failed(Throwable e) {
            // todo
        }
    });