• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > xUtils3,xutils3github

xUtils3,xutils3github

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了xutils3,xutils3使用详解,xutils3下载,xutils3上传图片,android xutils3等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

xUtils3,xutils3github


1.简介

xUtils3 是 xUtils 的升级版,功能和性能都在提高,xUtils3 主要有四大模块:注解模块,联网模块,图片加载模块,数据库模块;

注解模块:

用于在 Activity 或者 Fragment 中初始化布局文件,便于代码更加简洁;

联网模块:

xUtils3 支持超大文件(超过 2G)上传,更全面的 http 请求协议支持(11 种谓词),拥有更加灵活的 ORM,更多的事件注解支持且不受混淆影响;

图片加载模块:

加载图片很方便并且不用担心内存溢出,还可以图片绑定支持 gif(受系统兼容性影响, 部分 gif 文件只能静态显示), webp; 支持圆角, 圆形, 方形等裁剪,支持自动旋转.

数据库模块:

数据库 api 简化提高性能, 达到和 greenDao 一致的性能

2.注解模块

①在 Activity 中使用注解

  1.在 Application 的 oncreate 方法中加入下面代码: x.Ext.init(this);
  2.在 Activity 的 oncreate 方法中加入下面代码: x.view().inject(this);
  3.加载当前的 Activity 布局需要如下注解: @ContentView 加入到 Activity 的上方 
  4.给 View 进行初始化需要如下注解: @InjectView
  5.处理控件的各种响应事件需要如下注解: @Envent

@Event(value = R.id.btn_database)
private void database(View view){
   Toast.makeText(XUtils3Activity.this, "进入数据库模块单独的",Toast.LENGTH_SHORT).show();
}

②在 Fragment 中使用注解

 在onCreateView()中return super.onCreateView(inflater, container, savedInstanceState);改为return x.view().inject(this,inflater,container);

@ContentView(R.layout.fragment_demo)
public class DemoFragment extends Fragment {
@ViewInject(R.id.btn_fragment) private Button button; private Context context; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context =getContext(); } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // return super.onCreateView(inflater, container, savedInstanceState); return x.view().inject(this,inflater,container); } }

3.联网模块

①xUtils3 的 Get 和 Post 请求文本

//1.Get请求
//2.Post请求
RequestParams params = new RequestParams("http://api.m.mtime.cn/PageSubArea/TrailerList.api");
x.http().post(params, new Callback.CommonCallback<String>() {
	@Override
	public void onSuccess(String result) {
		Log.e("TAG", "xUtis3联网请求成功==" + result);
//                textView.setText("Get请求的结果——————" + result);
		textView.setText("Post请求的结果——————" + result);
	}

	@Override
	public void onError(Throwable ex, boolean isOnCallback) {
		Log.e("TAG", "xUtis3联网请求失败==" + ex.getMessage());
		textView.setText("xUtis3联网请求失败==" + ex.getMessage());
	}

	@Override
	public void onCancelled(CancelledException cex) {
		Log.e("TAG", "onCancelled==" + cex.getMessage());
	}

	@Override
	public void onFinished() {
		Log.e("TAG","onFinished==");
	}
});

  

②xUtils3 文件下载

RequestParams params = new RequestParams("http://vfx.mtime.cn/Video/2016/09/15/mp4/160915092608935956_480.mp4");
//设置保存数据
params.setSaveFilePath(Environment.getExternalStorageDirectory() + "/atguigu/480.mp4");
//设置是否可以立即取消下载
params.setCancelFast(true);
//设置是否自动根据头信息命名
params.setAutoRename(false);
//设置断点续传
params.setAutoResume(true);
params.setExecutor(new PriorityExecutor(3, true));//自定义线程池,有效的值范围[1, 3], 设置为3时, 可能阻塞图片加载.

