2016-11-03 9 views
0

Это, как я отправить сообщение с одной строки через канал PubNub:Публикация сообщений с более чем одной строки, Pubnub и Android

pubnub.publish().channel("my_channel").message("hello").async(new 
PNCallback<PNPublishResult>() { 
    // ... 
}); 

Это, как я получаю сообщение в клиентах, подключенных к канал:

@Override 
public void message(PubNub pubnub, final PNMessageResult message) { 
    if (message.getChannel() != null) { 
     final JsonNode received = message.getMessage(); 
     String received_str = received.asText(); 
    } 
    // ... 
} 

Это прекрасно работает, если я посылаю одну строку только с сообщением, но то, что я должен делать, если я хочу, чтобы отправлять и получать больше, чем один?

+1

Не отправлять в виде простой строки. Вместо этого отправьте его как JsonNode. См. Этот пример API: https://www.pubnub.com/docs/android/api-reference-sdk-v4#publish –

ответ

1

Я нашел решение.

Это для отправки:

pubnub.publish().channel("my_channel").message(Arrays.asList 
("string a", "string b", "string c", "string d")).async(new 
PNCallback<PNPublishResult>() { 
    // ... 
}); 

Это для получения:

@Override 
public void message(PubNub pubnub, final PNMessageResult message) { 
    if (message.getChannel() != null) { 
     final JsonNode received = message.getMessage(); 
     String string_a = received.get(0).asText(); 
     String string_b = received.get(1).asText(); 
     String string_c = received.get(2).asText(); 
     String string_d = received.get(3).asText(); 
    } 
    // ... 
}