Android socket Client , comment lire les données?

voici mon code complet: la cnx est établi , et je suis l'envoi des données au serveur , mais je ne peux pas lire quoi que ce soit à partir du serveur...

public class client extends Activity
{
/** Called when the activity is first created. */
Socket sock;
String spliter = "**";
String mobileNbr = "100";
String LastJOKEId = "-1";
String spliterlast = "^^$$";
BufferedReader inFromServer;
DataOutputStream outToServer;
TextView cnx;
TextView output;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupNetworking();
//Thread readerThread=new Thread(new IncomingReader());
//readerThread.start();
}
private void setupNetworking()
{
try
{
Log.i("ClientActivity", "Connecting...");
sock = new Socket("192.168.153.221", 9003);
cnx = (TextView) findViewById(R.id.textView1);
cnx.setText("Network Established.");
inFromServer = new BufferedReader(new InputStreamReader(sock.getInputStream()));
Log.i("ClientActivity", "Sending command.");
outToServer = new DataOutputStream(sock.getOutputStream());
String sentence = "logins" + spliter + mobileNbr + spliter + LastJOKEId + spliterlast;
outToServer.writeBytes(sentence + '\n');
Log.i("ClientActivity", "Sent.");
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
cnx = (TextView) findViewById(R.id.textView1);
cnx.setText("Network failed");
e.printStackTrace();
}
}
public class IncomingReader implements Runnable
{
String message;
public void run()
{
try
{
while ((message = inFromServer.readLine()) != null)
{
output = (TextView) findViewById(R.id.textView2);
output.setText(message);
}
}
catch (IOException e)
{
output = (TextView) findViewById(R.id.textView2);
output.setText("nth to display");
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
quels résultats obtenez-vous?
je ne suis pas d'obtenir quoi que ce soit :S rien n'est happenening...
Avez-vous corriger de cette partie? Comment votre inFromServer est déclarée/traités? Vous devriez essayer d'attraper les Exception plutôt que IOException, car il pourrait y avoir un NullPointerException très facilement aussi. Aussi, si votre dernière ligne est vide / espace blanc de la chaîne, votre TextViwe ne pas montrer quoi que ce soit. Vous devez essayer d'utiliser le append au lieu de setText
merci rekaszeru...vous m'avez donné un indice o résoudre mon problème. il a travaillé , maintenant, je peux lire mes données 😀

OriginalL'auteur AnthonyK | 2011-05-05

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *