android xutils 框架,Android xUtils框架(一) DbUtils

框架地址:https://github.com/wyouflf/xUtils需要的权限uses-permissionandroid:name=android.permission.INTERNET/ uses-permissionandroid:name=android.perm

框架地址:https://github.com/wyouflf/xUtils

需要的权限

"android.permission.INTERNET"/>

"android.permission.WRITE_EXTERNAL_STORAGE"/>

创建数据库

DaoConfig config = new DaoConfig(context);

config.setDbName("xUtils-demo"); //db名

config.setDbVersion(1);  //db版本

DbUtils db = DbUtils.create(config);//db还有其他的一些构造方法,比如含有更新表版本的监听器的

创建表

db.createTableIfNotExist(User.class); //创建一个表User

db.save(user);//在表中保存一个user对象。最初执行保存动作时,,也会创建User表

删除表

db.dropTable(User.class);

开启事务

db.configAllowTransaction(true);

db相关Annotation

@Check    check约束

@Column   列名

@Finder   一对多、多对一、多对多关系(见sample的Parent、Child中的使用)

@Foreign  外键

@Id       主键,当为int类型时,默认自增。 非自增时,需要设置id的值

@NoAutoIncrement  不自增

@NotNull  不为空

@Table    表名

@Transient  不写入数据库表结构

@Unique   唯一约束

一些常用方法

DbUtils db = DbUtils.create(this);

User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性

user.setEmail("wyouflf@qq.com");

user.setName("wyouflf");

db.save(user); // 使用saveBindingId保存实体时会为实体的id赋值

...

// 查找

Parent entity = db.findById(Parent.class, parent.getId());

List list = db.findAll(Parent.class);//通过类型查找

Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=","test"));

// IS NULL

Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=", null));

// IS NOT NULL

Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","!=", null));

// WHERE id<54 AND (age>20 OR age<30) ORDER BY id LIMIT pageSize OFFSET pageOffset

List list = db.findAll(Selector.from(Parent.class)

.where("id" ,"

.and(WhereBuilder.b("age", ">", 20).or("age", " < ", 30))

.orderBy("id")

.limit(pageSize)

.offset(pageSize * pageIndex));

// op为"in"时,最后一个参数必须是数组或Iterable的实现类(例如List等)

Parent test = db.findFirst(Selector.from(Parent.class).where("id", "in", new int[]{1, 2, 3}));

// op为"between"时,最后一个参数必须是数组或Iterable的实现类(例如List等)

Parent test = db.findFirst(Selector.from(Parent.class).where("id", "between", new String[]{"1", "5"}));

DbModel dbModel = db.findDbModelAll(Selector.from(Parent.class).select("name"));//select("name")只取出name列

List dbModels = db.findDbModelAll(Selector.from(Parent.class).groupBy("name").select("name", "count(name)"));

...

List dbModels = db.findDbModelAll(sql); // 自定义sql查询

db.execNonQuery(sql) // 执行自定义sql

...

db相关类库结构:

com.lidroid.xutils.db.annotation

Check.java

Column.java

Finder.java

Foreign.java

Id.java

NoAutoIncrement.java

NotNull.java

Table.java

Transient.java

Unique.java

com.lidroid.xutils.db.converter

BooleanColumnConverter.java

ByteArrayColumnConverter.java

ByteColumnConverter.java

CharColumnConverter.java

ColumnConverter.java

ColumnConverterFactory.java

DateColumnConverter.java

DoubleColumnConverter.java

FloatColumnConverter.java

IntegerColumnConverter.java

LongColumnConverter.java

ShortColumnConverter.java

SqlDateColumnConverter.java

StringColumnConverter.java

com.lidroid.xutils.db.sqlite

ColumnDbType.java

CursorUtils.java

DbModelSelector.java

FinderLazyLoader.java

ForeignLazyLoader.java

Selector.java

SqlInfo.java

SqlInfoBuilder.java

WhereBuilder.java

com.lidroid.xutils.db.table

Column.java

ColumnUtils.java

DbModel.java

Finder.java

Foreign.java

Id.java

KeyValue.java

Table.java

TableUtils.java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
xUtils是一个开源的Android开发框架,它提供了很多便捷的操作,可以简化Android开发过程中的代码编写。其中,xUtils中的HttpUtils是一个用于发送HTTP请求的工具类。下面是一个简单的使用示例: ```java import org.xutils.common.Callback; import org.xutils.http.RequestParams; import org.xutils.x; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建HttpUtils实例 HttpUtils httpUtils = new HttpUtils(); // 创建请求参数对象 RequestParams params = new RequestParams("http://www.example.com/api"); // 发送GET请求 httpUtils.send(HttpMethod.GET, params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { // 请求成功时的处理逻辑 Log.d("TAG", "onSuccess: " + result); } @Override public void onError(Throwable ex, boolean isOnCallback) { // 请求失败时的处理逻辑 Log.e("TAG", "onError: " + ex.getMessage()); } @Override public void onCancelled(CancelledException cex) { // 请求被取消时的处理逻辑 Log.d("TAG", "onCancelled"); } @Override public void onFinished() { // 请求完成时的处理逻辑 Log.d("TAG", "onFinished"); } }); } } ``` 上述代码中,我们首先创建了一个HttpUtils实例,然后创建了一个RequestParams对象,用于设置请求的URL和参数。接下来,我们使用HttpUtils的send方法发送GET请求,并通过Callback回调接口处理请求的结果。在回调方法中,我们可以根据请求的结果进行相应的处理。 请注意,上述代码中的示例仅用于演示xUtils框架中的HttpUtils的基本用法,实际使用时可能需要根据具体需求进行适当的修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值