fin du tp05 (le code est pas opti)
This commit is contained in:
parent
abbc7c0a63
commit
d824671ed9
@ -1,6 +1,6 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_16" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
@ -29,6 +29,7 @@ android {
|
|||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
|
buildToolsVersion = "34.0.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.TP05EX02_ArcEnCiel"
|
android:theme="@style/Theme.TP05EX02_ArcEnCiel"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
@ -21,6 +22,16 @@
|
|||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name=".Activite2"
|
||||||
|
android:exported="true">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.SEND"/>
|
||||||
|
<category android:name="android.intent.category.DEFAULT"/>
|
||||||
|
<data android:mimeType="text/plain"/>
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
@ -1,5 +1,6 @@
|
|||||||
package fr.iutfbleau.dev45.wamster.tp05ex02_arcenciel;
|
package fr.iutfbleau.dev45.wamster.tp05ex02_arcenciel;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
@ -8,6 +9,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||||||
|
|
||||||
public class Activite2 extends AppCompatActivity {
|
public class Activite2 extends AppCompatActivity {
|
||||||
private CheckBox[] listeChoix;
|
private CheckBox[] listeChoix;
|
||||||
|
private int index;
|
||||||
|
private boolean[] etatCouleur;
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -23,11 +26,51 @@ public class Activite2 extends AppCompatActivity {
|
|||||||
this.listeChoix[ListeCouleur.INDICE_VIOLET] = findViewById(R.id.coche_violet);
|
this.listeChoix[ListeCouleur.INDICE_VIOLET] = findViewById(R.id.coche_violet);
|
||||||
|
|
||||||
EvenementBoutonValider evenementBoutonValider = new EvenementBoutonValider(this);
|
EvenementBoutonValider evenementBoutonValider = new EvenementBoutonValider(this);
|
||||||
|
|
||||||
Button boutonValider = findViewById(R.id.bouton_valider);
|
Button boutonValider = findViewById(R.id.bouton_valider);
|
||||||
|
Button boutonAnnuler = findViewById(R.id.bouton_annuler);
|
||||||
|
|
||||||
boutonValider.setOnClickListener(evenementBoutonValider);
|
boutonValider.setOnClickListener(evenementBoutonValider);
|
||||||
|
boutonAnnuler.setOnClickListener(evenementBoutonValider);
|
||||||
|
|
||||||
|
Intent intension = this.getIntent();
|
||||||
|
if (intension != null){
|
||||||
|
this.etatCouleur = intension.getBooleanArrayExtra("etatCouleur");
|
||||||
|
this.index = intension.getIntExtra("index",0);
|
||||||
|
this.setEtatCoche(etatCouleur);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public CheckBox[] getListeCoche(){
|
public boolean setEtatCoche(boolean[] etatCoche){
|
||||||
return this.listeChoix;
|
if (etatCoche.length != this.listeChoix.length){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int i;
|
||||||
|
for (i=0; i<etatCoche.length; i++){
|
||||||
|
this.listeChoix[i].setChecked(etatCoche[i]);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void demarrerActiviteMain(boolean validerModification) {
|
||||||
|
boolean[] etatCoche = this.getEtatCoche();
|
||||||
|
Intent intension = new Intent(this, MainActivity.class);
|
||||||
|
if (validerModification){
|
||||||
|
intension.putExtra("etatCouleur", etatCoche);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
intension.putExtra("etatCouleur", this.etatCouleur);
|
||||||
|
}
|
||||||
|
intension.putExtra("index", this.index);
|
||||||
|
this.startActivity(intension);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean[] getEtatCoche(){
|
||||||
|
boolean[] listeEtatCoche = new boolean[this.listeChoix.length];
|
||||||
|
int i;
|
||||||
|
for (i=0; i<listeEtatCoche.length; i++){
|
||||||
|
listeEtatCoche[i] = this.listeChoix[i].isChecked();
|
||||||
|
}
|
||||||
|
return listeEtatCoche;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,9 +11,9 @@ public class DetectClic extends GestureDetector.SimpleOnGestureListener{
|
|||||||
private View view;
|
private View view;
|
||||||
private ListeCouleur gestionCouleur;
|
private ListeCouleur gestionCouleur;
|
||||||
|
|
||||||
public DetectClic(View view){
|
public DetectClic(View view, ListeCouleur gestionCouleur){
|
||||||
this.view = view;
|
this.view = view;
|
||||||
this.gestionCouleur = new ListeCouleur();
|
this.gestionCouleur = gestionCouleur;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -47,4 +47,5 @@ public class DetectClic extends GestureDetector.SimpleOnGestureListener{
|
|||||||
public void onLongPress(MotionEvent e) {
|
public void onLongPress(MotionEvent e) {
|
||||||
Log.v("test","Long Press");
|
Log.v("test","Long Press");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@ public class EvenementBoutonChoix implements View.OnClickListener {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v){
|
public void onClick(View v){
|
||||||
Intent intention = new Intent(this.mainActivity, Activite2.class);
|
this.mainActivity.demarrerActivite2();
|
||||||
this.mainActivity.startActivity(intention);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,18 +14,12 @@ public class EvenementBoutonValider implements View.OnClickListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v){
|
public void onClick(View v){
|
||||||
boolean[] etatCoche = this.getEtatCoche();
|
int idBouton = v.getId();
|
||||||
Intent intention = new Intent(this.activite2, MainActivity.class);
|
if (idBouton == R.id.bouton_valider){
|
||||||
this.activite2.startActivity(intention);
|
this.activite2.demarrerActiviteMain(true);
|
||||||
}
|
}
|
||||||
|
else if (idBouton == R.id.bouton_annuler){
|
||||||
public boolean[] getEtatCoche(){
|
this.activite2.demarrerActiviteMain(false);
|
||||||
CheckBox[] listeCoche = this.activite2.getListeCoche();
|
|
||||||
boolean[] listeEtatCoche = new boolean[listeCoche.length];
|
|
||||||
int i;
|
|
||||||
for (i=0; i<listeEtatCoche.length; i++){
|
|
||||||
listeEtatCoche[i] = listeCoche[i].isChecked();
|
|
||||||
}
|
}
|
||||||
return listeEtatCoche;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,8 @@ public class EvenementClic implements View.OnTouchListener{
|
|||||||
|
|
||||||
private GestureDetector gestureDetector;
|
private GestureDetector gestureDetector;
|
||||||
private DetectClic listener;
|
private DetectClic listener;
|
||||||
public EvenementClic(View view) {
|
public EvenementClic(View view, ListeCouleur listeCouleur) {
|
||||||
this.listener = new DetectClic(view);
|
this.listener = new DetectClic(view, listeCouleur);
|
||||||
gestureDetector = new GestureDetector(this.listener);
|
gestureDetector = new GestureDetector(this.listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,28 +22,21 @@ public class ListeCouleur {
|
|||||||
};
|
};
|
||||||
public ListeCouleur(){
|
public ListeCouleur(){
|
||||||
this.indexColor = 0;
|
this.indexColor = 0;
|
||||||
this.setValideCouleurTrue();
|
this.setListeCouleurTrue();
|
||||||
}
|
|
||||||
|
|
||||||
public ListeCouleur(boolean[] etatCouleur){
|
|
||||||
this.indexColor = 0;
|
|
||||||
if (!this.setValideCouleur(etatCouleur)){
|
|
||||||
this.setValideCouleurTrue();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int couleurSuivante(){
|
public int couleurSuivante(){
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i<ListeCouleur.listeCouleur.length; i++){
|
for (i=0; i<ListeCouleur.listeCouleur.length; i++){
|
||||||
this.indexColor = (this.indexColor+1)%ListeCouleur.listeCouleur.length;
|
this.indexColor = (this.indexColor+1)%ListeCouleur.listeCouleur.length;
|
||||||
if (this.couleurValide[this.indexColor] == false){
|
if (this.couleurValide[this.indexColor]){
|
||||||
return ListeCouleur.listeCouleur[this.indexColor];
|
return ListeCouleur.listeCouleur[this.indexColor];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0x00000000;
|
return 0x00000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean setValideCouleur(boolean[] nouvelEtat){
|
public boolean setListeCouleur(boolean[] nouvelEtat){
|
||||||
if (nouvelEtat.length == ListeCouleur.listeCouleur.length){
|
if (nouvelEtat.length == ListeCouleur.listeCouleur.length){
|
||||||
this.couleurValide = nouvelEtat;
|
this.couleurValide = nouvelEtat;
|
||||||
return true;
|
return true;
|
||||||
@ -51,7 +44,24 @@ public class ListeCouleur {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValideCouleurTrue(){
|
public boolean[] getValideCouleur(){
|
||||||
|
return this.couleurValide;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIndex(){
|
||||||
|
return this.indexColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIndex(int index){
|
||||||
|
this.indexColor = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getActualColor(){
|
||||||
|
this.indexColor --;
|
||||||
|
return this.couleurSuivante();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListeCouleurTrue(){
|
||||||
this.couleurValide = new boolean[ListeCouleur.listeCouleur.length];
|
this.couleurValide = new boolean[ListeCouleur.listeCouleur.length];
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i<ListeCouleur.listeCouleur.length; i++){
|
for (i=0; i<ListeCouleur.listeCouleur.length; i++){
|
||||||
|
@ -2,12 +2,17 @@ package fr.iutfbleau.dev45.wamster.tp05ex02_arcenciel;
|
|||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity {
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private EvenementClic evenementClic;
|
||||||
|
private EvenementBoutonChoix evenementBoutonChoix;
|
||||||
|
private ListeCouleur listeCouleur;
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -16,10 +21,32 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
View arrierePlan = findViewById(R.id.arrierePlan);
|
View arrierePlan = findViewById(R.id.arrierePlan);
|
||||||
Button bouton = findViewById(R.id.bouton);
|
Button bouton = findViewById(R.id.bouton);
|
||||||
|
|
||||||
EvenementClic evenementClic = new EvenementClic(arrierePlan);
|
this.listeCouleur = new ListeCouleur();
|
||||||
EvenementBoutonChoix evenementBoutonChoix = new EvenementBoutonChoix(this);
|
this.evenementClic = new EvenementClic(arrierePlan, this.listeCouleur);
|
||||||
|
this.evenementBoutonChoix = new EvenementBoutonChoix(this);
|
||||||
|
|
||||||
|
Intent intension = this.getIntent();
|
||||||
|
Log.v("test",intension.toString());
|
||||||
|
if (intension != null){
|
||||||
|
boolean[] etatCouleur = intension.getBooleanArrayExtra("etatCouleur");
|
||||||
|
if (etatCouleur != null){
|
||||||
|
Log.v("test",etatCouleur.toString());
|
||||||
|
this.listeCouleur.setListeCouleur(etatCouleur);
|
||||||
|
this.listeCouleur.setIndex(intension.getIntExtra("index", 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
arrierePlan.setOnTouchListener(evenementClic);
|
arrierePlan.setOnTouchListener(evenementClic);
|
||||||
|
arrierePlan.setBackgroundColor(this.listeCouleur.getActualColor());
|
||||||
bouton.setOnClickListener(evenementBoutonChoix);
|
bouton.setOnClickListener(evenementBoutonChoix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void demarrerActivite2() {
|
||||||
|
boolean[] etatCouleur = this.listeCouleur.getValideCouleur();
|
||||||
|
int index = this.listeCouleur.getIndex();
|
||||||
|
Intent intension = new Intent(MainActivity.this, Activite2.class);
|
||||||
|
intension.putExtra("etatCouleur", etatCouleur);
|
||||||
|
intension.putExtra("index", index);
|
||||||
|
this.startActivity(intension);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user