xUtils 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
xUtils 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
xUtils 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
xUtils 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
xUtils 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache 2.0
开发语言 Java 查看源码 »
操作系统 Android
软件类型 开源软件
开源组织
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2013-07-28

软件简介

## xUtils3简介

xUtils 包含了orm, http(s), image, view注解, 但依然很轻量级(251K), 并且特性强大, 方便扩展.

#### 1. `orm`: 高效稳定的orm工具, 使得http接口实现时更方便的支持cookie和缓存.
* 灵活的, 类似linq表达式的接口.
* 和greenDao一致的性能.

#### 2. `http(s)`: 基于UrlConnection, Android4.4以后底层为okHttp实现.
* 请求协议支持11种谓词: GET,POST,PUT,PATCH,HEAD,MOVE,COPY,DELETE,OPTIONS,TRACE,CONNECT
* 支持超大文件(超过2G)上传
* 支持断点下载(如果服务端支持Range参数,客户端自动处理断点下载)
* 支持cookie(实现了domain, path, expiry等特性)
* 支持缓存(实现了Cache-Control, Last-Modified, ETag等特性, 缓存内容过多时使用过期时间+LRU双重机制清理)
* 支持异步和同步(可结合RxJava使用)调用

#### 3. `image`: 有了`http(s)`及其下载缓存的支持, `image`模块的实现相当的简洁.
* 支持内存缓存, 磁盘缓存(缩略图和原图), 并且支持回收被view持有, 但被MemCache移除的图片, 减少页面回退时的闪烁.
* 支持在ListView滑动时, 自动停止被回收复用的item对应的下载任务(再次下载时断点续传)
* 支持webp, gif(部分比较老的系统只展示静态图)
* 支持圆角, 圆形, 方形等裁剪, 支持自动旋转...

#### 4. `view注解`: view注解模块仅仅400多行代码却灵活的支持了各种View注入和事件绑定.
* 事件注解支持且不受混淆影响...
* 支持绑定拥有多个方法的listener

#### 使用Gradle构建时添加以下依赖即可:
```javascript
implementation 'org.xutils:xutils:3.9.0'
```

