Android-NoSql
用于安卓的轻量级的简单结构的NoSQL数据库
Download
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))
);
}
}
It means you can store your data into SharedPreference, or SqlDatabase, or any storage library your want ?