文/程序員男神
前言
年后工作上有了變動(dòng)誊薄,公司重新分了組履恩。我的直接領(lǐng)導(dǎo)也變了,一切又要重新開(kāi)始呢蔫。交接舊的工作切心,迎接新的工作。學(xué)習(xí)新的東西片吊,熟悉新的業(yè)務(wù)流程绽昏,一切在緊張忙碌中進(jìn)行。最近合肥這天氣跟一首歌唱的一樣俏脊,一個(gè)像夏天一個(gè)像冬天全谤,周末還穿短袖春游,周一上班就換上了羽絨服爷贫。周末照了好多美照认然,看下面......
Jordon
概念
Retrofit是由Square公司出品的針對(duì)于Android和Java的類型安全的Http客戶端,網(wǎng)絡(luò)服務(wù)基于OkHttp 沸久。
使用步驟
第一步:添加依賴季眷,我們直接搜索library,添加編譯卷胯。
圖片.png
第二步:定義接口,比如請(qǐng)求百度的首頁(yè)。
/**
*
* desc: 定義一個(gè)接口
* author: dj
* date: 2017/2/21 18:22
*
*/
public interface Service {
@GET("/")
Call<String> getBaidu();
}
第三步:創(chuàng)建retrofit實(shí)例,設(shè)置一些參數(shù)威酒,最后接口回調(diào)窑睁,請(qǐng)求成功或失敗的實(shí)現(xiàn)挺峡。xml就一個(gè)TextView這里就不貼代碼了。
/**
* desc: 請(qǐng)求activity
* author: dj
* date: 2017/2/21 21:41
*/
public class MainActivity extends AppCompatActivity implements Callback<String> {
private TextView tvShow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvShow = (TextView) findViewById(R.id.tv_show);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://www.baidu.com")
.addConverterFactory(new Converter.Factory() {
@Override
public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {
return new Converter<ResponseBody, String>() {
@Override
public String convert(ResponseBody value) throws IOException {
return value.string();
}
};
}
}).build();
Service service = retrofit.create(Service.class);
Call<String> call = service.getBaidu();
call.enqueue(this);
}
@Override
public void onResponse(Call<String> call, Response<String> response) {
tvShow.setText(response.body());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Toast.makeText(this, "請(qǐng)求失數Eァ:" + call.request().url(), Toast.LENGTH_SHORT).show();
t.printStackTrace();
}
}
第四步:添加網(wǎng)絡(luò)權(quán)限
<uses-permission android:name="android.permission.INTERNET" />
總結(jié)
最后橱赠,對(duì)自己說(shuō)一句,生活本就乏味箫津,我們應(yīng)該積極面對(duì)狭姨。在浮躁的社會(huì)中,慢慢積累苏遥,累了就休息饼拍,有精力就學(xué)習(xí)。