xUtils3自己努力摸索中(一)
来源:互联网 发布:淘宝汉服睡衣店铺推荐 编辑:程序博客网 时间:2024/05/29 10:42
xUtils3
主要听很多人说xUtils太重了,所以就只是用的时候,我就用用,没有认真去用,现在,就去认真用用,摸索这些框架,我个人比较懒吧,感觉还没出去工作就这么懒,哎,不多说,开始xUtils3的旅行吧…..
一 . >代码中的使用
简单使用注解模块
@ViewInject(R.id.button) private Button mButton; @ViewInject(R.id.imageView) private ImageView mImageView;
在使用前初始化一下
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //初始化 x.Ext.init(getApplication()); //view的注解,就不用findViewById() x.view().inject(this);
然后是事件
@Event 看源码就知道,里面写了, 方法一定要private,是中文的,哈哈,看着还是很爽的
@Event(value = {R.id.button}, type = View.OnClickListener.class) private void onClick(View view) { switch (view.getId()) { case R.id.button: Toast.makeText(Main2Activity.this, "这是这是toast", Toast.LENGTH_SHORT).show(); //这是xUtils封装了的log// LogUtil.e("错误日志"); break; } }
我再加一个button来,进行下载个图片 ,直接可以用,并不需要在xml中写onClick=”loadImage”
这条,哈哈,反射加注解好久没写了,回头写完xUtils的基础使用,我就去,再复习一下注解
//通过button来点击下载 @Event(value = {R.id.button1}) private void loadImage(View view){ x.image().bind(mImageView,"https://www.baidu.com/img/bd_logo1.png"); }
我们来加载个圆形图吧,这几天看fresco看得似懂非懂的其实就是有些图在fresco中加载不出原图来,不多说,来加载个圆形图来看看吧,哈哈
//主要设置option 用三个参数的,由于连接太长,就没贴上来了,就比上面多加个option属性
mImageOptions = new ImageOptions.Builder(). setSize(DensityUtil.dip2px(120),DensityUtil.dip2px(120)) .setRadius(DensityUtil.dip2px(5)). // setImageScaleType(ImageView.ScaleType.CENTER_CROP) //显示类型 .setLoadingDrawableId(R.mipmap.ic_launcher) //加载中的图片 .setFailureDrawableId(R.mipmap.ic_launcher) //加载失败后的图片 .setUseMemCache(true) // 是否使用缓存 .setIgnoreGif(false) //是否支持gif .setCircular(true) //加载 圆形图 .build();
感觉还不错,等会试试,listview加载试试,看看缓存效果,和前面学的picasso和glide,图片用得爽不
用图片加载的第三个参数的
x.image().bind(mImageView, "https://www.baidu.com/img/bd_logo1.png", new Callback.CommonCallback<Drawable>() { /** * 加载成功的时候回调 * * @param result 成功时的bitmap */ @Override public void onSuccess(Drawable result) { Log.e("自定义标签", "onSuccess() called with: " + "result = [" + result + "]"); mImageView.setImageDrawable(result); } /** * 加载错误 时回调 * @param ex * @param isOnCallback */ @Override public void onError(Throwable ex, boolean isOnCallback) { Log.e("自定义标签", "onError() called with: " + "ex = [" + ex + "], isOnCallback = [" + isOnCallback + "]"); } //取消的回调 @Override public void onCancelled(CancelledException cex) { Log.e("自定义标签", "onCancelled() called with: " + "cex = [" + cex + "]"); } // @Override public void onFinished() { Log.e("自定义标签", "onFinished() called with: " + ""); } });
onCancelled 我没研究过,哈哈,没下过大的文件吧,也不知道什么时候回调,先放着,学习,肯定有些东西不会,有些会,回头再研究一下,去看看官方实例.
接下来显示一下数据在listview中,有时间就仔细看看下载http模块的简单用法,哈哈
RequestParams requestParams = new RequestParams("http://api102.meishi.cc/v5/class_list1.php?lon=&source=android&cid=0&vk=ed6ffbc3acc04a6a2eebce047f17bb15&sort_sc=asc&sort=default&lat=&page=1&bcid=13&format=json"); x.http().get(requestParams, new Callback.CacheCallback<String>() { @Override public void onSuccess(String result) { Log.e("自定义标签", "类名==Main3Activity" + "方法名==onSuccess=====:" + Thread.currentThread().getName()); Log.e("自定义标签", "onSuccess() called with: " + "result = [" + result + "]"); } @Override public void onError(Throwable ex, boolean isOnCallback) { Log.e("自定义标签", "onError() called with: " + "ex = [" + ex + "], isOnCallback = [" + isOnCallback + "]"); } @Override public void onCancelled(CancelledException cex) { Log.e("自定义标签", "onCancelled() called with: " + "cex = [" + cex + "]"); } @Override public void onFinished() { Log.e("自定义标签", "onFinished() called with: " + ""); } @Override public boolean onCache(String result) {// Log.e("自定义标签", "onCache() called with: " + "result = [" + result + "]"); MeiShiBean meiShiBean = new Gson().fromJson(result, MeiShiBean.class); List<MeiShiBean.ObjBean.DataBean> classes = meiShiBean.getObj().getData(); mList.addAll(classes); mMyAdapter.notifyDataSetChanged(); return true; } });
xUtils ,的回调在主线程中,而okHttp回调是在子线程中的
图片下载后,上下拖动,都没有替换图片的感觉,哈哈,这缓存可以的,主要的代码就那样吧,下次讲下载,数据库什么的吧,
哈哈,好久没写博客了,这次,一定不放弃每天来一篇,哈哈
以上简单用法的源码
这个地址今天的成果,第一activity无视就好,因为难没有换项目写,哈哈
来个警句给自己:
如果你真的愿意努力,人生最坏的结果,也不过是大器晚成!
哈哈!!!
- xUtils3自己努力摸索中(一)
- xUtils3自己努力摸索中(二)
- 自己努力
- XUtils3--代码详解(一)
- 并口驱动。。。摸索中。。。
- 摸索
- 摸索
- 自己摸索简单EasySearch效果_winvay
- Eclipse快捷键大全,自己摸索的
- android Studio Gradle 自己摸索(未完待续)
- 自己摸索搭建的lamp环境步骤
- 每天努力超越自己
- 为自己努力吧
- 努力自己的工作
- 超越自己,努力攀升
- 对于自己,唯有努力
- 努力到感动自己
- 恭喜自己,继续努力
- shell比较语法
- TQ210——交叉编译器的安装
- UITextField限制字数
- 设计模式-观察者模式
- hdu 4756
- xUtils3自己努力摸索中(一)
- linux 使用 git The requested URL returned error: 403
- hdu1986 Encoding-字符串(电文加密)
- linux shell 学习之第15章 控制脚本
- 【亲测】mybatis使用注解方式插入数据后获取自增长的主键值
- 206. Reverse Linked List
- 句子的逆序
- POJ 1182 食物链【经典并查集应用】
- shp导入Oracle