Xutils3網(wǎng)絡(luò)連接

#1在build.gradle中引包

compile'org.xutils:xutils:3.3.36'

#2創(chuàng)建MyApplication初始化xutils

public class MyApplication extends Application {

@Override

public voidonCreate() {

super.onCreate();

x.Ext.init(this);

x.Ext.setDebug(BuildConfig.DEBUG);// 是否輸出debug日志, 開啟debug會(huì)影響性能.

}

#3在AndroiManifast.xml中聲明權(quán)限并引入MyApplication

<uses-permissionandroid:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application

android:name=".base.MyApplication"

#4 xml頁面


packagecom.hyad.xinhualianshe.test.dummy;

importandroid.app.ProgressDialog;

importandroid.os.Bundle;

importandroid.support.v7.app.AppCompatActivity;

importandroid.util.Log;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.ImageView;

importandroid.widget.TextView;

importcom.hyad.xinhualianshe.R;

importorg.xutils.common.Callback;

importorg.xutils.common.util.DensityUtil;

importorg.xutils.http.HttpMethod;

importorg.xutils.http.RequestParams;

importorg.xutils.image.ImageOptions;

importorg.xutils.view.annotation.ContentView;

importorg.xutils.view.annotation.Event;

importorg.xutils.view.annotation.ViewInject;

importorg.xutils.x;

importjava.io.File;

@ContentView(R.layout.activity_xiazai)

public classhttptestextendsAppCompatActivity {

//? ? private Context context;

@ViewInject(R.id.get)

privateButtonGET;

@ViewInject(R.id.post)

privateButtonPOST;

@ViewInject(R.id.other)

privateButtonOTHER;

@ViewInject(R.id.download)

privateButtonDOWNLOAD;

@ViewInject(R.id.cache)

privateButtonCACHE;

@ViewInject(R.id.httptextView)

privateTextViewTX;

@ViewInject(R.id.httpimageView)

privateImageViewimageView;

ImageOptionsimageOptions;

@Override

protected voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//注入view和事件

x.view().inject(this);

//? ? ? ? context=this;

imageOptions=newImageOptions.Builder()

.setSize(DensityUtil.dip2px(120), DensityUtil.dip2px(120))

.setRadius(DensityUtil.dip2px(5))

// 如果ImageView的大小不是定義為wrap_content, 不要crop.

.setCrop(true)

// 加載中或錯(cuò)誤圖片的ScaleType

//.setPlaceholderScaleType(ImageView.ScaleType.MATRIX)

.setImageScaleType(ImageView.ScaleType.CENTER_CROP)

//設(shè)置加載過程中的圖片

.setLoadingDrawableId(R.mipmap.ic_launcher)

//設(shè)置加載失敗后的圖片

.setFailureDrawableId(R.mipmap.ic_launcher)

//設(shè)置使用緩存

.setUseMemCache(true)

//設(shè)置支持gif

.setIgnoreGif(false)

//設(shè)置顯示圓形圖片

//? ? ? .setCircular(false)

.build();

}


//? ? String url ="http://www.baidu.com/";

@Event( R.id.get)

private? voidget(View v){

finalProgressDialog progressDialog =newProgressDialog(this);

progressDialog.setMessage("正在下載");

RequestParams params =newRequestParams(url);

params.addQueryStringParameter("username","11000");

params.addQueryStringParameter("password","888888");

Callback.Cancelable cancelable = x.http().get(params,newCallback.CommonCallback() {

@Override

public voidonSuccess(String result) {

Log.i("get_onSuccess","result"+ result);

}

@Override

public voidonError(Throwable ex,booleanisOnCallback) {

}

@Override

public voidonCancelled(CancelledException cex) {

}

@Override

public voidonFinished() {

//請求不管成功還是失敗都會(huì)調(diào)用

progressDialog.cancel();

}

});

cancelable.cancel();

}

@Event(value={R.id.httpimageView})

private voidloadImage(View view){

x.image().bind(imageView,"http://img2.3lian.com/2014/f2/164/d/17.jpg",imageOptions);

}

@Event(R.id.post)

private voidpost(View view){

RequestParams params =newRequestParams(url);

params.addBodyParameter("username","1100");

//根據(jù)當(dāng)前請求方式添加參數(shù)位置

params.addParameter("password","88888");

//? ? ? ? params.addHeader("head","xhs");

x.http().post(params,newCallback.CommonCallback() {

@Override

public voidonSuccess(String result) {

Log.i("get_onSuccess","result"+ result);

TX.setText(result);

}

@Override

public voidonError(Throwable ex,booleanisOnCallback) {

}

@Override

public voidonCancelled(CancelledException cex) {

}

@Override

public voidonFinished() {

}

});

}

@Event(R.id.other)

private? voidother(View view){

RequestParams params =newRequestParams(url);

params.addBodyParameter("usrname","34234");

x.http().request(HttpMethod.PUT, params,newCallback.CommonCallback() {

@Override

public voidonSuccess(String result) {

}

@Override

public voidonError(Throwable ex,booleanisOnCallback) {

}

@Override

public voidonCancelled(CancelledException cex) {

}

@Override

public voidonFinished() {

}

});

}

@Event(R.id.upload)

private voidupload(View view){

String path ="http://";

RequestParams params =newRequestParams(url);

params.addBodyParameter("file",newFile(path));

x.http().post(params,newCallback.CommonCallback() {

@Override

public voidonSuccess(String result) {

}

@Override

public voidonError(Throwable ex,booleanisOnCallback) {

}

@Override

public voidonCancelled(CancelledException cex) {

}

@Override

public voidonFinished() {

}

});

}

@Event(R.id.download)

private? voiddownload(View view){

url="";

RequestParams params =newRequestParams(url);

Callback.Cancelable post = x.http().post(params,newCallback.ProgressCallback() {

@Override

public voidonSuccess(File result) {

}

@Override

public voidonError(Throwable ex,booleanisOnCallback) {

}

@Override

public voidonCancelled(CancelledException cex) {

}

@Override

public voidonFinished() {

}

@Override

public voidonWaiting() {

}

@Override

public voidonStarted() {

}

@Override

public voidonLoading(longtotal,longcurrent,booleanisDownloading) {

//文件下載時(shí)回調(diào)的方法

Log.i("xxxxxxxxxxxxx","current<<"+current+"total<<"+total);

}

});

}

@Event(R.id.cache)

private voidcache(View view){

RequestParams params =newRequestParams(url);

params.setCacheMaxAge(1000*60);

Callback.Cancelable cancelable = x.http().get(params,newCallback.CacheCallback() {

@Override

public booleanonCache(String result) {

//false 不相信本地緩存

//相信本地緩存

Log.i("sdadasd","cache<<"+result);

return false;

}

@Override

public voidonSuccess(String result) {

Log.i("get_onSuccess","result"+ result);

}

@Override

public voidonError(Throwable ex,booleanisOnCallback) {

}

@Override

public voidonCancelled(CancelledException cex) {

}

@Override

public voidonFinished() {

//請求不管成功還是失敗都會(huì)調(diào)用

}

});

cancelable.cancel();

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末儒陨,一起剝皮案震驚了整個(gè)濱河市煎谍,隨后出現(xiàn)的幾起案子外厂,更是在濱河造成了極大的恐慌狭姨,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件由捎,死亡現(xiàn)場離奇詭異黍檩,居然都是意外死亡颂碧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門沫换,熙熙樓的掌柜王于貴愁眉苦臉地迎上來臭蚁,“玉大人,你說我怎么就攤上這事】宥遥” “怎么了炭晒?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長甥角。 經(jīng)常有香客問我网严,道長,這世上最難降的妖魔是什么嗤无? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任震束,我火速辦了婚禮,結(jié)果婚禮上当犯,老公的妹妹穿的比我還像新娘垢村。我一直安慰自己,他們只是感情好嚎卫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布嘉栓。 她就那樣靜靜地躺著,像睡著了一般拓诸。 火紅的嫁衣襯著肌膚如雪侵佃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天奠支,我揣著相機(jī)與錄音馋辈,去河邊找鬼。 笑死倍谜,一個(gè)胖子當(dāng)著我的面吹牛迈螟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尔崔,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼答毫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了季春?” 一聲冷哼從身側(cè)響起洗搂,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鹤盒,沒想到半個(gè)月后蚕脏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侦锯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年驼鞭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尺碰。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挣棕,死狀恐怖译隘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情洛心,我是刑警寧澤固耘,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站词身,受9級特大地震影響厅目,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜法严,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一损敷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧深啤,春花似錦拗馒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呈昔,卻和暖如春挥等,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背韩肝。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工触菜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留九榔,地道東北人哀峻。 一個(gè)月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像哲泊,于是被迫代替她去往敵國和親剩蟀。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容