Xutils

1在build.gradle中引包

compile'org.xutils:xutils:3.3.36'

2创建MyApplication初始化xutils

public class MyApplication extends Application {

@Override

public voidonCreate() {

super.onCreate();

x.Ext.init(this);

x.Ext.setDebug(BuildConfig.DEBUG);// 是否输出debug日志, 开启debug会影响性能.

}

3在AndroiManifast.xml中声明权限并引入MyApplication

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

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

<application

android:name=".base.MyApplication"

4 xml页面

<?xml version="1.0" encoding="utf-8"?>

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.hyad.xinhualianshe.XiazaiActivity"
android:orientation="vertical"
android:weightSum="1">

5Activity生成http连接方法

@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)

// 加载中或错误图片的ScaleType

//.setPlaceholderScaleType(ImageView.ScaleType.MATRIX)

.setImageScaleType(ImageView.ScaleType.CENTER_CROP)

//设置加载过程中的图片

.setLoadingDrawableId(R.mipmap.ic_launcher)

//设置加载失败后的图片

.setFailureDrawableId(R.mipmap.ic_launcher)

//设置使用缓存

.setUseMemCache(true)

//设置支持gif

.setIgnoreGif(false)

//设置显示圆形图片

// .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() {

//请求不管成功还是失败都会调用

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","12323");

//根据当前请求方式添加参数位置

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

// params.addHeader("head","xs");

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 ="//";

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) {

//文件下载时回调的方法

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() {

//请求不管成功还是失败都会调用

}

});

cancelable.cancel();

}

}

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/59908

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。