- Posts de Forum 1
13 juin 2016 à 21:39:48 via site
13 juin 2016 21:39:48 via site
Bonsoir à tous!!
Je viens ici en quête d'aide sur la réalisation d'une application.
Je cherche à développer une app permettant l'inscription de joueurs à un tournoi de jeu vidéo.
Elle est très simple (une classe "Joueur" et un ArrayList qui me permet d'avoir une liste de tous mes joueurs).
J'ai une deuxième activité qui permet d'afficher les statistiques par jeu (si je rentre 100 joueurs, elle affiche, enfin devrait afficher, le nombre de joueur par jeu, la moyenne d'âge des joueurs, etc.).
C'est là qu'est le hic! Lorsque je run l'application, je n'arrive pas à lancer ma seconde activité, j'ai passé 4h cet après midi à relire mon code et chercher des solutions mais je ne vois vraiment pas où est l'erreur...
Pourriez vous me dire où est le hic?
Merci d'avance!!!
Voici le code : (pas mal de trucs en commentaire pour simplifier et faire qu'une partie de mes tests)
MainActivity.java
package com.survivebox.mathieu.lanwan;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ArrayList <Joueur>JoueurList;
EditText nom, age, score;
RadioGroup choixjeu, reglement;
RadioButton hearthstone, minecraft, leagueoflegend, counterstrike;
RadioButton reglementok, reglementnok;
CheckBox menu;
ImageButton valider;
Button newact;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nom = (EditText) findViewById(R.id.nom);
age = (EditText) findViewById(R.id.age);
score = (EditText) findViewById(R.id.score);
choixjeu = (RadioGroup)findViewById(R.id.choixjeu);
hearthstone = (RadioButton)findViewById(R.id.hearthstone);
minecraft = (RadioButton)findViewById(R.id.minecraft);
leagueoflegend = (RadioButton)findViewById(R.id.leagueoflegend);
counterstrike = (RadioButton)findViewById(R.id.counterstrike);
reglement = (RadioGroup)findViewById(R.id.reglement);
reglementok = (RadioButton)findViewById(R.id.reglementok);
reglementnok = (RadioButton)findViewById(R.id.reglementnok);
menu = (CheckBox)findViewById(R.id.menu);
valider = (ImageButton)findViewById(R.id.valider);
newact = (Button)findViewById(R.id.newact);
JoueurList = new ArrayList<>();
valider.setOnClickListener(this);
newact.setOnClickListener(this);
}
public void onClick(View v) {
int ID = v.getId();
int verif = 0;
if(ID == valider.getId()){
String nomjoueur = "";
if(nom.getText().toString() != ""){
nomjoueur = nom.getText().toString();
verif++;
}
else{
Toast.makeText(getApplicationContext(), "Il faut saisir un nom!!!", Toast.LENGTH_SHORT).show();
}
int agejoueur = Integer.parseInt(age.getText().toString());
if(agejoueur <= 0 || agejoueur >= 100){
Toast.makeText(getApplicationContext(), "L'age est incorrect!!!", Toast.LENGTH_SHORT).show();
age.setText("");
}
else{
verif++;
}
String scorejoueur = "";
if(score.getText().toString() != ""){
scorejoueur = score.getText().toString();
verif++;
}
else{
Toast.makeText(getApplicationContext(), "Il faut saisir un score!!!", Toast.LENGTH_SHORT).show();
}
boolean menustate = menu.isChecked();
String jeujoueur="";
boolean jeuChecked = false;
int IDchoixjeu = choixjeu.getCheckedRadioButtonId();
if(IDchoixjeu == hearthstone.getId()){
jeujoueur = "hearthstone";
jeuChecked = true;
verif++;
}
if(IDchoixjeu == minecraft.getId()){
jeujoueur = "minecraft";
jeuChecked = true;
verif++;
}
if(IDchoixjeu == leagueoflegend.getId()){
jeujoueur = "leagueoflegend";
jeuChecked = true;
verif++;
}
if(IDchoixjeu == counterstrike.getId()){
jeujoueur = "counterstrike";
jeuChecked = true;
verif++;
}
if(jeuChecked == false){
Toast.makeText(getApplicationContext(), "Il vous faut choisir un jeu!!!", Toast.LENGTH_SHORT).show();
}
int IDreglement = reglement.getCheckedRadioButtonId();
if(IDreglement == reglementok.getId()){
verif++;
}
if(IDreglement == reglementnok.getId()){
Toast.makeText(getApplicationContext(), "Pour vous inscrire, il vous faut accepter le réglement!!!", Toast.LENGTH_SHORT).show();
}
if(verif == 5){
Joueur j1 = new Joueur(nomjoueur, jeujoueur, scorejoueur, agejoueur, menustate, true);
JoueurList.add(j1);
int i = JoueurList.size();
Toast.makeText(getApplicationContext(), "Bienvenue "+JoueurList.get(i-1).nom+"!! Tu es le "+i+" joueur.", Toast.LENGTH_SHORT).show();
nom.setText("");
age.setText("");
menu.setChecked(false);
reglementnok.setChecked(true);
hearthstone.setChecked(false);
minecraft.setChecked(false);
leagueoflegend.setChecked(false);
counterstrike.setChecked(false);
score.setText("");
}
}
if(ID == newact.getId()){
if(JoueurList.size()!=0){
int nbjoueurhs = 0;
float agemoyenhs = 0;
int scoremaxhs = 0;
int nbjoueurmc = 0;
float agemoyenmc = 0;
int scoremaxmc = 0;
int nbjoueurlol = 0;
float agemoyenlol = 0;
int scoremaxlol = 0;
int nbjoueurcs = 0;
float agemoyencs = 0;
int scoremaxcs = 0;
int scoremax = 0;
int idscoremax = 0;
for(int i=0;i<JoueurList.size();i++){
if(JoueurList.get(i).jeu.equals("hearthstone")){
nbjoueurhs++;
agemoyenhs=agemoyenhs+JoueurList.get(i).age;
if(Integer.parseInt(JoueurList.get(i).score)>scoremaxhs){
scoremaxhs = Integer.parseInt(JoueurList.get(i).score);
}
}
if(JoueurList.get(i).jeu.equals("minecraft")){
nbjoueurmc++;
agemoyenmc=agemoyenmc+JoueurList.get(i).age;
if(Integer.parseInt(JoueurList.get(i).score)>scoremaxmc){
scoremaxmc = Integer.parseInt(JoueurList.get(i).score);
}
}
if(JoueurList.get(i).jeu.equals("leagueoflegend")){
nbjoueurlol++;
agemoyenlol=agemoyenlol+JoueurList.get(i).age;
if(Integer.parseInt(JoueurList.get(i).score)>scoremaxlol){
scoremaxlol = Integer.parseInt(JoueurList.get(i).score);;
}
}
if(JoueurList.get(i).jeu.equals("counterstrike")){
nbjoueurcs++;
agemoyencs=agemoyencs+JoueurList.get(i).age;
if(Integer.parseInt(JoueurList.get(i).score)>scoremaxcs){
scoremaxcs = Integer.parseInt(JoueurList.get(i).score);
}
}
if(Integer.parseInt(JoueurList.get(i).score)>scoremax){
scoremax = Integer.parseInt(JoueurList.get(i).score);
idscoremax = i;
}
}
agemoyenhs = (float) agemoyenhs/nbjoueurhs;
agemoyenmc = (float) agemoyenmc/nbjoueurmc;
agemoyenlol = (float) agemoyenlol/nbjoueurlol;
agemoyencs = (float) agemoyencs/nbjoueurcs;
//String jeu_gagnant = JoueurList.get(idscoremax).jeu;
String jeu_gagnant = "counterstrike";
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
final public String NBJOUEURHS = "nbjoueurhs";
final public String NBJOUEURMC = "nbjoueurmc";
final public String NBJOUEURLOL = "nbjoueurlol";
final public String NBJOUEURCS = "nbjoueurcs";
intent.putExtra(NBJOUEURHS, nbjoueurhs);
intent.putExtra(NBJOUEURMC, nbjoueurmc);
intent.putExtra(NBJOUEURLOL, nbjoueurlol);
intent.putExtra(NBJOUEURCS, nbjoueurcs);
/*intent.putExtra("agemoyenhs", agemoyenhs);
intent.putExtra("agemoyenmc", agemoyenmc);
intent.putExtra("agemoyenlol", agemoyenlol);
intent.putExtra("agemoyencs", agemoyencs);
intent.putExtra("scoremaxhs", scoremaxhs);
intent.putExtra("scoremaxmc", scoremaxmc);
intent.putExtra("scoremaxlol", scoremaxlol);
intent.putExtra("scoremaxcs", scoremaxcs);
intent.putExtra("jeugagnant", jeu_gagnant);*/
startActivity(intent);
}
else{
Toast.makeText(getApplicationContext(), "Il faut au moins un joueur!", Toast.LENGTH_SHORT).show();
}
}
}
}
SecondActivity.java
package com.survivebox.mathieu.lanwan;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class SecondActivity extends AppCompatActivity {
TextView nbjoueurhs;
TextView nbjoueurmc;
TextView nbjoueurlol;
TextView nbjoueurcs;
/*TextView agemoyenhs;
TextView agemoyenmc;
TextView agemoyenlol;
TextView agemoyencs;
TextView scoremaxhs;
TextView scoremaxmc;
TextView scoremaxlol;
TextView scoremaxcs;
TextView jeugagnant;*/
protected void OnCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
Toast.makeText(getApplicationContext(), "START SECONDE ACTIVITE", Toast.LENGTH_SHORT).show();
nbjoueurhs = (TextView)findViewById(R.id.nbjoueurhs);
nbjoueurmc = (TextView)findViewById(R.id.nbjoueurmc);
nbjoueurlol = (TextView)findViewById(R.id.nbjoueurlol);
nbjoueurcs = (TextView)findViewById(R.id.nbjoueurcs);
/*agemoyenhs = (TextView)findViewById(R.id.agemoyenhs);
agemoyenmc = (TextView)findViewById(R.id.agemoyenmc);
agemoyenlol = (TextView)findViewById(R.id.agemoyenlol);
agemoyencs = (TextView)findViewById(R.id.agemoyencs);
scoremaxhs = (TextView)findViewById(R.id.scoremaxhs);
scoremaxmc = (TextView)findViewById(R.id.scoremaxmc);
scoremaxlol = (TextView)findViewById(R.id.scoremaxlol);
scoremaxcs = (TextView)findViewById(R.id.scoremaxcs);
jeugagnant = (TextView)findViewById(R.id.infogagnant);*/
Intent intent = getIntent();
final public String NBJOUEURHS = "nbjoueurhs";
final public String NBJOUEURMC = "nbjoueurmc";
final public String NBJOUEURLOL = "nbjoueurlol";
final public String NBJOUEURCS = "nbjoueurcs";
int nbhs=0;
int nbmc=0;
int nblol=0 ;
int nbcs=0;
if(intent != null){
nbhs = intent.getIntExtra(NBJOUEURHS,0);
nbmc = intent.getIntExtra(NBJOUEURMC,0);
nblol = intent.getIntExtra(NBJOUEURLOL,0);
nbcs = intent.getIntExtra(NBJOUEURCS,0);
nbjoueurhs.setText(Integer.toString(nbhs));
nbjoueurmc.setText(Integer.toString(nbmc));
nbjoueurlol.setText(Integer.toString(nblol));
nbjoueurcs.setText(Integer.toString(nbcs));
Toast.makeText(getApplicationContext(), "DANS IF", Toast.LENGTH_SHORT).show();
}
else
{ nbjoueurhs.setText("nbhs"+(nbhs));
nbjoueurmc.setText("nbmc"+(nbmc));
nbjoueurlol.setText("nblol"+(nblol));
nbjoueurcs.setText("nbcs"+(nbcs));
Toast.makeText(getApplicationContext(), "BUG", Toast.LENGTH_SHORT).show();
}
}
}
Joueur.java
package com.survivebox.mathieu.lanwan;
/**
* Created by Mathieu on 13/06/2016.
*/
public class Joueur {
String nom, jeu, score;
int age;
boolean menu, reglement;
Joueur(String nom, String jeu, String score, int age, boolean menu, boolean reglement){
this.nom = nom;
this.jeu = jeu;
this.score = score;
this.age = age;
this.menu = menu;
this.reglement = reglement;
}
}
activity_main.xml
xmlns:android=""
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
xmlns:tools=""
tools:context=""
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nom"
android:id="@+id/affichenom"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/saisie"
android:id="@+id/nom"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/age"
android:id="@+id/afficheage"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/saisie"
android:id="@+id/age"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/menu"
android:id="@+id/affichemenu"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/menu"
android:text="@string/oui"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/reglement"
android:id="@+id/affichenom"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/reglement">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/vrai"
android:id="@+id/reglementok"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/faux"
android:id="@+id/reglementnok"
android:checked="true"/>
</RadioGroup>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choixjeu"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/choixjeu">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hearthstone"
android:id="@+id/hearthstone"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mincecraft"
android:id="@+id/minecraft"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="League Of Legend"
android:id="@+id/leagueoflegend"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Counter Strike"
android:id="@+id/counterstrike"/>
</RadioGroup>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/score"
android:id="@+id/affichescore"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/saisie"
android:id="@+id/score"/>
</LinearLayout>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/valid"
android:id="@+id/valider"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/newact"
android:text="Lancer l'activité"/>
</LinearLayout>
second_activity.xml
xmlns:tools=""
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="">
<GridLayout xmlns:android=""
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="4"
android:rowCount="5">
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/hearthstone1"/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/minecraft1"/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/lol1"/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/css1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hearthstone"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mincecraft"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="League of Legend"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Counter Strike"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/nbjoueurhs"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/nbjoueurmc"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/nbjoueurlol"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/nbjoueurcs"/>
<!--<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/agemoyenhs"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/agemoyenmc"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/agemoyenlol"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/agemoyencs"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/scoremaxhs"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/scoremaxmc"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/scoremaxlol"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/scoremaxcs"/>-->
</GridLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/infogagnant"
android:text="info gagnant"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""
package="">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:label="Statistiques" />
</application>
</manifest>
Contenu éditorial recommandé
Avec ton accord, un contenu externe est chargé ici.
En cliquant sur le bouton ci-dessus, tu acceptes que des contenus externes soient affichés. Des données personnelles peuvent alors être transmises à des fournisseurs tiers. Tu trouveras plus d'informations à ce sujet dans notre Déclaration de protection de données.