框架整理系列十八(临时存储)

Android-NoSql

轻型数据库

框架整理系列十八(临时存储)_第1张图片
img

Download

大神:https://github.com/florent37/Android-NoSql

dependencies {
    compile 'com.github.florent37:android-nosql:1.0.0'
}

Save your datas as a structured tree

noSql.put("/users/", "florent")
noSql.put("/users/", "kevin")
nosql.put("/identifiers/florent", 10)
nosql.put("/identifiers/kevin", 12)

The data structure will be

/
---users/
      ---"florent"
      ---"kevin"
---identifiers/
      ---florent/
             ---10
      ---kevin/
             ---12

It'll be simple to search data

int myId = noSql.get("/identifiers/florent/").integer();

Serialize objects

You can simply add nodes from POJOS

final User user = new User(
                "flo",
                new House("paris"),
                Arrays.asList(new Car("chevrolet camaro"), new Car("ford gt"))
        );

noSql.put("/user/florent/", user);
/
 ---users/
       ---florent/
               ---name/
                    ---"flo"
               ---house/
                    ---adress/
                           ---"paris"
               ---cars/
                    ---0/
                      ---model/
                            ---"chevrolet camaro"
                    ---1/
                      ---model/
                            ---"ford gt"

Get Objects from node

Or fetch nodes directly into Java Objects

User user = noSql.get("/user/florent/", User.class);

Navigate

noSql.node("/identifiers/")
     .child("florent")
     .childNodes()
     .get(1)
     .put("country", "france");

Listeners

You can listen for nodes updates

noSql.notify("/user/", new Listener() {
            @Override
            public void nodeChanged(String path, NoSql.Value value) {
                //notified when :
                // - the node is created
                // - the node is deleted
                // - a subnode is added / updated
             }
        });

Init

Android-NoSql need DataSavers to store your objets

public class MainApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        AndroidNoSql.initWith(
                new SharedPreferencesDataSaver(getSharedPreferences("test", Context.MODE_PRIVATE))
        );
    }
}

你可能感兴趣的:(框架整理系列十八(临时存储))