An open API service indexing awesome lists of open source software.

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 平台的实现

Awesome Lists containing this project

README

          

realtime-android [![Build Status](https://travis-ci.org/goodow/realtime-android.svg?branch=master)](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()