https://github.com/goodow/realtime-android
数据驱动视图开发在 Android 平台的实现
https://github.com/goodow/realtime-android
activity android router
Last synced: about 1 year ago
JSON representation
数据驱动视图开发在 Android 平台的实现
- Host: GitHub
- URL: https://github.com/goodow/realtime-android
- Owner: goodow
- Created: 2013-05-29T10:13:52.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2017-12-28T09:14:59.000Z (over 8 years ago)
- Last Synced: 2025-04-06T11:48:44.954Z (about 1 year ago)
- Topics: activity, android, router
- Language: Java
- Homepage: https://live.goodow.com/
- Size: 266 KB
- Stars: 23
- Watchers: 7
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
realtime-android [](https://travis-ci.org/goodow/realtime-android)
================
Event bus client over WebSocket for java and andorid
Visit [Google groups](https://groups.google.com/forum/#!forum/goodow-realtime) for discussions and announcements.
## Adding realtime-android to your project
### Maven
```xml
sonatype-nexus-snapshots
Sonatype Nexus Snapshots
https://oss.sonatype.org/content/repositories/snapshots
false
true
com.goodow.realtime
realtime-android
0.5.5-SNAPSHOT
```
## Usage
### WebSocket mode
```java
AndroidPlatform.register(); // or JavaPlatform.register();
Bus bus = new ReconnectBus("ws://localhost:1986/channel/websocket", null);
bus.subscribe("some/topic", new MessageHandler() {
@Override
public void handle(Message message) {
JsonObject payload = message.payload();
System.out.println("Name: " + payload.get("name"));
}
});
bus.publish("some/topic", Json.createObject().set("name", "Larry Tin"));
```
```java
AndroidPlatform.register(); // or JavaPlatform.register();
Store store = new StoreImpl("ws://localhost:1986/channel/websocket", null);
Bus bus = store.getBus();
Handler onLoaded = new Handler() {
@Override
public void handle(Document document) {
Model model = document.getModel();
CollaborativeMap root = model.getRoot();
CollaborativeString name = root.get("name");
System.out.println("Name: " + name.getText());
}
};
Handler opt_initializer = new Handler() {
@Override
public void handle(Model model) {
CollaborativeString name = model.createString("Larry Tin");
CollaborativeMap root = mod.getRoot();
root.set("name", name);
}
};
store.load("docType/docId", onLoaded, opt_initializer, null);
```
See [WebSocketBusTest](https://github.com/goodow/realtime-android/blob/master/src/test/java/com/goodow/realtime/java/WebSocketBusTest.java)
and [ServerStoreTest](https://github.com/goodow/realtime-store/blob/master/src/test/java/com/goodow/realtime/store/impl/ServerStoreTest.java)
for more usage.
### Local mode
See https://github.com/goodow/realtime-android/blob/master/src/test/java/com/goodow/realtime/java/SimpleBusTest.java
**NOTE:** You must register a platform first by invoke JavaPlatform.register() or AndroidPlatform.register()