xUtils注入和图片显示

一、xUtils注入

引用官方介绍:

ViewUtils模块:

•android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
•新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
•目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。

之前我们写事件比如Btn的Click事件一般采用硬编码或者Linstener的方式来实现,从界面某个元素取值或者赋值必须首先使用findcontrol来找到他较为麻烦且难以维护,而这些使用xUtils的注解功能就能很简洁的完成,比如下例我们实现点击Btn给文本框赋值操作:

点击Btn后:

要实现xUtils注入首先得在onCreate中加入:

ViewUtils.inject(this); //注入view和事件

之后定义控件如下:

@ViewInject(R.id.lbl_info)

private TextView textView;

这样就相当于找到界面ID为lbl_infoTextView ,在接下来的代码中随意使用:

textView.setText("Clicked Btn");

能注入View同样也能注入事件,如我们要实现Btn的点击事件只需如下编码即可:

@OnClick(R.id.btn_test)
public void btn_testClick(View v) {
// 方法签名必须和接口中的要求一致
.... }

而前台并不需要定义它的事件:

<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Me" />

结合起来就是:

@OnClick(R.id.btn_test)
public void btn_testClick(View v)
{
// 方法签名必须和接口中的要求一致
textView.setText("Clicked Btn"); }

这种方式必须保证控件有ID。

二、使用xUtils完成图片的显示

◦ BitmapUtils模块:

•加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
•支持加载网络图片和本地图片;
•内存管理使用lru算法,更好的管理bitmap内存;
•可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

1.网络图片:

需要增加网络或者SD卡访问权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

拿博客园Logo为例,访问的代码如下:

BitmapUtils bitmapUtils = new BitmapUtils(this);
bitmapUtils.display(imgItem, "http://42.121.254.191/images/logo_small.gif");

思路是先在界面声明图片控件:

<ImageView
android:id="@+id/img_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

再找到这个控件:

@ViewInject(R.id.img_item)
private ImageView imgItem;

将开始访问网络图片的那句代码放入按钮点击事件下,运行即可:

2. 本地图片

在本地assets中放入一个图片待显示。

只需一句代码(剩下的和上例同):

bitmapUtils.display(imgItem, "assets/qq.jpg");

.Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示的更多相关文章

  1. .Net程序员安卓学习之路1:登陆界面

    任何编程学习起步均是HelloWorld,作为稍有>net编程经验的我们来说就跳过这步吧,咱们且从简单登录界面开始.先看看效果: 一.准备知识: 1. 安卓环境:安装好JDK,直接去官网下载AD ...

  2. .Net程序员安卓学习之路4:使用xutils Get Post数据

    前面使用了一些网络上找来的类进行网络访问,后来发现了安卓开发中有一个国人写的类库xutils比较全面,也比较经典,故后续使用xutils类库进行记录. 本例服务端使用WCF来实现,写好的WCF服务端在 ...

  3. .Net程序员安卓学习之路6:等待条

    一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条 本例将实现一个无框架的等待条,效果如下: 点击后,使线程Sleep5秒,就出现如下效果: 实现代码如: private Progre ...

  4. .Net程序员安卓学习之路3:Post数据给网络API

    本例我们实现一次真正的网络交互,将数据POST到API,然后接收服务器的返回值进行处理,同时引入自定义类型和传说中阿里的FastJson. 实现思路如: 1. 在API端接收客户POST的数据还原成对 ...

  5. .Net程序员安卓学习之路2:访问网络API

    做应用型的APP肯定是要和网络交互的,那么本节就来实战一把Android访问网络API,还是使用上节的DEMO: 一.准备API: 一般都采用Json作为数据交换格式,目前各种语言均能输出Json串. ...

  6. zz 游戏程序员的学习之路(中文版)

    游戏程序员的学习之路(中文版) Milo Yip · 1 天前 感谢 @楚天阔(tkchu)编写脚本及整理中文译本数据,自动从英文版生成中文版,SVG / PDF 版本中的书籍图片现在链接至豆瓣页面. ...

  7. GJM : 游戏程序员的学习之路

    原文作者:miloyip  原帖地址:http://gad.qq.com/article/detail/7180681 原帖备注:版权所有,禁止匿名转载:禁止商业使用:禁止个人使用. 腾讯前端技术总监 ...

  8. 五年.net程序员Java学习之路

    大学毕业后笔者进入一家外企,做企业CRM系统开发,那时候开发效率最高的高级程序语言,毫无疑问是C#.恰逢公司也在扩张,招聘了不少.net程序员,笔者作为应届生,也乐呵呵的加入到.net程序员行列中. ...

  9. 2017PHP程序员的进阶之路

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

随机推荐

  1. BZOJ4182 : Shopping

    最后选择的一定是树上的一个连通块,考虑树分治,每次只需考虑重心必选的情况,这就变成了以重心为根的树形依赖多重背包问题. 设f[x][j]表示从根节点到x这条路径及其左边的所有节点,以及以x为根的子树的 ...

  2. POJ 1947 (树形DP+背包)

    题目链接: http://poj.org/problem?id=1947 题目大意:树中各点都由一条边连接.问要弄出个含有m个点的(子)树,至少需要截去多少条边. 解题思路: 设dp[i][j]为i总 ...

  3. 【BZOJ】1602: [Usaco2008 Oct]牧场行走(lca)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1602 一开始以为直接暴力最短路,但是n<=1000, q<=1000可能会tle. 显然 ...

  4. BZOJ3091: 城市旅行

    Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample ...

  5. SpringMvc_快速入门,深入分析

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  6. 记在thinkPHP中一个创建模型的小错误

    在创建好模型以后,访问说没有该方法,如图 看代码 class ManagerModel { //put your code here function checkDenglu($name,$pwd){ ...

  7. PHP wget 增强脱裤脚本(PDO MYSQL)

    脚本参考了 LCX Gavin2位前辈的帖子.在此表示非常的感谢. https://www.t00ls.net/thread-26740-1-1.html https://www.t00ls.net/ ...

  8. 你们以为运营商只是HTTP插点广告而已么?

    国内某邮件服务商,近期在某南方地区有大量客户反应登录时出错和异常,于是工作人员进行了一下跟进,发现如下: 首先,邮件服务商登陆页面为普通HTTP协议发送,提交时通过JS进行RSA加密(没错,JS的RS ...

  9. WPF 增加合计一栏

    占坑中  先抛个参考链接 http://stackoverflow.com/questions/678690/how-can-i-create-a-group-footer-in-a-wpf-list ...

  10. java web工程之Hibernate

    java web添加structs特性后再添加Hibernate特性,这可以通过右键工程->my eclipse出现工具条选中相应的条目,添加相应的属性, 添加完Hibernate后建立与数据库 ...