Activeandroid入门使用

小生在学习android的过程中对spl这一块有种朦朦胧胧的感觉,这一部分的知识点很混乱。其实也是因为自己没有认真的整理过知识点所导致的,但,who care!今天学习了

activeandroid之后,腰也不疼了,腿也不酸了,一口气上五楼,嘿。感谢android领域的大神们对技术的分享,让我这个大白感受到了开源,分享的力量。


开发者对activeandroid的其中一句描述也是说到心坎上,***不使用sql语句就能实现***爽的不要不要的。


那接下来就认识Activeandroid的使用了:

1:导入activeandroid库

下载jar包,添加到依赖:

我把jar包放到了网盘上:http://pan.baidu.com/s/1dFaB0Wx

也或者:

在gradle中:compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'

2:在清单文件中设置数据库名字以及版本号:

<meta-data android:name="AA_DB_NAME"
            android:value="Bigname.db" />
        <meta-data
            android:name="AA_DB_VERSION"
            android:value="1" />
第一个是数据库名字,第二个是数据库版本,不写的话也会有默认值的,分别是Application.db  ,  1


3:指定Application,并完成初始化以及最后的清理工作

可以自定义Application,要注意继承的是:

com.activeandroid.app.Application
而不是app.Application噢!


然后再onCreate()方法中执行:AvtiveAndroid.initailize(this);       //初始化工作

在onTerminate()方法中执行:ActiveAndroid.dispose(this);    //清理工作


别忘了还要在清单文件中指明application中的name=".MyApplication"

android:name=".MyApp"

4:建立数据模型

在这里,你的表格,字段都不需要你去执行语句生成的,你只需要创建继承自Model的类,他的类名会映射成表明,属性映射成字段。

如果不希望类名作为表名的话可以在类上添加注释@Table(name = "tablename") ,而属性必须手动加上注释@Column才会映射成字段

@Table(name = "qianfengStu")
public class Student extends Model {
    @Column
    public String name;
    @Column
    public int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}


运行到这里你的数据库以及表格字段等就已经能够正常的生成了,接下来就是对数据库的增删查改。


增:调用model的save()方法。

Student student = new Student("bigname", 1);
        student.save();

意为:添加name=bigname,age=1的数据


查:使用Select对象。

Select select = new Select();
        List<Student> list = select.from(Student.class)
                .where("name like ?","%l")
                .execute();

意为:查询name中最后一位为l的数据


返回list集合,如果执行executeSingle()的话就是查询一条数据.


改:使用Update对象

Update update = new Update(Student.class);
        update.set("name = pp").where("id = 5").execute();
意为:把id=5的数据的name改为pp


删:可使用Delete对象,也可以使用model对象的delete()方法等...

        //删除有多种方式
        //第一种,使用delect对象
//        Delete delete = new Delete();
//        delete.from(Student.class).where("name like ?","%g%").execute();
        //第二种
//        Student.delete(Student.class,1);//直接通过id来删除
        //第三种  使用model对象的delete()方法
        List<Student> list = new Select().from(Student.class).where("name like ?", "%g%").execute();
        for (Student s : list) {
            s.delete();
        }

增删查改的基本使用也就差不多这样了。


最后说一下数据库的版本升级:

1:首先在你的清单文件中增加你的版本号(旧版本+1)

2:创建如下的目录结构    assest/migrations/新的版本号.sql    在里面写上你变动数据库的语句,例如添加在Student表中添加新的字段:
ALTER TABLE Student ADD COLUMN classnumber INTEGER

3:最后你要对应的修改你的model类



在练习的过程中遇到这样一个问题:

在1版本正常安装使用之后,打算升级2版本,但是assets文件名写成了assest,这样导致了添加字段失败了,然后再把这个名字改回来但还是不能够正常升级。


错误原因:就是错误升级之后的不能再去升级,意思就是不是改一下就行的。


解决方法:卸载软件,恢复到版本1,再重新升级到版本2。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值