博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XUtils3框架的初始体验(一)
阅读量:5169 次
发布时间:2019-06-13

本文共 2537 字,大约阅读时间需要 8 分钟。

 

 

1、开源地址  

       

     如果使用eclipse可以 , 然后用zip解压, 取出jar包和so文件.

2、导入工程 

    使用Gradle构建时添加一下依赖即可:
    

compile 'org.xutils:xutils:3.2.2'

   

 使用Eclipse构建时操作步骤如下:

 1、下载aar文件并使用然后用zip解压, 取出jar包和so文件.

       

  2、将xutils-3.2.0.jar 以及armeabi添加到工程的libs中即可。

3、简单介绍

    XUtils3一共有4大功能:注解模块,网络模块,图片加载模块,数据库模块。 

注解模块

Activity的注解 

1.在Application的oncreate方法中加入下面代码: 
x.Ext.init(this); 

x.Ext.setDebug(BuildConfig.DEBUG);

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

 

   一下是一个简单的Demo 其中加载网络图片需要添加权限

 

 

项目目录截图 

  

@ContentView(R.layout.activity_main)public class MainActivity extends Activity {    private Context context;        @ViewInject(R.id.id_but1)    private Button button1;        @ViewInject(R.id.id_but2)    private Button button2;        @ViewInject(R.id.id_but_loadImg)    private Button id_but_loadImg;    @ViewInject(R.id.id_imgView)    private ImageView imageView;    ImageOptions imageOptions;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //注入view和事件        x.view().inject(this);         context=this;                imageOptions = new ImageOptions.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.drawable.ic_launcher)      //设置加载失败后的图片      .setFailureDrawableId(R.drawable.ic_launcher)      //设置使用缓存      .setUseMemCache(true)      //设置支持gif      .setIgnoreGif(false)      //设置显示圆形图片//      .setCircular(false)      .build();    }    @Event(value={R.id.id_but_loadImg})    private void loadImage(View view){        x.image().bind(imageView, "http://img2.3lian.com/2014/f2/164/d/17.jpg", imageOptions);    }        @Event(value={R.id.id_but1,R.id.id_but2},type=View.OnClickListener.class)     private void onClick(View view){        //必须为private         switch (view.getId()) {        case R.id.id_but1:            T.showLong(context, "点击了id_but1.....");            LogUtil.e("点击了id_but1.....");            break;        case R.id.id_but2:            T.showLong(context, "点击了id_but2.....");            break;        default:            break;        }    }

    源码下载地址:

    如果对你有帮助可以关注一下订阅号

   

转载于:https://www.cnblogs.com/zyw-205520/p/5121569.html

你可能感兴趣的文章
BeanShell简介
查看>>
python字符串操作
查看>>
不同程序语言的注释和变量要求
查看>>
语言基础(9):static, extern 和 inline
查看>>
ES5_03_Object扩展
查看>>
bzoj 2600: [Ioi2011]ricehub
查看>>
创建数据库,表
查看>>
工厂模式
查看>>
计算机网络基础知识
查看>>
C#里如何遍历枚举所有的项
查看>>
如何在键盘出现时滚动表格,以适应输入框的显示
查看>>
超级强大的鼠标手势工具
查看>>
常用Dockerfile举例
查看>>
jquery的ajax用法
查看>>
设计模式-策略模式(Strategy)
查看>>
django orm 数据查询详解
查看>>
JarvisOJ Basic 熟悉的声音
查看>>
C# list导出Excel(二)
查看>>
CAS 单点登录模块学习
查看>>
Android应用开发-网络编程①
查看>>