Android高级_第三方框架Xutils

xutils的功能主要包括有四个部分:(1)布局视图关联;(2)图片下载与缓存;(3)网络请求;(4)数据库;

1. 使用xutils进行视图注入:

(1)在控件声明上方添加@ViewInject()传入控件的资源Id;

(2)OnCreate()中使用x.view().inject(),传入上下文对象即可;

(3)设值点击事件:

  (3-1)自定义点击事件方法;访问权限为私有private void,传入View参数;

  (3-2)在方法上方加入注解@Event()传入控件的资源Id;

      注意:如果给多个控件设置在同一个点击事件中,在@Event()中传入int数组,数组中为不同的控件资源Id即可;

  (3-3)在@Event()中传入第二个参数为事件类型,默认type=OnClickListener.class,可以修改为type=AdapterView.OnItemClickListener.class;

3.网络图片下载:

(1)添加网络访问权限,读、写外存权限;

(2)声明并实例化ImageView控件;

(3)在Activity或者Application的onCreate()中初始化xutils网络请求:调用x.Ext.init(getApplication());

(3-1)在继承Application的自定义类中onCreate()使用:

(3-2)onTerminate(),在程序退出时调用此方法;

(3-3)onLowMemeory(),在程序运行内存不足时调用此方法;

(4)设置图片参数:

  (4-1)创建ImageOptions.Builder对象图片参数创建类,分别调用一下方法;

  (4-2)setConfig(Bitmap.Config.RGB_565)设置图片参数;

  (4-3)setUseMemCache(true)设置是否图片缓存;  注意:此处是3g缓存功能;

  (4-4)setRadius(10)设置图片圆角;  注意:慎用,是对图片的处理,不是直接操作ImageView;

  (4-5)setLoadingDrawableId()设置加载时的图片资源Id;

  (4-6)setFailureDrawableId()设置图片下载失败时的显示资源Id;

  (4-7)setIgnoreGif()设置是否忽略GIF格式的图片;false为动态显示;

  (4-8)ImageOptions.Builder对象调用build(),返回ImageOptions对象,启动创建的图片参数对象;

(5)启动图片下载,调用x.image().bind()传入两个或三个参数:

    参数1:要显示的ImageView控件;

    参数2:图片下载路径;

    参数3:(可选)ImageOptions对象的图片参数;

    ImageView加载图片过程:最开始会从内存里加载图片,如果找到图片就会直接返回图片,如果没有就会从硬盘缓存里面去取图片,如果硬盘缓存还没有就会从网络加载图片;从网络加载图片,会存一份在内存中,同时存一份在外存SDcard中;

4.网络请求

(1)get下载请求:

  (1-1)添加网络访问权限,读、写外存权限;

  (1-2)设置请求参数:创建RequestParams对象,传入网络下载路径;

  (1-3)启动下载数据:x.http().get(),传入两个参数,返回Callback.Cancelable对象:

参数1:RequestParams对象;

参数2:实现Callback.CommonCallback<String>接口的对象;

  (1-4)实现Callback.CommonCallback<String>接口:重写四个方法:

方法1:onSuccess(String result):下载成功之后调用此方法;

方法2:onError():下载失败时调用此方法;

方法3:onCancelled():取消下载时调用此方法;

方法4:onFinished():下载结束时调用此方法;

  (1-5)在onDestroy()中,判断Cancelable对象不为空,而且可以取消时,取消网络下载任务:Cancelable对象调用cancel()即可;

(2)post上传请求:

  (2-1)清单文件中添加网络访问权限,读、写外存权限;

  (2-2)设置请求参数:创建RequestParams对象,传入网络上传路径;

  (2-3)RequestParams对象调用addBodyParameter(),传入键值对形式的数据;

  (2-4)发送请求:x.http().post(),传入两个参数,返回Callback.Cancelable对象:

参数1:RequestParams对象;

参数2:回调监听实现Callback.CommonCallback<String>接口,在该实现该接口的类中重写四个方法:

方法1:onSuccess():上传成功时回调此方法;

方法2:onError():上传失败时回调此方法;

方法3:onCancelled():上传取消时回调此方法;

方法4:onFinished():上传结束时回调此方法;

(3)upload上传文件:在RequestParams对象中,创建上传文件路径,以键值对的形式放入RequestParams对象调用addBodyParameter()中;其他地方与上传数据相同;

(4)download下载文件

  (4-1)使用download包下的项目工具;

  (4-2)创建文件下载路径:Environment对象调用getExternalStorageDirectory().getAbsolutePath()得到绝对路径;

  (4-3)DownloadManager对象调用getInstance()得到DownloadManager对象;

  (4-4)DownloadManager对象调用startDownload(),传入六个参数:

    参数1:下载路径;

    参数2:保存标记;

    参数3:文件路径;

    参数4:是否支持断点续传;

    参数5:是否支持重命名;

    参数6:null空参;

5. 数据库功能:可以设置增删改查,数据库信息以Module形式存储;

(1)创建JavaBean保存数据库中的一张表信息;

   在当前JavaBean前加入注解:@TABLE(),传入name=””,作为表名;

   在JavaBean中的属性前加入注解:@Column(),传入id=””作为字段Id,传入name=””作为字段名;

    注意:在数据库对应的JavaBean中必须有id属性,绑定注解为@Column(isId=true, name=””),否则会在运行时报空指针异常;

