Android:在动态网址中使用Retrofit

时间:2017-11-04 09:57:35

标签: java android retrofit

我有一个类似于http://www.myexample.com/rss/choose.php?type=level&id=2的网址,我想在我的Android应用中使用Retrofit。问题是type是一个参数,可以采用不同的值,如levelgrade等。 每次type更改时我都无法调整Retrofit因为我得到了#34;这里不允许使用注释"在TestesInterface中。我期待这个post并应用于我的应用,但它无法正常工作。

static final String BASE_URL = "http://www.myexample.com/rss/";

public void start() {
    Retrofit retrofit = new Retrofit.Builder().baseUrl(BASE_URL)
            .addConverterFactory(SimpleXmlConverterFactory.create()).build();

    TestesInterface testesInterface = retrofit.create(TestesInterface.class);

    Call<Channel> call = testesInterface.loadChannel("choose.php?type=level&id=2");
    call.enqueue(this);
}

我的界面:

public interface TestesInterface {
    @GET
    Call<Channel> loadChannel(@Url type);
}

这使我每次想要将类型更改为其他值时都应更改testesInterface.loadChannel("choose.php?type=level&id=2")。这不起作用。你能帮我吗?

1 个答案:

答案 0 :(得分:0)

尝试不同的方法后,我得到了解决方案。 我必须在接口上使用标记sp_rename@Querytype,并在我在start()中调用它时发送值:

id