1、首先得添加支持包
compile 'com.squareup.retrofit2:converter-simplexml:2.1.0'
2、
建立一个接口文件
package xml; import retrofit2.Call; import retrofit2.http.GET; /** * Created by ban */ public interface XmlService { @GET("/portal.php?mod=rss&castid=") Call<Channel> getChannel(); }3、 创建retrofit实例
package xml; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import page.pay.third.com.retrofit.R; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.simplexml.SimpleXmlConverterFactory; public class SimpleXmlActivity extends AppCompatActivity implements Callback<Channel> { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_xml); Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://www.inexus.co") .addConverterFactory(SimpleXmlConverterFactory.create()) .build(); XmlService service = retrofit.create(XmlService.class); Call<Channel> channel = service.getChannel(); channel.enqueue(this); } @Override public void onResponse(Call<Channel> call, Response<Channel> response) { Channel channel = response.body(); } @Override public void onFailure(Call<Channel> call, Throwable t) { t.printStackTrace(); } }
4、用实例create出一个service
XmlService service = retrofit.create(XmlService.class);
package xml; import retrofit2.Call; import retrofit2.http.GET; /** * Created by ban */ public interface XmlService { @GET("/portal.php?mod=rss&castid=") Call<Channel> getChannel(); }
5、直接用service,get出一个channel
Call<Channel> channel = service.getChannel();
6、然后异步请求,得到两个反馈
@Override public void onResponse(Call<Channel> call, Response<Channel> response) { Channel channel = response.body(); } @Override public void onFailure(Call<Channel> call, Throwable t) { t.printStackTrace(); }