1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| package com.ma.emset.clientchat;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;
import android.widget.ScrollView;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.URL;
public class ChatActv extends AppCompatActivity {
private TextView chat;
private EditText entry;
private ScrollView scroll;
private String chatLog = "";
private String login;
private PrintWriter ecr=new PrintWriter(System.out,true);//flux pour ecrire
private BufferedReader lir=new BufferedReader(new InputStreamReader(System.in));
private void displayMessage(String message) {
// On ajoute ce message a l'ensemble du chat
chatLog += message;
// On affiche le chat
chat.setText(chatLog);
// On scrolle en bas pour visualiser le dernier message
// scroll.fullScroll(View.FOCUS_DOWN);
}
public void enter(View v) {
// On recupére le texte entre par l'utilisateur
String text = entry.getText().toString();
// S'il n'est pas vide
if (!text.isEmpty()) {
//On ajoute le login de l'utilisateur avant et un saut de ligne apres
String message = login + ": " + text + "\n";
// On affiche le message
displayMessage(message);
// On nettoie la zone de texte d'entrée
entry.setText("");
}
}
public void logout(View v){finish();}
//nouveau thread
private class StartNetwork extends AsyncTask<Void, Void, Boolean>{
Socket sok=null;String ip="127.0.0.1";
String nomserveur="Hp-PC";int port=1111;boolean b;
@Override
protected Boolean doInBackground(Void...v){
try{ sok=new Socket(ip,port);
if(sok!=null) b=true; else b=false;
}catch(IOException e){e.printStackTrace();}
return b; }
@Override
protected void onPostExecute(Boolean b){
if(b) displayMessage("connecté au serveur\n");
else displayMessage("pas de connexion\n"); }
}
protected void onStart(){super.onStart(); new StartNetwork().execute();}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat_actv);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
chat = (TextView) findViewById(R.id.chat);
entry = (EditText) findViewById(R.id.entry);
scroll = (ScrollView) findViewById(R.id.scroll);
Intent data = getIntent();
login = data.getStringExtra(ActvP.EXTRA_LOGIN);
ecr.println("mon texte");
}
} |
Partager