我们在开发中,遇到数据存储的话,如果用SQL语句,有点麻烦了,也容易出错,我们这里介绍开源项目ActiveAndroid,它也基于SQL不过使用起来比较简单。

 

基本使用

当然大家可以去https://github.com里去下一个开源项目ActiveAndroid。

  1、将ActiveAndroid.jar拷贝到libs中

wKiom1XDb-riB8VHAAA8m1N08Lw070.jpg 

 

  2、创建一个类继承application,在application中初始化AAwKiom1XDb_egGHBNAADU9au6SsA115.jpg

 

   

 3、创建一个类,并继承Model,这个类也就是你这张表。

      类里面的@Table(  name =”表名” )

     @Column就是列名(String name)这里的name就是列名。

wKiom1XDcF7TV_FWAAC1xVkbcP0034.jpg 

   注意点:有一些;列名是不能用的,为什么呢,因为这些类名会跟SQL语句中的关键字冲突等原因,当然注意一些常用的就好了!

ABORT               DEFAULT         INNER         REGEXP

ACTION              DEFERRABLE      INSERT        REINDEX

ADD                 DEFERRED        INSTEAD       RELEASE

AFTER               DELETE          INTERSECT     RENAME

ALL                 DESC            INTO          REPLACE

ALTER               DETACH          IS            RESTRICT

ANALYZE             DISTINCT        ISNULL        RIGHT

AND                 DROP            JOIN          ROLLBACK

AS                  EACH            KEY           ROW

ASC                 ELSE            LEFT          SAVEPOINT

ATTACH              END             LIKE          SELECT

AUTOINCREMENT       ESCAPE          LIMIT         SET

BEFORE              EXCEPT          MATCH         TABLE

BEGIN               EXCLUSIVE       NATURAL       TEMP

BETWEEN             EXISTS          NO            TEMPORARY

BY                  EXPLAIN         NOT           THEN

CASCADE             FAIL            NOTNULL       TO

CASE                FOR             NULL          TRANSACTION

CAST                FOREIGN         OF            TRIGGER

CHECK               FROM            OFFSET        UNION

COLLATE             FULL            ON            UNIQUE

COLUMN              GLOB            OR            UPDATE

COMMIT              GROUP           ORDER         USING

CONFLICT            HAVING          OUTER         VACUUM

CONSTRAINT          IF              PLAN          VALUES

CREATE              IGNORE          PRAGMA        VIEW

CROSS               IMMEDIATE       PRIMARY       VIRTUAL

CURRENT_DATE        IN              QUERY         WHEN

CURRENT_TIME        INDEX           RAISE         WHERE

CURRENT_TIMESTAMP   INDEXED         RECURSIVE     WITH

DATABASE            INITIALLY       REFERENCES    WITHOUT

 

    3.1、添加

   wKiom1XDcOyT3NkjAACoeazGXOE821.jpg

实现添加大量数据,其中的 ActiveAndroid.beginTransaction(), 可以提高添加数据的效率,可以自己打印日志看一下耗时。

   wKioL1XDcvXzed_yAAGshprzTP4337.jpg



   3.2 删除:一对一数据存储

   wKiom1XDcQfj6T9PAACDoYrJayg614.jpg

   删除:一对多数据存储,(也就是主表还有子表,例如:学生列表里有:名字,年龄,爱好(篮球、足球、跑步))

注意点就是要先删除子表再删除主表。

 

主表

wKiom1XDcUKR8YIBAAEnNuRDLVo395.jpg 

 

子表:子表要关联主表:    @Column ( name = “stu ”) 

wKioL1XDc0qhnzjcAAI8rWguR9M116.jpg 

 

 

       3.3查询 

        a、查询单条数据

   wKiom1XDcl2RiYJbAAC-arextAQ642.jpg


   wKioL1XDdESw6SA0AADO2JSUh-U613.jpg


     3.4修改

   wKiom1XDcgqjsZznAADTqJ82X7I171.jpg