編輯:關於Android編程
在使用Retrofit來作為網絡請求庫之後,筆者查閱了網上的有關教程,無外乎都是請求json數據,使用addConverterFactory(GsonConverterFactory.create())來作為轉化器,如果業務需求是請求 字符串,而不是json數據格式呢,繼續使用這個轉換器就會產生錯誤。
好,來到正題,如何使用Retrofit請求一段字符串:
來到官方文檔查閱:http://square.github.io/retrofit/
有如下描述:
其實官方已經提供了一個字符串的轉換器,那麼接下來把它導入項目使用就可以了。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMiBpZD0="添加gradle依賴">添加gradle依賴
compile 'com.squareup.retrofit2:converter-scalars:2.0.0'
public class RetrofitManager {
private Retrofit mRetrofit;
private volatile static RetrofitManager instance;
private RetrofitManager() {
mRetrofit = new Retrofit.Builder()
.baseUrl(HttpAddress.SITE)
.addConverterFactory(ScalarsConverterFactory.create())
.build();
}
public static RetrofitManager getInstance() {
if (instance == null) {
synchronized (RetrofitManager.class) {
if (instance == null) {
instance = new RetrofitManager();
}
}
}
return instance;
}
public Retrofit getRetrofit() {
if (mRetrofit == null) {
mRetrofit = RetrofitManager.getInstance().initRetrofit();
}
return mRetrofit;
}
private Retrofit initRetrofit() {
return mRetrofit;
}
}
public interface MallRequest {
@Headers({
"User-Agent: Android"
})
@GET("{controller}/{method}")
Call getResult(
@Path("controller") String controller,
@Path("method") String method,
@Query("api_token") String api_token);
@GET("{controller}/{method}")
Call getAdvertResult(
@Path("controller") String controller,
@Path("method") String method,
@Query("api_token") String api_token
);
}
private MallRequest mMallRequest;
mMallRequest = RetrofitManager.getInstance().getRetrofit().create(MallRequest.class);
Call call = mMallRequest.getAdvertResult("site", "adv-slide", LepaApiToken.getToken("site", "adv-slide"));
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, retrofit2.Response response) {
Log.d("debug", response.body());
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
結果:
在Android應用的開發中,ListView是最常用的一個列表顯示控件,微博,聯系人啊,反正只要涉及多數據展示的情況,都會用到ListView(另外就是GridView
代碼中用的自定義常量 public static final int TYPE_Normal = 1; public static final int TYP
上一篇博客中我們已經繪制出了一個直角三角形,雖然我們相對於坐標,我們設置的直角三角形的兩腰是相等的,但是實際上展示出來的卻並不是這樣,雖然通過計算,我們可以把三角形的兩腰
前言 打造一款完整可用的Android播放器有許多功能和細節需要完成,也涉及到各種豐富的知識和內容,本章將結合Fragment、ViewPager來搭建播放器的