x.http().get(params, new Callback.ProgressCallback<File>() {
	/**
	 * 当下载成功的时候回调这个方法,并且把下载到哪个路径回传过来
	 * @param file
	 */
	@Override
	public void onSuccess(File file) {
		Log.e("TAG","onSuccess=="+file.toString());
		Toast.makeText(XUtils3NetActivity.this, "onSuccess=="+file.toString(), Toast.LENGTH_SHORT).show();
	}

	@Override
	public void onError(Throwable ex, boolean isOnCallback) {
		Log.e("TAG","onError=="+ex.getMessage());
	}

	@Override
	public void onCancelled(CancelledException cex) {
		Log.e("TAG","onCancelled=="+cex.getMessage());
	}

	@Override
	public void onFinished() {
		Log.e("TAG","onFinished==");
	}

	@Override
	public void onWaiting() {
		Log.e("TAG","onWaiting==");
	}

	@Override
	public void onStarted() {
		Log.e("TAG","onStarted==");
	}

	@Override
	public void onLoading(long total, long current, boolean isDownloading) {
		progressbar.setMax((int) total);
		progressbar.setProgress((int) current);
		Log.e("TAG", "onLoading=="+current+"/"+total+",isDownloading=="+isDownloading);
	}
});

  

③xUtils3 大文件上传

RequestParams params = new RequestParams("http://192.168.1.16:8080/FileUpload/FileUploadServlet");
//以表单方式上传
params.setMultipart(true);
//设置上传文件的路径
params.addBodyParameter("File",new File(Environment.getExternalStorageDirectory()+"/atguigu/480.mp4"),null,"oppo.mp4");
x.http().post(params, new Callback.ProgressCallback<File>() {
	/**
	 * 当下载成功的时候回调这个方法,并且把下载到哪个路径回传过来
	 * @param file
	 */
	@Override
	public void onSuccess(File file) {
		Log.e("TAG", "onSuccess==" + file.toString());
		Toast.makeText(XUtils3NetActivity.this, "onSuccess==" + file.toString(), Toast.LENGTH_SHORT).show();
	}

	@Override
	public void onError(Throwable ex, boolean isOnCallback) {
		Log.e("TAG", "onError==" + ex.getMessage());
	}

	@Override
	public void onCancelled(CancelledException cex) {
		Log.e("TAG", "onCancelled==" + cex.getMessage());
	}

	@Override
	public void onFinished() {
		Log.e("TAG", "onFinished==");
	}

	@Override
	public void onWaiting() {
		Log.e("TAG", "onWaiting==");
	}

	@Override
	public void onStarted() {
		Log.e("TAG", "onStarted==");
	}

	@Override
	public void onLoading(long total, long current, boolean isDownloading) {
		progressbar.setMax((int) total);
		progressbar.setProgress((int) current);
		Log.e("TAG", "onLoading==" + current + "/" + total + ",isDownloading==" + isDownloading);
	}
});

  

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • xUtils3,xutils3github

相关文章

  • 2017-05-26仿QQ空间根据位置弹出PopupWindow显示更多操作效果,popupwindow
  • 2017-05-26ListView的&#160;addHeaderView,addheaderview
  • 2017-05-26在Android Studio 配置OpenCV 3.1
  • 2017-05-26安卓开源项目周报0208,安卓开源项目0208
  • 2017-05-26Android安全专项-AndBug动态调试工具环境搭建
  • 2017-05-26Android开发:内存机制分析——堆和栈
  • 2017-05-26Android四种常见设计模式说明
  • 2017-05-26Volley 源码解析,volley源码解析
  • 2017-05-26更简单更全的material design状态栏
  • 2017-05-26Android Call(打电话)的基本知识详解,androidcall

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Fragment 重叠 遮盖问题,fragment遮盖
    • Android仿联系人列表分组悬浮列表实现,自定义PinnedHeaderListView实现
    • activity的横屏和竖屏设置,activity
    • Android SDK 与API版本对应关系,androidsdk
    • Android 5.0 Settings源码简要分析
    • Android之SQLite数据库篇,androidsqlite
    • 编译器开发系列--Ocelot语言2.变量引用的消解,编译器--ocelot
    • ListView 添加 HeaderView常见错误,listviewheaderview
    • Android Service 两种启动方式的区别,androidservice
    • Drawable资源的初步使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有