- 浏览: 59510 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (218)
- ★★★ Android ★★★ (37)
- 【 Java 基础】✚ (0)
- ☞Java 基础概述 (0)
- ☞Java 基本语法 (0)
- ☞Java 面向对象编程 (0)
- ☞Java多线程 (0)
- ☞Java 异常处理 (0)
- ☞Java 集合框架 (0)
- ☞Java 泛型 (0)
- ☞Java 枚举和注解 (0)
- ☞Java IO流 (0)
- ☞Java 常用类 (0)
- ☞Java GUI键盘事件 (0)
- ☞Java 网络编程 (0)
- ☞Java 正则表达式 (0)
- ☞Java 反射机制 (0)
- ☞Java 小项目 (0)
- ☞Java 面试/笔试题 (0)
- 【HTML5 开发基础】✚ (0)
- ☞HTML常用标签 (0)
- ☞HTML 新特性 (0)
- ☞CSS/CSS3常用语法 (0)
- ☞JavaScript基础语法 (0)
- ☞HTML5 小项目 (0)
- ☞HTML5 面试/笔试题 (0)
- 【Android 基础阶段】✚ (12)
- ☞Android 快速入门 (1)
- ☞Android 核心组件 (1)
- ☞Android Intent (0)
- ☞Android 用户界面 (5)
- ☞Android 数据存储 (0)
- ☞Android Tomcat服务器 (0)
- ☞Android 网络编程 (2)
- ☞Android 消息机制 (0)
- ☞Android 事件机制 (0)
- ☞Fragment和ViewPager (3)
- ☞Android动画与图形处理 (0)
- ☞Android多媒体应用开发 (1)
- ☞Android 传感器开发等 (0)
- ☞Android GPS应用 (0)
- ☞Android C语言 (0)
- ☞Android JNI/NDK开发 (0)
- ☞Android Git/SVN (0)
- ☞Android 小项目 (0)
- ☞Android 面试/笔试题 (0)
- 【Android 微知识点】✚ (7)
- ☞Android 一些模版代码 (0)
- ☞Android 模块功能代码 (0)
- ☞Android UI控件大全 (2)
- ☞Android 自定义适配器 (1)
- ☞Android 自定义属性 (3)
- ☞Android 自定义动画 (0)
- ☞Android 启动过程 (0)
- ☞Android 性能优化 (0)
- ☞Android 图片三级缓存 (0)
- ☞Android 屏幕适配 (0)
- ☞Android OOM内存溢出 (0)
- ☞Android 权限 (0)
- ☞Android JNI (0)
- 【Android 网络编程】✚ (1)
- ☞Android Json解析 (2)
- ☞Android 网络请求 (2)
- 【Android 解析器】✚ (0)
- ☞Android XML (0)
- ☞Android DOM (0)
- ☞Android dom4j (0)
- ● (0)
- ●● (0)
- ●●● (0)
- ●●●● (0)
- ●●●●● (0)
- ●●●●●● (0)
- ●●●●●●● (0)
- ●●●●●●●● (0)
- ●●●●●●●●● (0)
- ☞☞☞☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞ (0)
- ☞☞☞☞☞ (0)
- ☞☞☞☞ (0)
- ☞☞☞ (0)
- ☞☞ (0)
- ☞ (0)
- 【Android重量级框架】✚ (14)
- ☞框架归类 (1)
- ☞Gson (0)
- ☞xUtils3 (2)
- ☞xListView (0)
- ★ Volley (0)
- ★ AndroidAnnotations (0)
- ★ Glide (0)
- ★ SlidingMenu (0)
- ★ TabLayout (1)
- ★ ViewPagerIndicator (4)
- ★ Pulltorefresh (1)
- ★ PhotoView (1)
- ★ EventBus (0)
- ★ Vitamio5.0 (0)
- ★ Image-Loader (1)
- ★ Android-gif-drawable (0)
- ★ ActionBar (0)
- ★ ActionBarSherlock (0)
- ★ OkHttp (0)
- ★ Afinal (2)
- ★ Ffmpeg (0)
- ★ RxJava (0)
- ★ Picasso (0)
- ★ FastJson (0)
- ★ Toolbar (0)
- ★ GreenDao (0)
- ★ Otto (0)
- ★ ORMLite (0)
- ★ Retrofit (0)
- ★ Fresco (0)
- ★ SnappyDB (0)
- ★ Butterknife (0)
- ★ PagerSlidingTabStrip (0)
- PinterestLikeAdapterView (0)
- ★ NotBoringActionBar (0)
- ★ StickyListHeaders (0)
- ★ NineOldAndroids (0)
- ★ Expandablelistview (0)
- ★ SwipeRefreshLayout (0)
- ★ SwipeMenuListView (0)
- ★ (0)
- ★★ (0)
- ★★★ (0)
- ★★★★ (0)
- ★★★★★ (0)
- ★★★★★★ (0)
- ★★★★★★★ (0)
- ★★★★★★★★ (0)
- ★★★★★★★★★ (0)
- ★★★★★★★★★★ (0)
- ❉❉❉❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉ (0)
- ❉❉❉❉❉ (0)
- ❉❉❉❉ (0)
- ❉❉❉ (0)
- ❉❉ (0)
- ❉ (0)
- 【第三方分享库】✚ (0)
- ○○○○○○○○○○ (0)
- ○○○○○○○○○ (0)
- ○○○○○○○○ (0)
- ○○○○○○○ (0)
- ○○○○○○ (0)
- ○○○○○ (0)
- ○○○○ (0)
- ○○○ (0)
- ○○ (0)
- ○ (1)
- 【Android开源项目】✚ (1)
- ☞综合性项目 (0)
- ☞多媒体项目 (1)
- ☞新闻性项目 (2)
- ☞社交性项目 (0)
- ☞商城性项目 (0)
- ☞Android 支付宝 (0)
- ☞Android 第三方登录 (0)
- ☞Android 语音识别 (0)
- ☞Android消息推送 (1)
- ☞Android 蓝牙 (0)
- ☞Android 传感器 (0)
- ☞Android 动画 (0)
- ☞Android 省市县三级联动 (0)
- ☞短信验证技术 (0)
- ☞二维码扫描技术 (0)
- ☂ (0)
- ☂☂ (0)
- ☂☂☂ (0)
- ☂☂☂☂ (0)
- ☂☂☂☂☂ (0)
- ☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂☂☂☂ (0)
- ♣♣♣♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣ (0)
- ♣♣♣♣♣ (0)
- ♣♣♣♣ (0)
- ♣♣♣ (0)
- ♣♣ (0)
- ♣ (0)
- 【Android源码分析】✚ (4)
- 【Android项目阶段】✚ (1)
- ☞Android主流架构搭建 (0)
- ☞综合性<手机安全卫士> (0)
- ☞多媒体<手机影音> (1)
- ☞新闻性<北京新闻> (0)
- ☞社交性<硅谷社交> (0)
- ☞商城性<硅谷商城> (0)
- ☞内涵段子<百思> (0)
- ☞<地图相关开发接口> (0)
- ☞下载<电子应用市场> (0)
- ☞智能<手机遥控家电> (0)
- ☞游戏<植物大战僵尸> (0)
- ☞企业实战<开源中国> (0)
- ☞Android5.0+6.0新特性 (0)
- ☞高级特效专辑 (0)
- ☞项目管理与实施 (0)
- ☞项目经验:面试/笔试题 (0)
- 【Android 前沿技术】✚ (0)
- ☞图文混排技术 (0)
- ☞百分比布局 (0)
- H5混合开发☞ (0)
- ☞APP增量升级 (0)
- ☞软件崩溃收集 (0)
- ☞前沿技术分享 (0)
- 【Android+H5混合开发】✚ (0)
- ☞React基本语法 (0)
- ☞React Native开发环境搭建 (0)
- ☞React Native开发基础 (0)
- ☞React Native常用组件 (0)
- ☞React Native常用API (0)
- ☞豆瓣搜索项目 (0)
- ☏ (0)
- ☏☏ (0)
- ☏☏☏ (0)
- ☏☏☏☏ (0)
- ☏☏☏☏☏ (0)
- ☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏☏☏☏ (0)
- ☎☎☎☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎ (0)
- ☎☎☎☎☎ (0)
- ☎☎☎ (0)
- ☎☎ (0)
- ☎ (0)
- 【Android+H5项目实战】✚ (0)
- 【程序员软件系列】✚ (4)
- ☞Eclipse (0)
- ☞Android Studio (4)
- ☞Genymotion (0)
- ☞Tomcat服务器 (0)
- ☞MyScal (0)
- ☀ (0)
- ☀☀ (0)
- ☀☀☀ (0)
- ☀☀☀☀ (0)
- ☀☀☀☀☀ (0)
- ☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀☀☀☀ (0)
- ☻☻☻☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻ (0)
- ☻☻☻☻☻ (0)
- ☻☻☻☻ (0)
- ☻☻☻ (0)
- ☻☻ (0)
- ☻ (0)
- ♬♬♬ 技术网站 ♬♬♬ (2)
- ◙ (0)
- ◙◙ (0)
- ◙◙◙ (0)
- ◙◙◙◙ (0)
- ◙◙◙◙◙ (0)
- ◘◘◘◘◘ (0)
- ◘◘◘◘ (0)
- ◘◘◘ (0)
- ◘◘ (0)
- ◘ (0)
- 【Android 其他技术】✚ (0)
- ☞Android反编译 (0)
- ☞抓包 (0)
- ☞多渠道打包及软件上线 (0)
- 【github项目/博客系列】✚ (1)
- ☞注册github步骤 (0)
- ☞github项目 (0)
- ☞优秀博客系列 (1)
- 【开发经验分享】✚ (2)
- ☞Android 知识体系 (1)
- ☞项目经验分享 (0)
- ☞面试与就业指导 (1)
- ☞Android面试技术汇总 (2)
- ♬♬♬ 词汇 ♬♬♬ (0)
- 【Android基础单词】✚ (0)
- 【javaSE单词】✚ (0)
- 【个人博客资料】✚ (0)
- 博客链接 (1)
- 快速开发 (1)
- JavaEE面试题 (1)
最新评论
XUtils===XUtils3框架的基本使用方法(一)
转载自:http://blog.csdn.net/a1002450926/article/details/50341173
今天给大家带来XUtils3的基本介绍,本文章的案例都是基于XUtils3的API语法进行的演示。相信大家对这个框架也都了解过,下面简单介绍下XUtils3的一些基本知识。
XUtils3一共有4大功能:注解模块,网络模块,图片加载模块,数据库模块。使用XUtils只需要在libs文件夹里面加入一个jar包,如果对服务器返回的数据进行封装的话,还需要导入一个Gson的jar包。
- <uses-permissionandroid:name="android.permission.INTERNET"/>
- <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
注解模块
Activity的注解
1.在Application的oncreate方法中加入下面代码: x.Ext.init(this);
2.在Activity的oncreate方法中加入下面代码: x.view().inject(this);
3.加载当前的Activity布局需要如下注解:
@ContentView加入到Activity的上方
4.给View进行初始化需要如下注解:
@InjectView
5.处理控件的各种响应事件需要如下注解:
@Envent
- @ContentView(R.layout.activity_main)
- publicclassMainActivityextendsActionBarActivity{
- @ViewInject(R.id.btn_get)
- Buttonbtn_get;
- @ViewInject(R.id.btn_post)
- Buttonbtn_post;
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- x.view().inject(this);
- btn_get.setText("发送get请求");
- btn_post.setText("发送post请求");
- }
- //等同于@Event(value={R.id.btn_get,R.id.btn_post},type=View.OnClickListener.class)
- @Event(value={R.id.btn_get,R.id.btn_post})
- privatevoidgetEvent(Viewview){
- switch(view.getId()){
- caseR.id.btn_get:
- Toast.makeText(MainActivity.this,btn_get.getText().toString().trim(),0).show();
- break;
- caseR.id.btn_post:
- Toast.makeText(MainActivity.this,btn_post.getText().toString().trim(),0).show();
- break;
- }
- }
通过测试,我们发现当点击btn_get按钮时,弹出了“发送get请求”的效果。到这里,大家算是对XUtils的注解有个一个基本的认识,下面我在强调一点的是,@Event这个注解默认情况下type属性为View.OnClickListener.class.如果你想实现其余点击事件效果,只需要把type值进行修改即可。
另外需要注意的一点是按钮的点击事件必须用private进行修饰。
Fragment的注解:
- @ContentView(R.layout.fragment_first)
- publicclassFirstFragmentextendsFragment{
- privateMyAdapteradapter;
- privateList<Person>list=newArrayList<>();
- privateList<String>listUrl=newArrayList<>();
- privateList<String>listName=newArrayList<>();
- @ViewInject(R.id.btn_test)
- Buttonbtn_test;
- @ViewInject(R.id.listView)
- ListViewlistView;
- @Override
- publicViewonCreateView(LayoutInflaterinflater,
- @NullableViewGroupcontainer,@NullableBundlesavedInstanceState){
- returnx.view().inject(this,inflater,container);
- }
ViewHolder的注解:
- publicclassMyAdapterextendsBaseAdapter{
- privateContextcontext;
- privateList<Person>list;
- privateLayoutInflatermInflater;
- privateImageOptionsoptions;
- publicViewHolderholder;
- publicMyAdapter(Contextcontext,List<Person>list){
- this.context=context;
- this.list=list;
- this.mInflater=LayoutInflater.from(context);
- options=newImageOptions.Builder().setLoadingDrawableId(R.drawable.ic_launcher)
- .setLoadingDrawableId(R.drawable.ic_launcher).setUseMemCache(true).setCircular(true).build();
- }
- @Override
- publicintgetCount(){
- returnlist.size();
- }
- @Override
- publicObjectgetItem(intposition){
- returnlist.get(position);
- }
- @Override
- publiclonggetItemId(intposition){
- returnposition;
- }
- @Override
- publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
- holder=null;
- if(convertView==null){
- convertView=mInflater.inflate(R.layout.itemone,null);
- holder=newViewHolder();
- x.view().inject(holder,convertView);
- convertView.setTag(holder);
- }
- else{
- holder=(ViewHolder)convertView.getTag();
- }
- Personbean=list.get(position);
- holder.tv_name.setText(bean.getName());
- x.image().bind(holder.iv_image,bean.getImgUrl(),options);
- returnconvertView;
- }
- classViewHolder{
- @ViewInject(R.id.tv_name)
- privateTextViewtv_name;
- @ViewInject(R.id.iv_image)
- privateImageViewiv_image;
- }
上面的代码是注解ViewHolder的标准模式,相信大家完全能够看明白。这里我加载图片使用到了XUtils3的加载网络图片的方法。后面我会详细进行讲解。
网络模块
XUtils的网络请求方法和一些网络请求框架的用法非常类似,我进行了一些简单的封装。
封装一共有3个文件,分别是网络请求工具类XUtil,请求响应数据的解析类,还有一个就是一个请求成功的一个接口回调类。
代码如下:
- publicclassXUtil{
- /**
- *发送get请求
- *@param<T>
- */
- publicstatic<T>CancelableGet(Stringurl,Map<String,String>map,CommonCallback<T>callback){
- RequestParamsparams=newRequestParams(url);
- if(null!=map){
- for(Map.Entry<String,String>entry:map.entrySet()){
- params.addQueryStringParameter(entry.getKey(),entry.getValue());
- }
- }
- Cancelablecancelable=x.http().get(params,callback);
- returncancelable;
- }
- /**
- *发送post请求
- *@param<T>
- */
- publicstatic<T>CancelablePost(Stringurl,Map<String,Object>map,CommonCallback<T>callback){
- RequestParamsparams=newRequestParams(url);
- if(null!=map){
- for(Map.Entry<String,Object>entry:map.entrySet()){
- params.addParameter(entry.getKey(),entry.getValue());
- }
- }
- Cancelablecancelable=x.http().post(params,callback);
- returncancelable;
- }
- /**
- *上传文件
- *@param<T>
- */
- publicstatic<T>CancelableUpLoadFile(Stringurl,Map<String,Object>map,CommonCallback<T>callback){
- RequestParamsparams=newRequestParams(url);
- if(null!=map){
- for(Map.Entry<String,Object>entry:map.entrySet()){
- params.addParameter(entry.getKey(),entry.getValue());
- }
- }
- params.setMultipart(true);
- Cancelablecancelable=x.http().get(params,callback);
- returncancelable;
- }
- /**
- *下载文件
- *@param<T>
- */
- publicstatic<T>CancelableDownLoadFile(Stringurl,Stringfilepath,CommonCallback<T>callback){
- RequestParamsparams=newRequestParams(url);
- //设置断点续传
- params.setAutoResume(true);
- params.setSaveFilePath(filepath);
- Cancelablecancelable=x.http().get(params,callback);
- returncancelable;
- }
- }
- publicclassJsonResponseParserimplementsResponseParser{
- //检查服务器返回的响应头信息
- @Override
- publicvoidcheckResponse(UriRequestrequest)throwsThrowable{
- }
- /**
- *转换result为resultType类型的对象
- *
- *@paramresultType返回值类型(可能带有泛型信息)
- *@paramresultClass返回值类型
- *@paramresult字符串数据
- *@return
- *@throwsThrowable
- */
- @Override
- publicObjectparse(TyperesultType,Class<?>resultClass,Stringresult)throwsThrowable{
- returnnewGson().fromJson(result,resultClass);
- }
- }
- publicclassMyCallBack<ResultType>implementsCallback.CommonCallback<ResultType>{
- @Override
- publicvoidonSuccess(ResultTyperesult){
- //可以根据公司的需求进行统一的请求成功的逻辑处理
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- //可以根据公司的需求进行统一的请求网络失败的逻辑处理
- }
- @Override
- publicvoidonCancelled(CancelledExceptioncex){
- }
- @Override
- publicvoidonFinished(){
- }
- }
1.发送get请求示例:
- //本get请求来自于免费测试接口:http://www.k780.com/api/entry.baidu
- Stringurl="http://api.k780.com:88/?app=idcard.get";
- Map<String,String>map=newHashMap<>();
- map.put("appkey","10003");
- map.put("sign","b59bc3ef6191eb9f747dd4e83c99f2a4");
- map.put("format","json");
- map.put("idcard","110101199001011114");
- XUtil.Get(url,map,newMyCallBack<PersonInfoBean>(){
- @Override
- publicvoidonSuccess(PersonInfoBeanresult){
- super.onSuccess(result);
- Log.e("result",result.toString());
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- super.onError(ex,isOnCallback);
- }
- });
2.发送post请求
- Stringurl="http://api.k780.com:88/?app=idcard.get";
- Map<String,Object>map=newHashMap<>();
- map.put("appkey","10003");
- map.put("sign","b59bc3ef6191eb9f747dd4e83c99f2a4");
- map.put("format","json");
- map.put("idcard","110101199001011114");
- XUtil.Post(url,map,newMyCallBack<PersonInfoBean>(){
- @Override
- publicvoidonSuccess(PersonInfoBeanresult){
- super.onSuccess(result);
- Log.e("result",result.toString());
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- super.onError(ex,isOnCallback);
- }
- });
3.上传文件
- /**
- *上传文件(支持多文件上传)
- */
- privatevoiduploadfile(){
- //图片上传地址
- Stringurl="";
- Map<String,Object>map=newHashMap<>();
- //传入自己的相应参数
- //map.put(key,value);
- //map.put(key,value);
- XUtil.UpLoadFile(url,map,newMyCallBack<String>(){
- @Override
- publicvoidonSuccess(Stringresult){
- super.onSuccess(result);
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- super.onError(ex,isOnCallback);
- }
- });
- }
4.下载文件
- privatevoiddownloadfile(){
- //文件下载地址
- Stringurl="";
- //文件保存在本地的路径
- Stringfilepath="";
- XUtil.DownLoadFile(url,filepath,newMyCallBack<File>(){
- @Override
- publicvoidonSuccess(Fileresult){
- super.onSuccess(result);
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- super.onError(ex,isOnCallback);
- }
- });
5.下载文件带进度条
- privatevoiddownloadprogressfile(){
- //文件下载地址
- Stringurl="";
- //文件保存在本地的路径
- Stringfilepath="";
- XUtil.DownLoadFile(url,filepath,newMyProgressCallBack<File>(){
- @Override
- publicvoidonSuccess(Fileresult){
- super.onSuccess(result);
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- super.onError(ex,isOnCallback);
- }
- @Override
- publicvoidonLoading(longtotal,longcurrent,
- booleanisDownloading){
- super.onLoading(total,current,isDownloading);
- }
- });
- }
6.发送get请求(服务器以xml格式返回)
- privatevoidgetxml(){
- Stringurl="http://flash.weather.com.cn/wmaps/xml/china.xml";
- XUtil.Get(url,null,newMyCallBack<String>(){
- @Override
- publicvoidonSuccess(StringxmlString){
- super.onSuccess(xmlString);
- try{
- XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance();
- XmlPullParserxmlPullParser=factory.newPullParser();
- xmlPullParser.setInput(newStringReader(xmlString));
- inteventType=xmlPullParser.getEventType();
- while(eventType!=XmlPullParser.END_DOCUMENT){
- switch(eventType){
- caseXmlPullParser.START_TAG:
- StringnodeName=xmlPullParser.getName();
- if("city".equals(nodeName)){
- StringpName=xmlPullParser.getAttributeValue(0);
- Log.e("TAG","cityis"+pName);
- }
- break;
- }
- eventType=xmlPullParser.next();
- }
- }catch(Exceptione){
- e.printStackTrace();
- }
- }
- @Override
- publicvoidonError(Throwableex,booleanisOnCallback){
- super.onError(ex,isOnCallback);
- }
- });
- }
图片加载模块
用法:
- x.image().bind(imageView,url,imageOptions);
- x.image().bind(imageView,"file:///sdcard/test.gif",imageOptions);
- x.image().bind(imageView,"assets://test.gif",imageOptions);
- x.image().bind(imageView,url,imageOptions,newCallback.CommonCallback<Drawable>(){...});
- x.image().loadDrawable(url,imageOptions,newCallback.CommonCallback<Drawable>(){...});
- x.image().loadFile(url,imageOptions,newCallback.CommonCallback<File>(){...});
Xutils3的api还是比较简单的,相信大家都可以看懂,第一个参数传入一个View,第二个参数传入一个图片的网络地址,第三个参数一般是加载图片的配置。
下面看一下ImageOptions这个类吧:
- ImageOptionsoptions=newImageOptions.Builder()
- //设置加载过程中的图片
- .setLoadingDrawableId(R.drawable.ic_launcher)
- //设置加载失败后的图片
- .setFailureDrawableId(R.drawable.ic_launcher)
- //设置使用缓存
- .setUseMemCache(true)
- //设置显示圆形图片
- .setCircular(true)
- //设置支持gif
- .setIgnoreGif(false)
- .build();
其余的一些配置请参考源码
如果需要对加载的图片进行操作的话,可以使用:
x.image().loadDrawable(url, imageOptions, new Callback.CommonCallback<Drawable>() {...});
通过返回的Drawable对象进行图片的处理,满足项目的个性化的要求.
说了这么多,我想大家至少会对XUtils3有了一个基本的了解,由于XUtils3的数据库的用法比较多,本篇文章不会去涉及,下一篇文章我会为大家详细讲解XUtils3的数据库模块。大家赶紧现在动手操作一下吧!本文涉及到的所有实例都会在下面的demo中有涉及到,请自行参考。
源码下载地址:http://download.csdn.net/detail/a1002450926/9364413
相关推荐
**XUtils框架详解** XUtils是一款为Android开发者设计的轻量级、全面的开发框架,由国内知名开发者wuyr创建。它集成了四大模块:数据库管理、UI操作、网络请求以及图片处理,大大简化了Android开发过程,提高了开发...
本项目是一个基于Eclipse的xUtils使用示例,通过这个demo,我们可以深入理解xUtils框架的核心功能和使用方法。 首先,xUtils的网络请求模块(HttpUtils)提供了异步和同步两种方式来发送HTTP请求。开发者可以方便地...
**Android xUtils框架解析** xUtils是一个轻量级的Android开发框架,由知名开发者吴成峰(花神)创建。这个框架集成了多种功能,包括网络请求、图片加载、数据库操作、视图注入等,旨在简化Android应用的开发流程,...
Android xUtils框架是一个广泛使用的开源库,由国内知名开发者吴成飞(whef)开发。这个框架集成了多种功能,包括视图注入、数据库操作、网络请求、图片加载等,极大地提高了Android开发的效率。在Android应用开发中...
XUtils3是一款在Android开发中广泛使用的开源框架,它集成了图片加载、数据库操作、网络请求等多种功能,极大地提高了开发效率。本指南将详细介绍XUtils3的基本使用方法,包括如何引入库、配置项目、进行网络请求...
【Xutils使用】 Xutils是Android开发中一款非常流行的开源框架,由国内知名开发者wyouflf维护。它集成了数据库操作、图片加载、网络请求、View...对于提升开发效率和降低项目复杂度,Xutils无疑是一个值得推荐的框架。
"Xutils3框架demo"是一个示例项目,展示了如何在实际应用中使用Xutils3。 1. **网络请求**:Xutils3提供了HttpUtils类,用于处理HTTP请求。你可以通过简单的API调用来发送GET或POST请求,框架会自动处理异步和同步...
通过以上步骤,你已经掌握了xUtils框架中下载功能的基本使用。在实际项目中,你可能还需要处理更多细节,如网络异常、权限管理、多线程下载等。但有了xUtils,这些工作都将变得更加简单和高效。在Text_xutil_...
xUtils框架
在这个“android源码-使用框架(xUtils)”的项目中,我们将深入探讨如何利用xUtils来构建一个高效的Android应用。 首先,`ViewPager`是Android中的一个组件,用于展示多个类似视图,常用于实现滑动切换的效果,如在...
在xUtils3.0版本中,网络框架得到了优化,使其更加高效且易于使用。这个框架的核心目标是简化Android开发,让开发者能够更专注于业务逻辑,而不是基础库的集成和配置。 xUtils的网络模块基于OkHttp,这是一个非常...
android中的orm框架 一行代码就可以进行增删改查; 支持事务 默认关闭; 可通过注解自定义表名 列名 外键 唯一性约束 NOT NULL约束 CHECK约束等(需要混淆的时候请注解表名和列名); 支持绑定外键 保存实体时外键...
XUtils3是一个广泛使用的Android开发框架,由知名开发者wyouflf维护。这个框架集成了多种功能,旨在简化Android应用的开发过程,提高开发效率。XUtils3的核心理念是模块化,使得开发者可以根据需求选择使用特定的...
xUtils框架是一款由国内开发者开发的轻量级Android开发框架,它集成了多个功能模块,包括网络请求、图片加载、数据库操作等,旨在简化Android应用的开发流程,提高开发效率。在“网络请求xUtils框架”这个主题下,...
在Android开发中,Xutils3是一个非常实用的框架,它集成了网络请求、注解处理、图片加载和日志管理等多个功能,极大地提高了开发效率。本文将深入探讨Xutils3在网络工具、注解工具、图片工具和日志工具的使用,并...
最新的"最新最全的xUtils框架"版本可能包含了更多的优化和新特性,比如更兼容新的Android版本,增加了更多实用的API,或者修复了已知的问题,以满足不断发展的Android开发需求。 总之,xUtils框架是Android开发中...
XUtils3是一个强大的Android开发框架,它集合了多种实用功能,包括注解处理、网络请求、图片加载和数据库操作。这个框架旨在简化Android应用的开发流程,提高开发效率。以下是对XUtils3四大功能模块的详细说明: 1....
应用xUtils3框架编写的登录注册界面,使用的是xUtils3.3.22,数据解析使用gson,内含xutils3.3.22jar包和gson2.2.2jar包, xutils3,登录注册界面和主界面,Gson数据解析,xutils3.3.22 jar包,gson的jar包
xUtils3变化较多所以建立了新的项目不在旧版(github.com/wyouflf/xUtils)上继续维护, 相对于旧版本: HTTP实现替换HttpClient为UrlConnection, 自动解析回调泛型, 更安全的断点续传策略; 支持标准的Cookie策略, ...
在Android开发中,xUtils3是一个非常流行的开源框架,它为开发者提供了许多便利的功能,包括网络请求、数据库操作、图片加载等。在这个“xUtils3文件下载Demo”中,我们将探讨如何利用xUtils3框架来实现一个简单的...