初始化及注解:
x.Ext. init ( this );
//是否开启log,开启后将影响性能
x.Ext. setDebug ( true );
注解的使用:
①//绑定空间及布局文件
@ContentView (R.layout. activity_main )
public class MainActivity extends AppCompatActivity {
@ViewInject (R.id. pgb )
ProgressBar bar ;
@ViewInject (R.id. img_test )
ImageView imgTest ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
x. view ().inject( this );
}
②//绑定事件
/**
* 给每个按钮设置点击事件
*/
@Event (value = {R.id. btn_get , R.id. btn_post , R.id. btn_download , R.id. btn_upload , R.id. load_img , R.id. btn_db })
private void getEvent(View v) {
switch (v.getId()) {
case R.id. btn_get :
getMethod();
break ;
case R.id. btn_post :
postMethod();
break ;
case R.id. btn_download :
download();
break ;
case R.id. btn_upload :
upload();
break ;
case R.id. load_img :
loadImage();
break ;
case R.id. btn_db :
useDb();
break ;
}
}
一:get请求:
/**
* get的请求方法
*/
public void getMethod() {
RequestParams params = new RequestParams( "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" );
x.http().get(params, new Callback.CommonCallback<String>()......}
二:post请求: (上传表单或者上传json)
/**
* 使用xutils完成post请求
*/
public void postMethod() {
RequestParams params = new RequestParams( "https://www.baidu.com/?tn=62095104_oem_dg" );
//上传表单
params.addBodyParameter( "age" , "25" );
//上传json数据----------------------------------------------------------------------------------
JSONObject object = new JSONObject();
try {
object.put( "name" , "23" );
} catch (JSONException e) {
e.printStackTrace();
}
params.setAsJsonContent( true );
params.setBodyContent(object.toString());
//--------------------------------------------------------------------------------------------------
x. http ().post(params, new Callback.CommonCallback<String>() {............}
三:断点续传(下载):
public void download() {
RequestParams params = new RequestParams( "https://github.com/XXApple/AndroidLibs.git" );
//下载文件完成放置的路径
params.setSaveFilePath(Environment. getExternalStorageDirectory () + "/me/a.zip" );
//是否自动命名
params.setAutoRename( false );
//是否断点续传
params.setAutoResume( true );
//开三个子线程进行下载,会更快
params.setExecutor( new PriorityExecutor( 3 , true ));
//是否可以停止
params.setCancelFast( true );
x. http ().get(params, new Callback.ProgressCallback<File>() {........}
四:上传文件:
//上传的路径
RequestParams params = new RequestParams( "xxxxxxx" );
//是否是上传文件
params.setMultipart( true );
//本地文件的路径
params.addBodyParameter( "file" , Environment. getExternalStorageDirectory () + "sdcard/a.mp4" );
x. http ().get(params, new Callback.CommonCallback<String>() {......}
五:图片加载:
public void loadImage() {
ImageOptions options = new ImageOptions.Builder().
setCrop( true ).
setLoadingDrawableId(R.mipmap. ic_launcher ).
setUseMemCache( true ).
build();
x. image ().bind( imgTest , "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" , options);
}
六:数据库:
一:对象中指定表名和列名,如下
@Table (name = "person" )
public class Person {
@Column (name = "id" , autoGen = true , isId = true )
private int id ;
@Column (name = "age" )
private int age ;
@Column (name = "name" )
private String name ;
@Column (name = "price" )
private int price ;
二:初始化DbManager
private DbManager.DaoConfig getConfig() {
DbManager.DaoConfig config = new DbManager.DaoConfig();
//数据库的路径
config.setDbDir( new File( "sdcard/360" )).
//是否允许事物
setAllowTransaction( true ).
//数据库名
setDbName( "test.db" ).
//数据库版本
setDbVersion( 1 ).
setDbOpenListener( new DbManager.DbOpenListener() {
@Override
public void onDbOpened(DbManager db) {
// 开启WAL, 对写入加速提升巨大
db.getDatabase().enableWriteAheadLogging();
}
}).setDbUpgradeListener( new DbManager.DbUpgradeListener() {
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
}
}).setTableCreateListener( new DbManager.TableCreateListener() {
@Override
public void onTableCreated(DbManager db, TableEntity<?> table) {
}
});
return config;
}
三:增
List<Person> persons = new ArrayList<>();
for ( int i = 0 ; i < 5 ; i++) {
Person person = new Person(i, 20 + i, "路人" + i, 10 + i);
persons.add(person);
}
try {
db .saveBindingId(persons);
} catch (DbException e) {
e.printStackTrace();
}
四:删
try {
//删除所有元素
db .delete(Person. class );
//删除指定ID的元素
db .deleteById(Person. class , 1 );
//删除指定元素
db .delete( new Object());
//删除特定条件的元素
WhereBuilder builder = WhereBuilder. b ();
builder.and( "id" , "=" , "2" );
db .delete(Person. class , builder);
} catch (DbException e) {
e.printStackTrace();
}
五:改
WhereBuilder builder = WhereBuilder. b ();
builder.and( "id" , "=" , "1" );
try {
db .update(Person. class , builder, new KeyValue( "id" , 10 ), new KeyValue( "price" , "999999999" ));
} catch (DbException e) {
e.printStackTrace();
}
六:查
try {
long a = db .selector(Person. class ).count();
//查个数
Log. e ( "a" , "useDb: " );
//查找所有元素
List<Person> list = db .findAll(Person. class );
Log. e ( "list" , "" + list.size());
//查找指定ID的元素
Person person1 = db .findById(Person. class , 3 );
Log. e ( "person1" , "" + person1.toString());
//按指定条件查找
List<Person> person2 = db .selector(Person. class ).where( "id" , "=" , "4" ).findAll();
Log. e ( "person2" , "" + person2.get( 0 ).toString());
} catch (DbException e) {
e.printStackTrace();
}

Xutils3使用全解析相关推荐

  1. Go modules基础精进,六大核心概念全解析(下)

    Go 语言做开发时,路径是如何定义的?Go Mudules又为此带来了哪些改变?本文将会全面介绍Go Modules六大核心概念,包括了设计理念与兼容性原则等,掌握这些技术点对于管理和维护Go 模块有 ...

  2. 第四章:Spring项目文件上传两种方式(全解析)

    欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...

  3. 阿里秋招面试全解析(含内推岗)

    每个技术人都有个大厂梦,我觉得这很正常,并不是饭后的谈资而是每个技术人的追求.像阿里.腾讯.美团.字节跳动.京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻 ...

  4. Apache Web服务器访问控制机制全解析

    Apache Web服务器访问控制机制全解析 原文请见: http://netsecurity.51cto.com/art/201102/245666.htm Linux下的Aapche服务器提供了强 ...

  5. 6.15 Unity引擎渲染效率全解析

    UWA新晋主播赵福恺从Unity渲染模块中的各种渲染效果性能.PBR渲染性能以及阴影的渲染性能三个角度分别进行了详细的分析总结.为响应各大听众的需求,小编奉上完整视频回顾,同时也向看完直播才下班的五好 ...

  6. python读取txt文件写入-Python读写txt文本文件的操作方法全解析

    一.文件的打开和创建 >>> f = open('/tmp/test.txt') >>> f.read() 'hello python! hello world! ...

  7. jQuery Ajax 实例 全解析(转)

    jQuery Ajax 实例 全解析 jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我 ...

  8. Fragment全解析系列

    文/YoKey(简书作者) 原文链接:http://www.jianshu.com/p/d9143a92ad94 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". F ...

  9. 万物之始正则表达式全解析三部曲(中篇)-正则表达式运算符优先级及匹配规则

    前言 各位小伙伴大家好,接下来几天时间,我会从多个角度对正则表达式进行系统阐述,让你了解正则表达式的前世今生. 该系列文章上篇 万物之始正则表达式全解析三部曲(上篇)-正则表达式基础知识及语法 以下是 ...

最新文章

  1. 劝你别把开源的AI项目写在简历上了!!!
  2. Linux系统启动级别及grub配置(一)
  3. 系列(七)—测试用例设计
  4. SAP Cloud Application Programming CatalogService 默认的路径
  5. java 顺序栈_Java实现顺序栈
  6. Laravel中自定义guard,自定义Auth的attempt方法
  7. Flutter进阶—布局一个控件
  8. vue-cli+gitlab代码管理时,vue项目配置文件设置
  9. 堆内存与栈内存能不能共享,不能,,通俗的比较,堆主要用来存放对象的,栈主要是用来执行程序的...
  10. MySQL Workbench 如何连接 Amazon EC2 上的MySQL服务器?
  11. 贪心算法(greedy algorithm,又称贪婪算法)详解(附例题)
  12. 全网最详细关于3D打印的zbrush技术
  13. 计算机excel混合引用,excel绝对引用、混合引用和相对引用怎么用
  14. 秒级去重:ClickHouse在腾讯海量游戏营销活动分析中的应用
  15. 进程、线程等操作系统基础知识
  16. 网易云音乐再成功融资!2018年成数字音乐资本大年
  17. 如何用Python画一只兔子——turtle库circle()画圆函数的详细用法介绍
  18. SAP中采购订单收货和发票收据选项的控制逻辑分析
  19. yocto系列讲解[理论篇]56 - poky下目录结构
  20. android网络下载图片并且显示在图库中

热门文章

  1. improve your Github overview page
  2. 电子地图如何制作简介
  3. 网站跨域请求的解决方案
  4. kubernets-RBAC
  5. 【深度学习】TensorFlow基础知识点总结
  6. sklearn.metrics 用法详解
  7. mysql 进入_如何进入MySQL
  8. 如何实现从CTO到CEO的跨越(红色标注是我关注的点)
  9. Linux 知:文件系统
  10. 中国公布建设网络强国的时间表和路线图