Activeandroid入门使用

来源:互联网 发布:淘宝手机如何发布宝贝 编辑:程序博客网 时间:2024/06/08 15:44

小生在学习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
原创粉丝点击