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">
android:id="@+id/get"
android:text="GET"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Medium Text"
    android:id="@+id/httptextView" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/httpimageView"
    android:layout_gravity="center_horizontal"
    android:layout_weight="1.10" />

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

}

}

时间: 2024-10-30 00:51:54

Xutils的相关文章

android快速开发框架XUtils update更新数据 无效

问题描述 android快速开发框架XUtils update更新数据 无效 最近学习XUtils发现 update更新数据库中的某个对象无效,好像第二次又可以了. 请问各位有遇到过这种情况吗

xUtils框架的介绍(一)

今天我要为大家推荐的是一个Android基于快速开发的一个框架--xUtils,它是在aFinal基础上进行重构和扩展的框架,相比aFinal有很大的改善.同时,如果如果你的应用是基于网络的,那么只要处理得当,它会让你彻底的摆脱各种工具类和重复代码的困扰.好的,废话不多说,程序猿们还是代码说起.     xUtils 包含了很多实用的android工具.xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的O

Android Xutils框架使用问题及解决办法

    刚刚写了篇博客,提了下在使用XUtils时遇到的一个问题Android Xutils框架HttpUtil Get请求缓存问题 ,既然已经提起来这个问题,那我想了下,就把之前使用Xutils时遇到的几个小问题整理一下. 一. HttpUtil Get请求缓存问题       关于Xtuls框架的Http模块的get请求方法,会有缓存问题--即进行get请求时,在缓存规定的时间内,如果发送同样的请求url,则不会再次请服务器发送请求,而是直接返回上次请求的结果. 之前写了一篇博客已经介绍的很

ndroid-我github上下载的xutils,用来下载文件,可是一直显示下载失败

问题描述 我github上下载的xutils,用来下载文件,可是一直显示下载失败 public void click(View v){ Thread t = new Thread(){ @Override public void run() { String path = "http://10.0.2.2:8080/mobilesafe_2.0.apk"; String target = Environment.getExternalStorageDirectory()+ "

xUtils框架的介绍(四)

今天介绍xUtils的最后一个模块--HttpUtils,拖了那么久,终于要结束了.另外,码字不易,如果大家有什么疑问和见解,欢迎大家留言讨论.HttpUtils是解决日常工作过程中繁杂的上传下载文件以及各种Get和post请求的必备工具类,通过这个类,开源非常方便关注接口的业务,不必再再写那么冗长的代码.下面全文都围绕着四个中心点去依次展开,分别是:HttpGet请求,HttpPost请求,下载文件和上传文件. HttpGet请求.相信从事Android网络应用的开发的同学对这个一定不会陌生,

android毕设中使用了xutils,但是出现了问题

问题描述 android毕设中使用了xutils,但是出现了问题 1.xutils是我在github上下载的最新版本,jar为2.6.14 2.出现的错误是:RetryHandler.retryRequest(L:91)(28128): retry error, curr request is null 3.我自己百度了, (1)有人说是因为xutils不是最新的,但是我下载的是最新的,所以这个不成立 (2)有人说send()里需要写http://或者https://协议,如果不写会报错,我在代

Android Xutils框架HttpUtil Get请求缓存问题

  话说,今天和服务器开发人员小小的逗逼了一下,为啥呢?   话说今天有个"收藏产品"的请求接口,是get request的哦,我客户端写好接口后,点击"收藏按钮",返回"收藏成功",我又点了一下,尼玛居然还是"收藏成功",我再点一下,这下对了,返回给我"取消收藏成功",好吧,我又点了一下,彻底郁闷了,居然又是"取消收藏成功",这不是逗我的么?   于是我让服务器人员检查他的接口,是不是

android应用-利用Xutils HttpUtils 访问 https网站

问题描述 利用Xutils HttpUtils 访问 https网站 我想用 xutils 的 HttpUtils 访问 Https 网站,但是这么弄都不行.希望有大神帮忙解决 解决方案 楼主解决了吗? 请指教

怎样请求参数-Android xutils put请求服务器

问题描述 Android xutils put请求服务器 Android xutils put请求服务器时,怎样传递参数 解决方案 传参尽量用post,传参尽量用post 解决方案二: 去参考master下提供的sample 解决方案三: 去参考下官方提供的例子