Skip to content
Snippets Groups Projects
Commit ba6ce6df authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

TP noté

parent e653d3c9
Branches
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout-land/activity_main.xml" value="0.19635416666666666" />
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout-land/fragment_frag_horizontal_layout.xml" value="0.11197916666666667" />
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout/activity_main.xml" value="0.176" />
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout/activity_num_table.xml" value="0.17346014492753623" />
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout/activity_num_table.xml" value="0.264" />
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout/fragment_frag_vertical_layout.xml" value="0.1" />
<entry key="..\:/Git/application-android-iut/app/src/main/res/layout/fragment_pizza_custom_vertical.xml" value="0.176" />
<entry key="..\:/Z IUT Orsay/AndroidStudioProjects/Pizzeria/app/src/main/res/layout-land/activity_main.xml" value="0.1" />
......
......@@ -8,12 +8,15 @@ import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class NumTable extends AppCompatActivity implements View.OnClickListener {
public static String numTable = "numTable";
private EditText input;
private Button btn;
private Button btnChoisirTable;
private Button btnListeCommandes;
private TextView listeCommandesText;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -21,15 +24,22 @@ public class NumTable extends AppCompatActivity implements View.OnClickListener
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_num_table);
input = findViewById(R.id.tableNumInput);
btn = findViewById(R.id.btnValider);
btn.setOnClickListener(this);
btnChoisirTable = findViewById(R.id.btnValider);
btnChoisirTable.setOnClickListener(this);
btnListeCommandes = findViewById(R.id.btnListeCommandes);
btnListeCommandes.setOnClickListener(this);
listeCommandesText = findViewById(R.id.listeCommandesText);
}
@Override
public void onClick(View v){
if(v.getId() == btn.getId()) {
if(v.getId() == btnChoisirTable.getId()) {
Log.i("Numéro de la table", input.getText().toString());
finish();
}else if(v.getId() == btnListeCommandes.getId()){
// On va appeler le serveur pour avoir la liste des commandes
backTasks tacheDeFond = new backTasks(this);
tacheDeFond.execute("getListeCommandes");
}
}
......@@ -40,4 +50,9 @@ public class NumTable extends AppCompatActivity implements View.OnClickListener
intent.putExtra("numTable", Integer.parseInt(input.getText().toString()));
startActivity(intent);
}
public void setListeCommandes(String listeCommandes){
Log.i("setListeCommandes", listeCommandes);
listeCommandesText.setText(listeCommandes);
}
}
\ No newline at end of file
......@@ -13,9 +13,13 @@ public class backTasks extends AsyncTask<String, Void, Void> {
private PrintWriter output;
private BufferedReader input;
private MainActivity activity;
private NumTable numTableActivity;
public backTasks (MainActivity activity){
this.activity = activity;
public backTasks (MainActivity mainActivityActi){
this.activity = mainActivityActi;
}
public backTasks(NumTable numTableActivity){
this.numTableActivity = numTableActivity;
}
@Override
......@@ -31,7 +35,41 @@ public class backTasks extends AsyncTask<String, Void, Void> {
output = new PrintWriter(socket.getOutputStream(), true);
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
registerCommand(message[0]);
// Ici on va regarder ce qui nous est demandé
if(message[0].equals("getListeCommandes")){
// On souhaite récupérer la liste des commandes
// Le serveur demande d'envoyer LIST pour la récupérer
sendMessageToServer("LIST");
// On va récupérer le nombre de commandes
Integer nbCommandes = Integer.parseInt(input.readLine());
Log.i("backTasks:", "Nombre de commandes: "+nbCommandes);
// Maintenant on va attendre ses messages
String receviedMsg = "";
Integer receivedFlag = 1;
String textToDisplay = "";
// Je ne peux pas faire receivedFlag < nbCommandes car il y a des commandes regroupées sur une seule ligne
while(receviedMsg != null || receivedFlag == 1){
receviedMsg = input.readLine();
if(receviedMsg != null){
textToDisplay += receviedMsg + "\n";
Log.i("backTasks", "Commande en attente: " + receviedMsg);
receivedFlag++; // On incrémente le flag
Log.i("backTasks", "Flag: " + receivedFlag);
}
}
Log.i("backTasks", "Liste des commandes reçues");
// On va afficher les commandes
numTableActivity.setListeCommandes(textToDisplay);
}else{
if(activity == null){
// On throw une exception
throw new Exception("Activity is null!");
}
// Ici on envoie la commande
sendMessageToServer(message[0]);
// Ici on va tout simplement lire les messages du serveur
// Et arrêter la boucle avec un flag
......@@ -48,15 +86,16 @@ public class backTasks extends AsyncTask<String, Void, Void> {
activity.runOnUiThread(() -> { // On lance le code sur l'UI Thread
activity.createAlertMessage(finalReceviedMsg, "Message de la cuisine"); // On affiche le message reçu
});
}
} catch (Exception x) {
x.printStackTrace();
}
return null;
}
public void registerCommand(String command){
public void sendMessageToServer(String command){
if(output != null){
Log.i("backTasks", "registered command: "+command);
Log.i("backTasks", "Message sent: "+command);
output.write(command);
output.flush();
}
......
......@@ -18,39 +18,58 @@
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/rosewood" />
<LinearLayout
android:id="@+id/LinearLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@+id/imageView"
app:layout_constraintBottom_toTopOf="@+id/listeCommandesText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<TextView
android:id="@+id/textNumTable"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:text="Numéro de table"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@+id/btnValider"
app:layout_constraintEnd_toStartOf="@+id/tableNumInput"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
android:textSize="16sp" />
<EditText
android:id="@+id/tableNumInput"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toTopOf="@+id/btnValider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textNumTable"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
android:inputType="number" />
<Button
android:id="@+id/btnValider"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choose"
android:text="@string/choose"/>
</LinearLayout>
<TextView
android:id="@+id/listeCommandesText"
android:layout_width="0dp"
android:layout_height="0dp"
android:text=""
app:layout_constraintBottom_toTopOf="@+id/btnListeCommandes"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/LinearLayout" />
<Button
android:id="@+id/btnListeCommandes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/commandsList"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tableNumInput" />
app:layout_constraintTop_toBottomOf="@+id/listeCommandesText"
app:layout_constraintVertical_bias="1.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -12,4 +12,5 @@
<string name="tiramisu">Tiramisu</string>
<string name="pizzaperso">Pizza Personnalisé</string>
<string name="ok">D\'accord</string>
<string name="commandsList">Liste des comandes</string>
</resources>
\ No newline at end of file
......@@ -11,4 +11,5 @@
<string name="tiramisu">Tiramisu</string>
<string name="pizzaperso">Pimp My Pizza</string>
<string name="ok">It\'s ok</string>
<string name="commandsList">Commands list</string>
</resources>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment