Bonjour bonjour,
Je débute en programmation Java et je dois coder une application. Je dois réussir à extraire certaines données d'un fichier .gpx, cependant j'ai plusieurs erreurs que je n'arrive pas à résoudre.

La première erreur, c'est que le programme ne se lance pas dans l'émulateur, il y a marqué : "Projet keeps stoping"

Et la deuxième, la plus importante, c'est que quand je lance le debugger, j'ai cette erreur là : java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.projet/com.example.projet.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
Je pense donc que cela vient d'une de mes listes, mais je n'arrive pas à identifier l'erreur ....

Quelqu'un pourrait-il m'aider s'il vous plait ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArrayList<String> puissance = new ArrayList<>();
        ArrayList<String> temps = new ArrayList<>();
        InputStream fichier = null;
        try {
            fichier = getAssets().open("Matthieu1.gpx");
        } catch (IOException e) {
            e.printStackTrace();
        }
        BufferedReader reader = new BufferedReader(new InputStreamReader(fichier));
        int time;
        time = 0;
        int compteur;
        compteur = -1;
        String line = null;
        try {
            line = reader.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        while (line !=null) {
            //String[compteur] = ligne;
            compteur++;
            while (compteur == 11) {
                compteur = 0;
                temps.add(String.valueOf(time));
                time++;
                String delimiter = ">";
                Pattern pattern = Pattern.compile(delimiter);
                String[] element;
                element = pattern.split(line);
                String element1 = element[1];
                String delimiter1 = "<";
                Pattern pattern1 = Pattern.compile(delimiter1);
                String[] element2;
                element2 = pattern1.split(element1);
                String valpuissance = element2[0];
                puissance.add(String.valueOf(valpuissance));
            }
            try {
                line = reader.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        Log.d("Liste temps", temps.toString());
        Log.d("Liste puissances", puissance.toString());
        try {
            fichier.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}