如何在一个活动中解析2个或更多URL。有2个基本网址
private static final String BASE_URL_1 = "https://www.somesite.com";
private static final String BASE_URL_2 = "https://www.somesite.com";
它们以两种不同的方法处理。每个方法都实例化retrofit
库
1)
private void init(){
//initialising retrofit
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_1)
//converter XML
.addConverterFactory(SimpleXmlConverterFactory.create())
.build();
FeedTechCrunchAPI feedTechCrunch = retrofit.create(FeedTechCrunchAPI.class);
Call<RssFeed> call = feedTechCrunch.getTechCrunch();
//starting callbacks
call.enqueue(new Callback<RssFeed>()
}
2)
private void initActive(){
//initialising retrofit
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_2)
//converter XML
.addConverterFactory(SimpleXmlConverterFactory.create())
.build();
FeedVergeAPI feedVerge = retrofit.create(FeedVergeAPI.class);
Call<FeedFeed> call = feedVerge.getFeedVerge();
//starting callbacks
call.enqueue(new Callback<FeedFeed>()
}
我在onCreate
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "starting");
initActive();
init();
}
但只调用了init()
。但是,如果我摆脱init()
第二个被调用。任何想法?
这些都是回调
1
public void onResponse(Call<RssFeed> call, Response<RssFeed> response) {
Log.d(TAG, "onResponse: feed: " + response.body().toString());
List<Item> mItems = response.body().getmChannel().getItems();
Log.d(TAG, "onResponse: Server Response: " + response.toString());
2
@Override
public void onResponse(Call<RssFeed> call, Response<RssFeed> response) {
Log.d(TAG, "onResponse: feed: " + response.body().toString());
List<Item> mItems = response.body().getmChannel().getItems();
Log.d(TAG, "onResponse: Server Response: " + response.toString());