Socket.io-android-java-client Nachrichten empfangen und senden von Datei Beispiel
Hat jemand einen Beispielcode, der veranschaulicht, empfangen von Nachrichten über den java client-Seite für die Steckdose.io?
Außerdem gibt es jede Beispiel auf das versenden einer Datei/binary/Bild, von der gleichen Steckdose.io-java-client? (im Grunde sample-code von java statt javascript-client)
Version der android-java-client kann erworben werden hier (in dieser version behaupten, dass es verwendet werden kann, mit sockel.io 1.0 und höher) (scheint die aktuellste version)
https://github.com/nkzawa/socket.io-client.java
Derzeit die Beispiel-code, der nur erlaubt mir zu initialisieren einer Verbindung, der server ist in der Lage, um meine eingehende Verbindung event und die java-socket.io-client ist in der Lage zu senden, eine grundlegende emittieren Nachricht. Jedoch, es ist keine nur einfache Beispiele, wie man den Erwerb einer update-Nachricht von einem server, broadcast-oder emittiert von einer anderen website Benutzer.
Beispiel-code nur für Referenz:
package com.sample.d10132014a;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import com.github.nkzawa.socketio.client.*; //java socket io client
import com.github.nkzawa.socketio.client.Socket;
import com.github.nkzawa.emitter.Emitter;
import com.github.nkzawa.engineio.client.*; //java engine io client
import com.github.nkzawa.engineio.client.transports.*;
public class MainActivity extends Activity {
public static String internalPath; //internal storage path
public static String fileName; //the file name
private Socket socket; //socket object
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{
socket = IO.socket("http://YOURSERVERIP:3000");
socket.connect(); //initiate connection to socket server
socket.emit("chat message", "From Android to server: 1st outgoing message");
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener()
{
@Override
public void call(Object... args) {
Log.d("socketio", "socket connected");
socket.emit("chat message", "even connect: message sent from android to socketio server");
//socket.disconnect(); //why is there a disconnect here?
}
}).on("chat message", new Emitter.Listener() {
@Override
public void call(Object... arg0) {
//TODO Auto-generated method stub
JSONObject obj = (JSONObject)arg0[0];
Log.d("socketio", "message back: "+obj.toString());
Log.d("socketio", "incomming chat message: " + obj.toString() + arg0 + arg0[0] + arg0[1]); //trying to test which variable holds the message
}
}).on(Socket.EVENT_MESSAGE, new Emitter.Listener() {
@Override
public void call(Object... arg0) {
//TODO Auto-generated method stub
Log.d("socketio", "socket event message" + arg0);
socket.emit("chat message", "android to server from event message");
}
});
//2nd segment test without connecting to 1 long method
socket.on(Socket.EVENT_CONNECT_ERROR, new Emitter.Listener()
{
@Override
public void call(Object... arg0) {
//TODO Auto-generated method stub
Log.d("socketio", "socket event connect error");
socket.emit("chat message", "android to server: socket event connect error");
}
});
socket.on(Socket.EVENT_MESSAGE, new Emitter.Listener() {
@Override
public void call(Object... arg0) {
//TODO Auto-generated method stub
Log.d("socketio", "socket event message" + arg0);
socket.emit("chat message", "android to server from event message");
}
});
setContentView(R.layout.activity_main);
} //ending onCreate method
} //ending class
Vielen Dank für das Lesen
InformationsquelleAutor Bigs | 2014-10-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hy ich bin nicht sicher, ob dies genau das ist, was u suchen, und vielleicht eine chance, dass Sie es bereits gelöst zu haben, unabhängig davon, möchte ich beantworten, als wenn ich war surfen, um eine Lösung für mein problem stieß ich auf Ihre Frage hier, aber ich couldnot find keine Antwort, verließ mich enttäuscht. Wie ich schon gelöst mein problem, ich möchte zu teilen, wie ich es Tat.
Mein problem war, dass ich den Empfang der Nachricht von der node.js server, aber ich konnte nur sehen, dass die Nachricht in meinem logcat und ich wurde wirklich mit einem problem zu drucken, die Nachricht auf mein android-Applikation in der main-UI-thread.
Können sagen, wir würden die Meldung vom server erhalten hat, in der Listenansicht.
können wir Ansichten aktualisieren nur vom Haupt-thread. Sie haben sich zu bewegen, den Teil der hintergrund-task, der die updates der Benutzeroberfläche auf den Haupt-thread.Also wir haben Folgendes hinzufügen und die gewünschte Aufgabe.
Hoffe, es wird auch sparen Sie Zeit für jemanden.
Hallo @Christine
InformationsquelleAutor Christine
Hallo Hoffe das nach der Umsetzung hilft.Im folgenden ist der manager-Klasse, die Spur hält der alle event-Registrierung. vorbei Rückrufe, erstellen von Verbindungs-etc.
InformationsquelleAutor Amardeep