(2)在Activity中配置数据库信息:

(2-1)创建DbManager.DaoConfig对象;

(2-2)setDbName(),传入数据库名;

(2-3)setDbOpenListener(),传入实现DbManager.DbOpenListener接口的对象,重写onDbOpened()打开数据;

(2-4)setDbUpgradeListener(),传入实现DbManager.DbUpgradeListener接口的对象,重写onDbUpgrade()在更新数据库时使用;

(3)在需要操作数据库的地方进行增删改查操作:

(3-1)增:

    创建JavaBean对象,设置数据;使用x.getDb()传入创建的DbManager.DaoConfig对象,之后调用save(),传入JavaBean对象;

(3-2)删:

    1)删除整张表:x.getDb()传入创建的DbManager.DaoConfig对象,之后调用delete(),传入JavaBean.class;

    2)根据Id删除单条记录:x.getDb()传入创建的DbManager.DaoConfig对象,之后调用deleteById(),传入两个参数:JavaBean.class和要删除记录的Id;

    3)根据条件删除单条记录:x.getDb()传入创建的DbManager.DaoConfig对象,之后调用delete(),传入两个参数:JavaBean.class和WhereBuilder.b().and().or().exo()等数据可以传入的条件参数;

(3-3)改:

    1)根据Id修改单条记录:x.getDb()传入创建的DbManager.DaoConfig对象,之后调用update(),传入两个以上参数:创建的JavaBean对象和要修改的字段名;

    2)根据条件修改记录:x.getDb()传入创建的DbManager.DaoConfig对象,之后调用update(),传入三个以上参数:JavaBean.class, WhereBuilder.b()传入条件参数,保存修改后的键值对应的KeyValue对象;

(3-4)查:

    x. getDb()传入创建的DbManager.DaoConfig对象,之后调用selector(),传入JavaBean.class参数,返回Selector<JavaBean>对象;之后根据该对象调用where()传入whereBuilder.b()条件参数,之后调用findAll()开始查找,返回List<JavaBean>对象为查找结果;

时间: 2024-08-29 14:35:47

Android高级_第三方框架Xutils的相关文章

Android高级_第三方下载工具Volley

Volley下载主要应用于下载文本数据和图片数据两个方向,下面分别介绍: 一.使用Volley开启下载,首先要做的是导包和添加权限: (1)在build.gradle文件中导入依赖包:compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28': (2)在清单文件中添加访问网络权限,读.写外存权限: 二.文本内容上传下载步骤: (1)创建RequestQueue对象,用于发送请求的请求队列:同时创建StringRequest对象,用于

Android高级_视频播放控件

一.Android系统自带VideoView控件 1. 创建步骤: (1)自带视频文件放入res/raw文件夹下: (2)声明初始化VideoView控件: (3)创建视频文件Uri路径,Uri调用parse(),传入(”android.resource://”+getPackageName()+”/”+R.raw.video)当前字符串获取资源路径: (4)为视频控件设置播放路径,VideoView对象调用setVideoURI(),传入Uri对象: (5)开始播放,VideoView对象调用

Android开发使用的常见第三方框架汇总

本文转载:http://blog.csdn.net/liuhaomatou/article/details/44857005 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(scheduling) (3)  网络请求的优先级处理 (4)  缓存 (5)  多级别取消请求 (6)  和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

android 开源框架xUtils

首先查到的博客地址:  http://zxs19861202.iteye.com/blog/2003241 Github地址: https://github.com/wyouflf/xUtils xUtils简介 xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls最低兼容android 2.

android第三方框架 xlistview 的使用

如今上拉刷新,下拉加载更多已经是浩如烟海的app的标配了 最近正好有相关的需要就去学习了一下,还是那句老话凡事都靠自己来 搞实在不是一件好事,费时费力不说可能还是在做无用功,不过自己研究学习 还是很有必要的.不多说我用到的第三方框架叫xlistview这是它的托管地址: https://github.com/Maxwin-z/XListView-Android 下载下来以后 把解压出来的内容拷贝到自己的项目下(可以自己建一个包专门存放,我是这样做的) 要注意的是layout,String和dra

Android开发使用的常见第三方框架

1.SlidingMenu 官网:https://github.com/jfeinstein10/SlidingMenu 网友使用:http://blog.csdn.net/yangyu20121224/article/details/9255829 2.android-async-http https://github.com/loopj/android-async-http 3.PullToRefresh 下拉刷新 https://github.com/chrisbanes/Android-

Android最近项目用到的框架xUtils

项目地址:https://github.com/wyouflf/xUtilsxUtils 简介 xUtils 包含了很多实用的android工具. xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls最低兼容android 2.2 (api level 8) DbUtils模块: android中的orm框架,一行代码就可以进行增删改查: 支持事务

Android App 开发常用的xUtils框架

最近搜了一些框架供初学者学习,比较了一下XUtils是目前git上比较活跃 功能比较完善的一个框架,是基于afinal开发的,比afinal稳定性提高了不少,下面是介绍: 鉴于大家的热情,我又写了一篇Android 最火框架XUtils之注解机制详解<-点击查看 xUtils简介 xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节