1. Передача данных из приложения на сервер с использованием RESTful API.
Если вы хотите отправить данные из своего клиентского приложения в свое серверное приложение, вы можете просто отправить его на свой сервер напрямую, используя традиционные методы веб-приложений.
Затем ваш сервер может публиковать сообщения на канал PubNub, на который подписаны ваши клиентские приложения.
2. Извлечение данных из сервера в приложение с использованием PubNub Data Network.
Вы можете использовать приложение pubnub-android-Lolli-chat, которое использует многие функции PubNub.
git repo https://github.com/GleasonK/pubnub-android-lolli-chat
http://kevingleason.me/pubnub-android-lolli-chat/
Извлечение данных из PubNub с использованием текущего кода:
pubnub.history(this.channel,100,false,new Callback() {
@Override
public void successCallback(String channel, final Object message) {
try {
JSONArray json = (JSONArray) message;
Log.d("History", json.toString());
final JSONArray messages = json.getJSONArray(0);
final List<ChatMessage> chatMsgs = new ArrayList<ChatMessage>();
for (int i = 0; i < messages.length(); i++) {
try {
if (!messages.getJSONObject(i).has("data")) continue;
JSONObject jsonMsg = messages.getJSONObject(i).getJSONObject("data");
String name = jsonMsg.getString(Constants.JSON_USER);
String msg = jsonMsg.getString(Constants.JSON_MSG);
long time = jsonMsg.getLong(Constants.JSON_TIME);
ChatMessage chatMsg = new ChatMessage(name, msg, time);
chatMsgs.add(chatMsg);
} catch (JSONException e) { // Handle errors silently
e.printStackTrace();
}
}
MainActivityPubnub.this.runOnUiThread(new Runnable() {
@Override
public void run() {
// Toast.makeText(MainActivityPubnub.this,"RUNNIN",Toast.LENGTH_SHORT).show();
mChatAdapter.setMessages(chatMsgs);
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void errorCallback(String channel, PubnubError error) {
Log.d("History", error.toString());
}
});