Xutils3.3.26 使用详解和个人笔记

先从下图中大致了解下Xutils主要的一些功能:(图片来自互联网)查看图片

《Xutils3.3.26 使用详解和个人笔记》

随后在看看在Android Studio中的配置吧:(图片依然来自互联网)查看图片

《Xutils3.3.26 使用详解和个人笔记》

现在才开始正文能 别急

做事一定要有条理,所以 我们就一条一条来萝莉查看图片(罗列);

数据库模块:

创建数据库:

DbManager.DaoCinfig daoConfig=new DbManager.DaoCinfig()

.setDbName(string),不设置的话默认是xutil的DB

.setTableCreateListener(Table)//表创建的监听

setAllowTransaction(bool)是否允许事务,默认true;

//数据库路径,不设置的话 默认在安装路径

.setDbDir(file dir)

.setDopenListener()//数据库打开的监听

.setDbUpfradeListener()//数据库更新监听

.setDbVersion(int)//设置数据库版本号;

DbManager db=x.getDb(daoConfig);

——————————-

xutils数据库模块使用了ORM技术,不需要写sql语句;

db.save(entity);可以传入Liset 集合//会将这个对象自动映射成表;

【为类添加@Table注解(name=”_taleName”,onCreated=””)当表第一次创建时onCreated调用(可以在创建是添加数据)】

@Column(name=”字段名”,isID=”是否主键bool”,autoGen=”是否自增长”,property=”约束(not null)”)

创建表时,需要该entity有2个构造,如果没有将创建失败;

删除数据库:db.dropDb();

删除表:

WhereBuilder b=WhereBuilder.b();

b.expr(“id”=”1”);

db.delete(bean.class,b);

查询数据:

db.findFirst(Class );//查询第一条数据

db.findAll();//查询所有

db.findDbModelAll(SqlInfo);

db.findDbModelFirst(SqlInfo);

db.dinfbyId(Class ,Object);//通过ID 的方式查询;

//带查询条件

db.selector(bean.class).出方法;

修改表中数据:

db.update(Class<>,whereBuilder,keyvalue);

修改第一条:

bean bean=db.findFirst(Class );

b.setName(“xx”);

db.update(b,”修改的列名”,””);

修改其他数据:

WhereBuilder b=WhereBuilder.b();

b.and(“id”,”=”,bean.getId());

KeyValue name=new KeyValue(“name”,“xx);

db.update(bean.class,b,name);

修改其他数据:

bean.setName(“xxx”);

db.saveOrUpdate(bean);

删除表中的数据:

db.delete(bean.class);//删除表中所有的数据

db.delete(bean.class,wb(添加条件));

一对多的关系
:一对多关系   这张图就能诠释了吧;这次图片不是来源于网络了 查看图片

《Xutils3.3.26 使用详解和个人笔记》

返回DeModel的查询:

sql语句不建议写select * ….

DbModel:是以key,value的形式将查询的字段保存起来 返回给我们;

《Xutils3.3.26 使用详解和个人笔记》

=========================================查看图片==================查看图片====================查看图片========================================

网络模块:

Callback.Cancelable cancelable=x.http().get(par){};

1.执行cancelable.cancel();时,方法中的onCancelled(xx);才会被执行;

2.onError(xx,xx);中的bool为false 说明异常信息 不是来源于回调;

其他请求方式:

x.http().request(HttpMethod.xxxx,par,calback);

文件:

par.setMultpart(true);//启用表单

par.addBodyParamter(“file”,new File(path));

x.http().post(par,callback);

下载:

new par(url);

par.setSaveFilePath();//设置文件下载的目录(会自动创建);

par.setAutoRename(true);//true时,会自动设置文件的名字;

x.http().post(par,Progressallable );

1.onWaiting()在网络请求之前被调用;

2.onStarted();网络请求开始的时候;

3.onLoading();下载时不断调用;

缓存:

par.setCacheMaxAge(ms);//设置缓存时间

x.http().get(par,CacheCallback ());

1.onCache(String result:缓存的内容);如果返回true:相信本地缓存;及在缓存时间内再次请求,加载缓存数据 不在访问网络;

图片模块:

x.image().bind(iv.url);

x.image().bind(iv.url,ImageOptions);

x.image().bind(iv.url,CommonCallback);

x.image().bind(iv.url,ImageOptions,CommonCallback);

ImageOptions options=new ImageOptions

.Bilder()

//设置图片的质量

.setConfig(Config.RGB.565)

//设置为true时  图片加载有个淡入效果

.setFadeIn(bool)

.setCrop(bool)和.setSize() 成对使用 Crop为true时,size生效

//true:展示为圆形

.setCirculat(bool)

.setAnimation(animation)

//true:待展示图片 将旋转图片

.setAutoRotate(bool)

//加载失败时的图片

.setFailureDrawable(drawable)

//图片加载过程中显示的图片

.setLoadingDrawableId(int)

//默认为true,为true时 显示加载过程中的图片

.setForceLoadingDrawable(bool)

//是否忽略GIF图,默认为忽略

.setIgnoneGif(bool)

//网略请求图片时,可以通过ParamsBuilder,添加参数

.setParamsBUilder(ParamsBuilder)

//设置加载失败 或者成功图片的Type

.setPlaceholderScaleType(ScaleType)

//设置拐角的弧度

.setRadius(int)

//true;图片为正方形

.setSquare(bool)

//设置是否使用缓存 默认为true

.setUserMemCache(bool)

最后的注解模块呢   分为activity、fragment、viewholder、event,这么几块;大家自寻探索吧;

下面是一个封装后的Xutils工具类

public class XutilsTool {
   /**
    * 发送get请求
    * @param 
    
      */ public static 
     
       Cancelable Get(String url, Map
      
        map, CommonCallback
       
         callback){ RequestParams params=new RequestParams(url); if(null!=map){ for(Map.Entry
        
          entry : map.entrySet()){ params.addQueryStringParameter(entry.getKey(), entry.getValue()); } } Cancelable cancelable = x.http().get(params, callback); return cancelable; } /** * 发送post请求 * @param 
         
           */ public static 
          
            Cancelable Post(String url, Map
           
             map, CommonCallback
            
              callback){ RequestParams params=new RequestParams(url); if(null!=map){ for(Map.Entry
             
               entry : map.entrySet()){ params.addParameter(entry.getKey(), entry.getValue()); } } Cancelable cancelable = x.http().get(params, callback); return cancelable; } /** * 上传文件 * @param 
              
                */ public static 
               
                 Cancelable UpLoadFile(String url, Map
                
                  map, CommonCallback
                 
                   callback){ RequestParams params=new RequestParams(url); if(null!=map){ for(Map.Entry
                  
                    entry : map.entrySet()){ params.addParameter(entry.getKey(), entry.getValue()); } } params.setMultipart(true); Cancelable cancelable = x.http().get(params, callback); return cancelable; } /** * 下载文件 * @param 
                   
                     */ public static 
                    
                      Cancelable DownLoadFile(String url, String filepath, CommonCallback
                     
                       callback){ RequestParams params=new RequestParams(url); //设置断点续传 params.setAutoResume(true); params.setSaveFilePath(filepath); Cancelable cancelable = x.http().get(params, callback); return cancelable; } } 
                     
                    
                   
                  
                 
                
               
              
             
            
           
          
         
        
       
      
     
    

    原文作者:SQL
    原文地址: https://juejin.im/entry/57b17665165abd00542d3853
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