#### 混淆配置参考示例项目sample的配置
[这里可以下载aar文件](http://dl.bintray.com/wyouflf/maven/org/xutils/xutils/)


### 常见问题:
1. 更好的管理图片缓存: https://github.com/wyouflf/xUtils3/issues/149
2. Cookie的使用: https://github.com/wyouflf/xUtils3/issues/125
3. 关于query参数? http请求可以通过 header, url, body(请求体)传参; query参数是url中问号(?)后面的参数.
4. 关于body参数? body参数只有PUT, POST, PATCH, DELETE(老版本RFC2616文档没有明确指出它是否支持, 所以暂时支持)请求支持.
5. 自定义Http参数对象和结果解析: https://github.com/wyouflf/xUtils3/issues/191
6. 设置了http超时时间为5s但任然等待15s左右: GET请求失败后默认会重试2次, 可以通过setMaxRetryCount(0)来防止请求自动重试.
7. @Event注解同一个id子类的事件会覆盖父类, onClickListener和onItemClickListener默认屏蔽了双击这种手机上不常用操作, 如需要双击支持可以自己setOnClickListener.

#### 使用前配置
##### 需要的权限
```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 可选 -->
```
##### 初始化
```java
// 在application的onCreate中初始化
@Override
public void onCreate() {
    super.onCreate();
    x.Ext.init(this);
    x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能.
    ...
}
```

### 使用@Event事件注解(@ContentView, @ViewInject等更多示例参考sample项目)
```java
/**
 * 1. 方法必须私有限定,
 * 2. 方法参数形式必须和type对应的Listener接口一致.
 * 3. 注解参数value支持数组: value={id1, id2, id3}
 * 4. 其它参数说明见{@link org.xutils.event.annotation.Event}类的说明.
 **/
@Event(value = R.id.btn_test1,
        type = View.OnClickListener.class/*可选参数, 默认是View.OnClickListener.class*/)
private void onTest1Click(View view) {
...
}
```

### 使用数据库(更多示例参考sample项目)
```java
Parent test = db.selector(Parent.class)
                    .where("id", "in", new int[]{1, 3, 6})
                    .or("age", "<", 29)
                    .findFirst();
long count = db.selector(Parent.class)
                    .where("name", "LIKE", "w%")
                    .and("age", ">", 32)
                    .count();
List<Parent> testList = db.selector(Parent.class)
                    .where("id", "between", new String[]{"1", "5"})
                    .findAll();
List<DbModel> list = db.selector(Child.class)
                    .where("age", "<", 18)
                    .groupBy("parentId")
                    .having(WhereBuilder.b("COUNT(parentId)", ">", 1))
                    .select("parentId, COUNT(parentId) as childNum")
                    .findAll();
```

### 访问网络(更多示例参考sample项目)
#### 如果你只需要一个简单的网络请求:
```java
@Event(value = R.id.btn_test2)
private void onTest2Click(View view) {
    RequestParams params = new RequestParams("https://www.baidu.com/s");
    // params.setSslSocketFactory(...); // 如果需要自定义SSL
    params.addQueryStringParameter("wd", "xUtils");
    x.http().get(params, new Callback.CommonCallback<String>() {
        @Override
        public void onSuccess(String result) {
            Toast.makeText(x.app(), result, Toast.LENGTH_LONG).show();
        }

        @Override
        public void onError(Throwable ex, boolean isOnCallback) {
            Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCancelled(CancelledException cex) {
            Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onFinished() {

        }
    });
}
````
#### json或protobuf类型请求的处理
```java
/**
 * 自定义实体参数类请参考:
 * 请求注解 {@link org.xutils.http.annotation.HttpRequest}
 * 请求注解处理模板接口 {@link org.xutils.http.app.ParamsBuilder}
 *
 * 需要自定义类型作为callback的泛型时, 参考:
 * 响应注解 {@link org.xutils.http.annotation.HttpResponse}
 * 响应注解处理模板接口 {@link org.xutils.http.app.ResponseParser}
 *
 * 示例: 查看 org.xutils.sample.http 包里的代码
 */
JsonDemoParams params = new JsonDemoParams();
params.wd = "xUtils";
// 有上传文件时使用multipart表单, 否则上传原始文件流.
// params.setMultipart(true);
// 上传文件方式 1
// params.uploadFile = new File("/sdcard/test.txt");
// 上传文件方式 2
// params.addBodyParameter("uploadFile", new File("/sdcard/test.txt"));
Callback.Cancelable cancelable
       = x.http().get(params,
       /**
       * 1. callback的泛型:
       * callback参数默认支持的泛型类型参见{@link org.xutils.http.loader.LoaderFactory},
       * 例如: 指定泛型为File则可实现文件下载, 使用params.setSaveFilePath(path)指定文件保存的全路径, 默认支持断点续传(采用了文件锁防止多线程/进程修改文件,及文件末端校验续传文件的一致性).
       * 
       * 自定义callback的泛型支持方案1, 自定义某一Class的转换(不够灵活): 
       * 结合PrepareCallback的两个泛型参数, 第一个泛型参数类型使用LoaderFactory已经支持的, 第二个泛型参数作为最终输出, 需要在prepare方法中自己实现.
       * 一个稍复杂的例子可以参考{@link org.xutils.image.ImageLoader}
       *
       * 自定义callback的泛型支持方案2, 自定义一类数据的自动转化: 
       * 将注解@HttpResponse加到自定义返回值类型上, 实现自定义ResponseParser接口来统一转换.
       * 如果返回值是json/xml/protobuf等数据格式, 那么利用第三方的json/xml/protobuf等工具将十分容易定义自己的ResponseParser.
       * 如示例代码{@link org.xutils.sample.http.JsonDemoResponse}, 可直接使用JsonDemoResponse作为callback的泛型.
       *
       * 2. callback的组合:
       * 可以用基类或接口组合个种类的Callback, 见{@link org.xutils.common.Callback}.
       * 例如:
       * a. 组合使用CacheCallback将使请求检测缓存或将结果存入缓存(仅GET和POST请求生效).
       * b. 组合使用PrepareCallback的prepare方法将为callback提供一次后台执行耗时任务的机会, 然后将结果给onCache或onSuccess.
       * c. 组合使用ProgressCallback将提供进度回调.
       * 可参考{@link org.xutils.image.ImageLoader} 或 示例代码中的 {@link org.xutils.sample.download.DownloadCallback}
       *
       * 3. 请求过程拦截或记录日志: 参考 {@link org.xutils.http.app.RequestTracker}
       *
       * 4. 请求Header获取: 参考 {@link org.xutils.sample.http.JsonResponseParser} 或 {@link org.xutils.http.app.RequestInterceptListener}
       *
       * 5. 其他(线程池, 超时, 重定向, 重试, 代理等): 参考 {@link org.xutils.http.RequestParams}
       *
       **/
       new Callback.CommonCallback<JsonDemoResponse>() {
           @Override
           public void onSuccess(JsonDemoResponse result) {
               Toast.makeText(x.app(), result.toString(), Toast.LENGTH_LONG).show();
           }

           @Override
           public void onError(Throwable ex, boolean isOnCallback) {
               //Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();
               if (ex instanceof HttpException) { // 网络错误
                   HttpException httpEx = (HttpException) ex;
                   int responseCode = httpEx.getCode();
                   String responseMsg = httpEx.getMessage();
                   String errorResult = httpEx.getResult();
                   // ...
               } else { // 其他错误
                   // ...
               }
               Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();
           }

           @Override
           public void onCancelled(CancelledException cex) {
               Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
           }

           @Override
           public void onFinished() {

           }
       });

// cancelable.cancel(); // 取消请求
```
#### 带有缓存的请求示例:
```java
JsonDemoParams params = new JsonDemoParams();
params.wd = "xUtils";
// 默认缓存存活时间, 单位:毫秒.(如果服务没有返回有效的max-age或Expires)
params.setCacheMaxAge(1000 * 60);
Callback.Cancelable cancelable
       // 使用CacheCallback, xUtils将为该请求缓存数据.
      = x.http().get(params, new Callback.CacheCallback<JsonDemoResponse>() {

   private boolean hasError = false;
   private String result = null;

   @Override
   public boolean onCache(JsonDemoResponse result) {
      // 得到缓存数据, 缓存过期后不会进入这个方法.
      // 如果服务端没有返回过期时间, 参考params.setCacheMaxAge(maxAge)方法.
        //
        // * 客户端会根据服务端返回的 header 中 max-age 或 expires 来确定本地缓存是否给 onCache 方法.
        //   如果服务端没有返回 max-age 或 expires, 那么缓存将一直保存, 除非这里自己定义了返回false的
        //   逻辑, 那么xUtils将请求新数据, 来覆盖它.
        //
        // * 如果信任该缓存返回 true, 将不再请求网络;
        //   返回 false 继续请求网络, 但会在请求头中加上ETag, Last-Modified等信息,
        //   如果服务端返回304, 则表示数据没有更新, 不继续加载数据.
        //
        this.result = result;
        return false; // true: 信任缓存数据, 不在发起网络请求; false不信任缓存数据.
   }

   @Override
   public void onSuccess(JsonDemoResponse result) {
      // 注意: 如果服务返回304 或 onCache 选择了信任缓存, 这时result为null.
        if (result != null) {
          this.result = result;
      }
   }

   @Override
   public void onError(Throwable ex, boolean isOnCallback) {
      hasError = true;
      Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();
      if (ex instanceof HttpException) { // 网络错误
         HttpException httpEx = (HttpException) ex;
         int responseCode = httpEx.getCode();
         String responseMsg = httpEx.getMessage();
         String errorResult = httpEx.getResult();
         // ...
      } else { // 其他错误
         // ...
      }
   }

   @Override
   public void onCancelled(CancelledException cex) {
      Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
   }

   @Override
   public void onFinished() {
      if (!hasError && result != null) {
         // 成功获取数据
         Toast.makeText(x.app(), result, Toast.LENGTH_LONG).show();
      }
   }
});
```

### 绑定图片(更多示例参考sample项目)
```java
x.image().bind(imageView, url, imageOptions);

// assets file
x.image().bind(imageView, "assets://test.gif", imageOptions);

// resources file
x.image().bind(imageView, "res://" + R.minimap.test, imageOptions);

// local file
x.image().bind(imageView, new File("/sdcard/test.gif").toURI().toString(), imageOptions);
x.image().bind(imageView, "/sdcard/test.gif", imageOptions);
x.image().bind(imageView, "file:///sdcard/test.gif", imageOptions);
x.image().bind(imageView, "file:/sdcard/test.gif", imageOptions);

x.image().bind(imageView, url, imageOptions, new Callback.CommonCallback<Drawable>() {...});
x.image().loadDrawable(url, imageOptions, new Callback.CommonCallback<Drawable>() {...});
// 用来获取缓存文件
x.image().loadFile(url, imageOptions, new Callback.CommonCallback<File>() {...});
```
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (28)

加载中
打分: 力荐
非常不错,证在在使用,还解决多文件文件同时上传的问题
2017/09/07 16:49
回复
举报
打分: 力荐
Android 企业级项目实战开发视频资料 加群:595642365 领取 群验证:01
2017/06/09 11:56
回复
举报
为什么xutils官方没有不给xutils+加入httpDNS的实例呢
2017/05/24 12:05
回复
举报
xutils3.0 显示GIF的时候,感觉比真实的Gif要满呢?这个是需要设置什么参数吗?
2016/12/30 17:56
回复
举报
wyouflf软件作者
callback的回调里可以拿到GifDrawable, GifDrawable.setRate(...), 可以设置刷新间隔.
2019/09/21 22:50
回复
举报
github访问不了,提示证书错误,怎么办 xUtils
2013/12/10 15:36
回复
举报
dbutils好像不支持多线程操作数据库 xUtils
2014/11/25 12:27
回复
举报
wyouflf软件作者
支持的哦
2019/09/08 21:30
回复
举报
对啊,DbUtils不支持多线程操作数据库,我这个项目用的就是这个,很蛋疼啊 xUtils
2015/01/21 13:51
回复
举报
wyouflf软件作者
支持的, 不要掉用close, 多线程用同一个实例.
2019/09/08 21:33
回复
举报
您好 我想请问一下 如何在send(HttpMethod.GET,url,new RequestCallBack<String>() { public void onFailure(HttpException arg0, String arg1){ }) 在onFailure方法中获取 HttpResponse #xUtils#
2015/04/16 17:50
回复
举报
提交了一个关于多个orderby的bug,请留意。 #xUtils#
2015/04/21 16:40
回复
举报
好像有很长时间没有更新了啊?为什么? #xUtils#
2015/04/21 23:08
回复
举报
wyouflf软件作者
最近开始更新了, 最新版本3.6.9, https://github.com/wyouflf/xUtils3
2019/09/11 09:22
回复
举报
更多评论
发表于大前端专区
2020/08/04 10:21

xUtils 3.9.0 发布,Android 工具库

感谢关注xUtils的开发者最近一段时间给予的热心反馈,近期优化和处理了很多大家反馈的细节问题, 更新内容如下: 3.9.0 版本主要更新内容: gif图片默认参数优化, 播放更流畅 将混淆配置打包在aar中, 不必再为xUtils配置混淆规则. 允许自定义线程池looper 同时代码仓库已同步至码云: https://gitee.com/wyouflf/xUtils3

3
10
发表于大前端专区
2019/10/19 13:19

xUtils 3.8.3 发布,Android 工具库

感谢关注xUtils的开发者最近一段时间给予的热心反馈,近期优化和处理了很多大家反馈的细节问题, 更新内容如下: 3.8.3版本主要更新内容: Http默认重定向实现支持相对路径 优化db初始化接口, 增加TableEntity#createTableIfNotExists(), 方便主动创建表(默认首次存入数据前创建) 更好的为protobuf请求提供缓存支持 3.6.19版本主要更新内容: 支持res文件的资源图片加载, 图片加载回调优化 修复调用api停止gif播放后, 重试开始不播放...

4
8
发表于大前端专区
2019/09/18 20:08

xUtils 3.6.19 发布,Android 工具库

感谢关注xUtils的开发者最近一段时间给予的热心反馈,3.5.0之后很长一段时间没有更新, 最近优化和处理了很多大家反馈的细节问题. 近期3.6.19版本主要更新内容: 支持res文件的资源图片加载, 图片加载回调优化 修复调用api停止gif播放后, 重试开始不播放的问题 修复rfc2616要求上行必须提供有效的Content-Length的问题 替换系统api标记为@deprecated的方法 其他多处性能和错误提示优化 同时代码仓库同步至码云: https://gitee.com...

3
13
发表了资讯
2017/04/05 05:33

xUtils 3.5.0发布 - Android 工具库

xUtils3简介 * xUtils 包含了orm, http(s), image, view注解, 但依然很轻量级(246K), 并且特性强大, 方便扩展: - `稳定的基石`: `AbsTask`和统一的回调接口`Callback`, 任何异常, 即使你的回调方法实现有异常都会进入`onError`, 任何情况下`onFinished`总会让你知道任务结束了. - 基于高效稳定的`orm`工具, `http`模块得以更方便的实现cookie(支持domain, path, expiry等特性)和 缓存(支持Cache-Control, Last-Modified, ETag等...

6
31
发表了资讯
2015/12/25 00:00

xUtils 3.1.22 更新 修复API 14之前的系统偶发EOF问题

感谢关注xUtils的网友最近一段时间给予的热心反馈,最近优化和处理了很多大家反馈的细节问题. 近期主要更新内容: * 修复Android4.4之前HttpUrlConnection偶发的EOFException问题 * 优化ObjectLoader, 更好的支持List类型的泛型 * 支持HTTP请求的数组参数(可添加重复的参数名) * 其他稳定性和接口优化 __________________________________________ 3.0是一次彻底的重构, api发生了很大变化, 但是仍然保持着xUtils一贯的简介风格,...

14
26
发表了资讯
2015/11/05 00:00

xUtils 3.0 发布 api重构 数据库操作性能大幅提升

感谢关注xUtils的网友最近一段时间给予的热心反馈,最近工作比较忙, 很多大家发来的邮件都没有及时回复, 稍后我会回复大家。 3.0是一次彻底的重构, api发生了很大变化, 但是仍然保持着xUtils一贯的简介风格, 并且新的api更加简单, 更具扩展性. 新的特性: HTTP实现替换HttpClient为UrlConnection, 更好的兼容Android 6.0, 自动解析回调泛型, 更安全的断点续传策略. 支持标准的Cookie策略, 区分domain, path... 事件注解去除不常用...

30
54
发表了资讯
2014/04/19 00:00

xUtils 2.5.4 发布,重构事件注入模型.

感谢关注xUtils的网友最近一段时间给予的热心反馈,最近工作比较忙, 很多大家发来的邮件都没有及时回复, 稍后我会回复大家。 最近主要更新内容: * 使用动态代理重构事件注入模型, 使用方式没有变化, 自定义事件更加方便. * 其他细节优化详情见: https://github.com/wyouflf/xUtils/commits/master xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全...

8
52
发表了资讯
2014/02/28 00:00

xUtils 2.4.7 发布, 修复上传多文件到php的bug

感谢关注xUtils的网友最近一段时间给予的热心反馈,最近工作比较忙, 很多大家发来的邮件都没有及时回复, 稍后我会回复大家。 最近主要更新内容: * 修复BitmapUtils下载错误文件后,一直使用错误文件的问题. * 修复一处来自HttpClient的文件上传bug. * 加入@ContentView注解,用于Activity,见sample. * DbUtils写操作加入锁,防止多线程操作写入异常. * 更多详情见: https://github.com/wyouflf/xUtils/commits/master xUtils简...

5
25
发表了资讯
2013/12/10 00:00

xUtils 2.4.2 发布,细节优化

感谢关注xUtils的网友最近一段时间给予的热心反馈,自从2.3.1里程碑杯发布功能已非常稳定。 最近主要更新内容: * bitmap模块取消清除缓存时displayConfig参数 。 * 更新DbUpgradeListener,更加灵活的升级接口支持。 * @ViewInject注解和事件添加parentId属性支持。 * 更多详情见: https://github.com/wyouflf/xUtils/commits/master xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 最初源于Afinal框架,进行了大量重...

10
32
发表了资讯
2013/12/01 00:00

xUtils 2.3.6 发布-细节优化

感谢关注xUtils的网友最近一段时间给予的热心反馈,自从2.3.1里程碑杯发布已经功能已非常稳定。最近一周主要进行了一些细节上的优化。 2.3.6主要更新内容: * BitmapLoadCallBack添加onLoading回调,用于显示进度。 * @Table注解添加execAfterTableCreated属性,可自定义表创建之后要执行的sql。 * 在sd卡上创建数据库文件时目录不存在时自动创建。 * Bitmap模块添加图片自动旋转设置。 * 更多详情见: https://github.com/wyou...

7
27
发表了资讯
2013/11/25 00:00

xUtils 2.3.1 发布-里程碑版本,更加稳定...

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定。 希望使用1.*.*等早期版本的用户升级至最新的版本, 以使后期继续升级更加方便, 早期版本功能不够完善api经常变动, 未考虑兼容问题. 升级到最新版以后可以获得更稳定易用的功能和更好的兼容保证. 2.3.1主要更新内容: * HttpUtils模块优化url编码方案,自动处理path和query中的空格。 * BitmapUtils默认支持读取assets中的...

13
30
发表了资讯
2013/11/20 00:00

xUtils 2.2.4 发布-细节优化,加速bitmap加载...

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定。 希望使用1.*.*等早期版本的用户升级至最新的版本, 以使后期继续升级更加方便, 早期版本功能不够完善api经常变动, 未考虑兼容问题. 升级到最新版以后可以获得更稳定易用的功能和更好的兼容保证. 2.2.4主要更新内容: * 优化网络速度慢时加载过多bitmap下载任务使新任务长时间等待的问题 * HttpCache支持更多请求类型(默认...

10
30
发表了资讯
2013/11/12 00:00

xUtils 2.1.3 发布-细节优化,更多示例代码...

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定。 希望使用1.*.*等早期版本的用户升级至最新的版本, 以使后期继续升级更加方便, 早期版本功能不够完善api经常变动, 未考虑兼容问题. 升级到最新版以后可以获得更稳定易用的功能和更好的兼容保证. 2.1.3主要更新内容: * 新增HttpHandler增加getState方法获取请求状态 * 其他更新内容见:https://github.com/wyouflf/xUtils/...

8
27
发表了资讯
2013/11/09 00:00

xUtils 2.0 发布 - 资源注解支持,orm模块优化...

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定。 2.0主要更新内容: * 新增3个HTTP谓词支持(现在支持的有:GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT); * view注入新增3个事件支持,添加资源注解支持; * orm模块优化,列转换接口优化。 更多介绍,源码和示例代码下载:https://github.com/wyouflf/xUtils 详细更新记录见:https://githu...

12
27
发表了资讯
2013/11/06 00:00

Android工具库xUtils1.9.8发布-orm性能优化,图片加载优化...

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定。 1.9.8主要更新内容: * orm模块添加列类型转换接口,支持自定义类型字段作为列映射; * bitmap模块优化默认参数,取消默认动画,加载更快速。 * 有个别包名变化,eclipse或其他ide遇到包找不到的问题,重新引入即可。 更多介绍,源码和示例代码下载:https://github.com/wyouflf/xUtils 详细更新记录见:https://github....

11
48
发表了资讯
2013/11/03 00:00

xUitls 1.9.6 发布 - 大量细节优化,稳定易用

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定。 1.9.6主要更新内容:Bitmap加载动画有时重复出现的问题修复,加载过程优化; Http模块RequestCallBack等优化。 更多介绍,源码和示例代码下载:https://github.com/wyouflf/xUtils 详细更新记录见:https://github.com/wyouflf/xUtils/commits/master xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 最初源于A...

18
42
发表了资讯
2013/10/30 00:00

xUtils 1.8.8 里程碑版发布- 建议更新

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定下来,接下来更新将会变缓,但会更有计划性,紧急更新除外(xUtils的用户最有体会,xUitls常常在用户反馈以后1, 2个小时可能就会立即更新)。 更多介绍,源码和示例代码下载:https://github.com/wyouflf/xUtils 详细更新记录见:https://github.com/wyouflf/xUtils/commits/master xUtils简介 xUtils 包含了很多实用的and...

8
22
发表了资讯
2013/10/28 00:00

xUtils 1.8.4 (Android工具库) 发布 - http模块优化

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化,同时修复和优化了大家反馈的一些问题。重要的变化有http请求返回更全面的结果信息;下载设置断点续下时,如果服务器不支持RANGE参数将自动重新开始... 更多介绍,源码和示例代码下载:https://github.com/wyouflf/xUtils 详细更新记录见:https://github.com/wyouflf/xUtils/commits/master xUtils简介 xUtils 包含了很多实用的android工具。 xU...

6
65
发表了资讯
2013/10/17 00:00

xUtils 1.6.6 (Android工具库) 发布 - Bitmap模块优化

感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期在bitmap模块进行了很多优化,同时修复和优化了大家反馈的一些问题。 更多介绍,源码和示例代码下载:https://github.com/wyouflf/xUtils 详细更新记录见:https://github.com/wyouflf/xUtils/commits/master xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持...

19
104
发表了资讯
2013/10/07 00:00

xUtils 1.5.1 (Android工具库) 稳定版发布

最近一段时间处理了大量用户的反馈,在易用性和稳定性上得到了很大的提升,同时xUtils也将系统兼容性由原来的 Android2.3.3(api 10) 降低到 Android2.2(api 8), 以满足更多用户的需求。 xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls最低兼容android...

14
59
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2014/10/11 19:16

xutils

官网地址:https://github.com/wyouflf/xUtils #趣米杯#快速开发之xUtils(一)简介以及使用方法 http://www.apkbus.com/android-157640-1-1.html #趣米杯#快速开发之xUtils(二)ViewUtils介绍 http://www.apkbus.com/forum.php?mod=viewthread&tid=157641&highlight=%23%E8%B6%A3%E7%B1%B3%E6%9D%AF%23%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E4%B9%8BxUtils #趣米杯#快速开发之xUtils(三)DbUtils介绍 http://www.apkbus.com/andr...

0
2
发表了博客
2014/03/23 14:29

xUtils简介

xUtils 包含了很多实用的android工具。 xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls最低兼容android 2.2 (api level 8) 目前xUtils主要有四大模块: DbUtils模块: android中的orm框架,一行代码就可以进行增删改查; 支持事务,默认关闭; 可通过注解自定义表名,列名,外键,唯一性约束,NOT...

1
17
发表了博客
2014/08/14 12:53

xUtils框架

xUtils 包含了很多实用的android工具。xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响。同时需要注意的是,xUitls最低兼容android 2.2 (api level 8) 。今天我们的主题是整体介绍下xUtils,主要介绍它重要的四大组件。具体各个组件的使用,会在之后几天陆续为大家奉上。下面开始: 一、ViewUtils 你受够了重复冗长...

1
16
发表了博客
2013/10/31 22:39

xUtils框架的介绍

微信账号申请终于通过了,这是我们第一次Android干货分享。想来是第一次,要对得起“干货”二字。今天我要为大家推荐的是一个Android基于快速开发的一个框架——xUtils,它是在aFinal基础上进行重构和扩展的框架,相比aFinal有很大的改善。同时,如果如果你的应用是基于网络的,那么只要处理得当,它会让你彻底的摆脱各种工具类和重复代码的困扰。好的,废话不多说,程序猿们还是代码说起。 xUtils 包含了很多实用的android工具...

6
25
发表了博客
2018/01/14 20:41

自定义xUtils框架

xUtils是基于Afinal开发的目前功能比较完善的一个Android开源框架,最近又发布了xUtil3.0,在增加新功能的同时又提高了框架的性能。它的功能很强大,但是有时候我们只需要其中的一些功能,如果把整个xUtils引进去没什么必要。 下面我们就讲讲如何自定义小型的xUtils,只有两个功能:通过注解找到省去findViewById()和setContentView(). 一、首先:要自定义两个注解: (1)找到activity视图的注解,即用来省去setContentView()的...

0
0
发表了博客
2015/04/02 12:59

Xutils 源码解析

1. 功能介绍 xUtils一个Android公共库框架,主要包括四个部分:View,Db, Http, Bitmap 四个模块。 View模块主要的功能是通过注解绑定UI,资源,事件。 Db模块是一个数据库orm框架, 简单的语句就能进行数据的操作。 Http模块主要访问网络,支持同步,异步方式的请求,支持文件的下载。 Bitmap模块是加载图片以及图片的处理, 支持加载本地,网络图片。而且支持图片的内存和本地缓存。 2. 详细设计 2.1 View模块 2.1.1 总体设计...

0
3
发表了博客
2014/08/20 13:35

xUtils项目框架

xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls 最低兼容android 2.2 (api level 8) 目前xUtils主要有四大模块: DbUtils模块: android中的orm框架,一行代码就可以进行增删改查; 支持事务,默认关闭; 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的...

0
0
发表了博客
2013/11/05 21:54

xUtils框架的介绍(四)

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

13
33
发表了博客
2013/11/04 23:11

xUtils框架介绍(三)

接上回,继续介绍xUtils的最后两个模块:DbUtils和HttpUtils。首先先介绍第一个SQLite数据库操纵的简单ORM框架,只要能理解xUtils为我们提供的api,相信你也能熟练的把DbUtils用到项目中去。 操纵数据库的工具类,无论多牛X,总离不开最根本的CRUD,即创建,查询,更新和删除。下面从这四个角度依次介绍xUtils是如何简便持久化数据的。大家都知道,在Android里面如果要存储一个对象,我们需要创建一个SQLiteOpenHelper,然后还得...

2
21
发表了博客
2013/11/01 21:55

xUtils框架介绍(二)

昨天对xUtils整体上做了一个简单的介绍,今天咱们就代码码起,真刀实枪的也看看,看看如何快速便捷的把xUtils给集成到大家的项目中去。xUtils中有四大组件可以供我们使用,分别是ViewUtils、HttpUtils、BitmapUtils以及DbUtils。如果你没能先读一下我的上一篇文章,那么请你移步过去先整体了解一下,再回过头来看这篇文章,相信你回更有体会的。 下面依次开始介绍这些组件具体的使用。 一、ViewUtils android中得ioc(控制反转)...

8
34
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2013/12/08 11:27

xUtils是否支持多文件上传

我想请问一下xutils是否支持多文件上传,这个有没做队列上传处理。能告诉我具体如何操作吗?

7
0
发表了问答
2015/05/26 12:56

为什么有时候有个方形背景,有时候显示正常的圆形

这个人的头像,有时候会有方形的背景(图片左上角位置),即使多刷新几遍,还是改不回来,然后退出,重新进去,又回复到正常的圆形头像,方形背景消失,请问这是为什么哦?这人头像的imageview是一个自定义的圆形头像imageView,这头像使用的xutil加载头像的办法实现的,见下面代码, hodler.teacherImageView.setTag(uri); bitmapUtils.display(hodler.teacherImageView, uri,new BitmapLoadCallBack<View>() { @Override pub...

1
0
发表了问答
2016/05/17 20:05

xutils3中x.http().getSync同步访问网络的方法参数如何设置??

需要用到utils3的同步访问网络的方法,发现参数不知道怎样设置,试了很多次都失败了,求大神解答 <T> T getSync(RequestParams entity, Class<T> resultType) throws Throwable;这是xutils3中同步的方法 x.http().getSync(params, )第一个参数我知道是设置网址的,第二个返回的结果该如何写??

6
0
发表了问答
2015/05/09 15:33

android studio module中不能使用xutil/afinal/butterknife等工具?

一个项目分割为若干module部分,比如item、order、cart 有一个主项目,apply plugin: 'com.android.application',其他modue都是apply plugin: 'com.android.library' 在application项目中,可以使用@ViewInject(R.id.back) 这样得语法 在library项目中,R.id.back无法找到资源。但是在onCreate方法里面却可以,也就是说无法再注解里面使用R文件。 截图如下...

4
0
发表了问答
2014/11/18 12:18

Xutils下载,断点续传功能,显示进度错乱

大家好,我正在使用Xutils进行项目中的断点续传,作者在文档中写到如果支持断点续传必须服务器端支持 RANGE,在运行过程中如果不断点正常下载,但是只要一暂停,回调onloading的total值就会变大,实际断点续传功能已经实现,只是total变大,导致进度条显示,先回退,然后再前进,最后还不能达到满进度,但是下载已经完成,我怀疑是服务器端和xutils的接收发送的格式不正确导致的,请问有没有人能为我指明方向,感激不尽。...

5
0
发表了问答
2015/02/03 15:37

android xutils

@Jack_1900 你好,想跟你请教个问题:你好请问下,xutils怎么添加自己的缓存

1
0
发表了问答
2016/05/31 11:38

android 使用xUtils上传大文件时网络连接中断 是怎么回事?

我在使用android 的开源框架xUtils时 上传一个30M大小的视频文件的时候 上传过程中会网络连接中断 xUtils的版本是2.6.14版本 这是报错信息有大神帮我找下原因么 HttpUtils https = new HttpUtils(600*1000); 网络连接超时时间我写上去了 然后 API文档里面的方法我也调用过 还是没什么用

2
0
发表了问答
2016/05/11 16:32

xutils下载文件的路径含有中文,走error,怎么解决?

用get请求下载音乐,路径是 String mFileName = "http://69.165.75.47/光辉岁月.mp3"; 05-11 04:21:27.633 3671-3671/com.example.wulsh.myapplication I/CMCC: onError,Not Found 05-11 04:21:27.633 3671-3671/com.example.wulsh.myapplication I/CMCC: onFinished 怎么解决啊?...

7
0
发表了问答
2016/05/11 15:55

如何在servlet里面接收到Android端传过来的Json数据(利用HttpUtils框架传的)

最近在做一个Android——Web两边关联的点菜APP,在Android端利用httpUtils上传菜单的时候(已经组织为Json数据形式,检查内容正确),不知道在web段的相应servlet里面如何获取到该Json并且解析,请路过的各位帮一下忙,谢谢! Android端代码: public void sendHTTPRequest(String url, int progressStringID, JsonObject jsonObject) {     // TODO Auto-generated method stub     initDiaglog(progressStringID);     RequestPara...

5
1
发表了问答
2016/04/22 18:47

使用xutils里面的HttpUtils时候如何在servlet中向其传回一个值???纠结好久!

最近在学习使用xutils,这个问题困扰我好久,应该是个小问题但是就是不知道如何解决,网上也搜不到解决方法,请大家帮帮忙~ 问题具体描述:做一个app开发,android端用户输入用户名和密码登录,传值到tomcat那面,servlet连数据库进行核验,这些都弄好了,就是在进行核验之后需要返回一个布尔值,从服务器端传到android端,如何编写代码才能让android端的HttpUtils里面的send方法的callback里面的onSuccess方法的参数接收到? ...

7
0
发表了问答
2016/03/18 17:10

field id not found

dbutils保存user的时候报 field id not found,我的user是有id属性的啊

1
0
发表了问答
2016/03/21 16:54

XUtils请求JSon数据里的一处错误

昨天写了一个通过解析JSon数据显示ListVew列表的效果,结果因为android不能在主线程里进行http请求,所以想利用Xutil来完成,我按照教程写了一个最简单的get方法,代码如下 package com.example.demo2; import com.example.demo2.R; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.Request...

1
0
发表了问答
2016/02/12 20:52

Xutils3如何访问自制证书的https请求

@wyouflf 你好,想跟你请教个问题: Xutils3 里面params.setSslSocketFactory(sslSocketFactory); 这个sslSocketFactory 如何构建啊 是自制证书的吗 证书怎么放进去啊?

5
0
发表了问答
2016/03/02 19:33

Utils 中的 dbutils 如何存储 对象中的对象的

我现在做一个的一个项目中需要保存,一个对象,但是 对象中含有一个对象,现在的问题的是,其他的字段属性都能保存上,就其中的对象保存不了,怎么做

1
0
发表了问答
2015/05/16 23:12

xUtils使用注解时报null

@ViewInject(R.id.start_logo) LinearLayout startLogo; startLogo.startAnimation(logoAs); java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cnvp.zstunews/com.cnvp.zstunews.ui.Start}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.startAnimation(android.view.animation.Animation)' on a null object reference 这是为啥呢?为啥呢?...

3
0
发表了问答
2015/04/17 10:12

如何在xutils访问网络的onFailure方法中获取HttpResponse

@wyouflf 你好,想跟你请教个问题:在xutils中如何在send(HttpMethod.GET,url,new RequestCallBack<String>() { public void onFailure(HttpException arg0, String arg1){ }) 在onFailure方法中获取 HttpResponse? 我目前用的方法是在onFailure方法中HttpResponse resp=http.getHttpClient().execute(hg); 再执行一次, 请问有没有只需要执行一次的方法 谢谢!...

30
0
发表了问答
2014/09/14 00:02

关于xUtils的使用疑惑

android那个使用这个它是这样给我传值的。 params.addBodyParameter("userId", "1"); params.addBodyParameter("title", "123"); params.addBodyParameter("content", c); 我是这样接受参数的哪里总是提示网络异常:请问这样有问题吗? @RequestMapping(value = "add", method = RequestMethod.POST)   @ResponseBody   public Map<String, Object> addWei(@RequestParam("title") String title, @RequestParam("userId") long u...

8
1
发表了问答
2015/03/19 11:14

xutils图片闪烁的问题

String uri=TeacherConstant.SERVICEADDRS_NEW+classCircleDynInfoList.get(position).getFace(); hodler.teacherImageView.setTag(uri); bitmapUtils.configDefaultLoadFailedImage(R.drawable.load_failed_bit); bitmapUtils.configDefaultLoadingImage(R.drawable.s5_small); bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565); bitmapUtils.displayRound(hodler.teacherImageView, uri); 我要实现一个类似班级...

2
0
发表了问答
2016/01/25 13:31

@wyouflf 你好,在xUtils3 中我找不到download以及 onloading 方法了,下载功能要怎么用呢?

@wyouflf 你好,在xUtils3 中我找不到download以及 onloading 方法了,下载功能要怎么用呢?

1
0
发表了问答
2016/01/19 17:07

xutils的https问题解决了吗

@您的好友 你好,想跟你请教个问题:xutils的https问题解决了吗

5
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
28 评论
758 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部