2014-11-24 24 views
0

我已經通過調用如何使用改造取回字符串作爲響應?

String s=findDate(); 

這findDate嘗試()被宣佈改造服務爲

public RetrofitService{ 
@GET(/findDate) 
String findDate() 
} 

這是正確的嗎?

但我得到的響應作爲字符串214-11-24當我嘗試使用異步回調。爲什麼是這樣?服務器返回日期爲一個字符串,如2014-11-24

+0

請澄清你的問題。 「我得到」 是什麼?並請顯示您的異步改造界面。 – GreyBeardedGeek 2014-11-24 05:57:06

+0

GreyBeardedGeek,我已更新我的問題。 – 2014-11-24 06:29:51

回答

0

要使用Retrofit asynchronoisly,您必須在接口中聲明方法並使用額外的回調參數作爲最後一個參數。

然後改造將異步操作,並在數據可用時調用回調。

如果您沒有用回調聲明該方法,它將同步運行。

+0

是的,我已經嘗試過使用回調,它的工作。但我想不使用回調。 – 2014-11-24 11:59:21

+0

您可以將它與回調異步一起使用,也可以在沒有回調同步的情況下使用,並且您可以像預期的那樣爲您工作。你還在找什麼? – GreyBeardedGeek 2014-11-25 00:20:24

+0

String s = findDate();它給我的改造錯誤。但是findDate(new Callback ){};工作中。 – 2014-11-25 04:50:04

0

我想一定是 public interface RetrofitService(){ @GET(/findDate) String findDate() }

,也許你可以共享RestAdapter對象

0

它爲我工作。我使用改進:2.1.0。

API接口:

public interface APIService { 
@GET("api/get_info") 
    Call<ResponseBody> getInfo();//import okhttp3.ResponseBody; 
} 

API調用:

// Retrofit service creation code skipped here 
String json = retrofitService().getInfo().execute().body().string(); 
相關問題