-1

私は Android アプリケーションを実行していますが、同じ問題を抱えています。たとえば、2 番目のクラスの変数が必要な場合、アプリケーションがクラッシュします。

これが私のコードの例です:

public class Classement extends Activity{

TextView textview;
GetCode getCode = new GetCode();
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.classement);
    textview = (TextView)findViewById(R.id.textView1);
    try {
        textview.setText(String.valueOf(getCode.methode()[1]));
    } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

私のlogcat:

01-14 13:39:13.740: I/プロセス (3304): 信号を送信しています。PID: 3304 SIG: 9 01-14 13:39:22.770: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:22.791: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:22.930: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:22.930: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39 :23.440: D/dalvikvm(3342): GC_FOR_ALLOC 解放された 54K、7% 解放された 2514K/2688K、一時停止 33ms、合計 38ms 01-14 13:39:23.450: I/dalvikvm-heap(3342): ヒープの成長 (frag ケース) 674916 バイトの割り当て用に 3.210MB 01-14 13:39:23.510: D/dalvikvm(3342): GC_FOR_ALLOC 1K を解放、6% を解放 3171K/3348K、一時停止 59ms、合計 59ms 01-14 13:39:23.580: D /dalvikvm(3342): GC_CONCURRENT が 1K 未満で解放され、3171K/3348K が 6% 解放され、6ms+14ms 一時停止され、合計 70ms 01-14 13:39:25. nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:25.680: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:25.680: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:25.700: D/gralloc_goldfish(3342): GPU エミュレーションなしのエミュレーターが検出されました。01-14 13:39:25.800: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:25.840: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39 :27.040:W/Trace(3342):nativeGetEnabledTags からの予期しない値:0 01-14 13:39:27.060:W/Trace(3342):nativeGetEnabledTags からの予期しない値:0 01-14 13:39:27.060:W/Trace (3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.060: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.260: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.260: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.260: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.270: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.400: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39 :27.520: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.520: I/Choreographer(3342): 34 フレームをスキップしました! アプリケーションがメイン スレッドで処理しすぎている可能性があります。01-14 13:39:27.530: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.530: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39 :27.731: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:27.790: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 01-14 13:39:29.250: W/System.err(3342): com.android.internal.os.ZygoteInit で。 main(ZygoteInit.java:560) 01-14 13:39:29.250: W/System.err(3342): dalvik.system.NativeStart.main(ネイティブ メソッド) 01-14 13:39:29.460: W/Trace (3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.570: I/Choreographer(3342): 57 フレームをスキップしました! アプリケーションがメイン スレッドで処理しすぎている可能性があります。01-14 13:39:29.570: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.630: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39 :29.660: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.801: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.811: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.831: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.841: W/Trace(3342) : nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.841: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.921: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.941: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:29.960: I/Choreographer(3342): 43 フレームをスキップしました! アプリケーションがメイン スレッドで処理しすぎている可能性があります。01-14 13:39:30.000: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39:30.010: W/Trace(3342): nativeGetEnabledTags からの予期しない値: 0 01-14 13:39 :30.060: W/Trace(3342): nativeGetEnabledTags からの予期しない値:

メソッド():

package com.example.gotteron;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.Arrays;


public class GetCode {

    //Recupere le code HTML de la page
    public int [] methode() throws IOException{
        URL oracle = new URL("http://www.nationalleague.ch/NL/fr/");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                yc.getInputStream()));
        String inputLine;
        String s1 = "";
        while ((inputLine = in.readLine()) != null)
            s1 = s1 + inputLine;
        in.close();

        //12 car 12 équipes
        int tableauEquipes [] = new int [12];


        //Variable numérique de l'emplacement dans le code HTML pour chaque équipe
        //Le string représente l'équipe en HTML dans le tableau
        // doit apparaître 1x dans le code


        int Berne = s1.indexOf(">SC Bern</td>");
        int Fribourg = s1.indexOf("Fribourg</td>");
        int Geneve = s1.indexOf("Gen&egrave;ve</td>");
        int Zug = s1.indexOf("EV Zug</td>");
        int ZSC = s1.indexOf("ZSC Lions</td>");
        int Davos = s1.indexOf("HC Davos</td>");
        int Lugano = s1.indexOf("HC Lugano</td>");
        int Kloten = s1.indexOf("Kloten Flyers</td>");
        int Bienne = s1.indexOf("EHC Biel</td>");
        int Lakers = s1.indexOf("Lakers</td>");
        int Ambri = s1.indexOf("Ambri-Piotta</td>");
        int SCL = s1.indexOf("SCL Tigers</td>");

        //Mettre variables dans tableau
        tableauEquipes[0] = Berne;
        tableauEquipes[1] = Fribourg;
        tableauEquipes[2] = Geneve;
        tableauEquipes[3] = Zug;
        tableauEquipes[4] = ZSC;
        tableauEquipes[5] = Davos;
        tableauEquipes[6] = Lugano;
        tableauEquipes[7] = Kloten;
        tableauEquipes[8] = Bienne;
        tableauEquipes[9] = Lakers;
        tableauEquipes[10] = Ambri;
        tableauEquipes[11] = SCL;


        //Tri Tableau dans l'ordre croissant
        Arrays.sort(tableauEquipes);

        // Trouve la la place dans le classement de Berne
        int tdbBerne = 0;
        int tdbBerneDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbBerne++;
            if (tableauEquipes[i] == s1.indexOf(">SC Bern</td>")) {
                System.out.println("Berne est" + tdbBerne);
            }
        }
        tdbBerneDefinitif = tdbBerne;

        // Trouve la la place dans le classement de Fribourg
        int tdbFribourg = 0;
        int tdbFribourgDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbFribourg++;
            if (tableauEquipes[i] == s1.indexOf("Fribourg</td>")) {
                System.out.println("Fribourg est" + tdbFribourg);
                tdbFribourgDefinitif = tdbFribourg;
            }
        }
        System.out.println(tdbFribourgDefinitif);

        // Trouve la la place dans le classement de Geneve
        int tdbGeneve = 0;
        int tdbGeneveDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbGeneve++;
            if (tableauEquipes[i] == s1.indexOf("Gen&egrave;ve</td>")) {
                System.out.println("Geneve est" + tdbGeneve);

            }
        }
        tdbGeneveDefinitif = tdbGeneve;

        // Trouve la la place dans le classement de Zug
        int tdbZug = 0;
        int tdbZugDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbZug++;
            if (tableauEquipes[i] == s1.indexOf("EV Zug</td>")) {
                System.out.println("Zug est" + tdbZug);
            }
        }
        tdbZugDefinitif = tdbZug;

        // Trouve la la place dans le classement de ZSC
        int tdbZSC = 0;
        int tdbZSCDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbZSC++;
            if (tableauEquipes[i] == s1.indexOf("ZSC Lions</td>")) {
                System.out.println("ZSC Lions est" + tdbZSC);
            }
        }
        tdbZSCDefinitif = tdbZSC;

        // Trouve la la place dans le classement de Davos
        int tdbDavos = 0;
        int tdbDavosDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbDavos++;
            if (tableauEquipes[i] == s1.indexOf("HC Davos</td>")) {
                System.out.println("Davos est" + tdbDavos);
            }
        }
        tdbDavosDefinitif = tdbDavos;

        // Trouve la la place dans le classement de Lugano
        int tdbLugano = 0;
        int tdbLuganoDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbLugano++;
            if (tableauEquipes[i] == s1.indexOf("HC Lugano</td>")) {
                System.out.println("Lugano est" + tdbLugano);
            }
        }
        tdbLuganoDefinitif = tdbLugano;

        // Trouve la la place dans le classement de Kloten Flyers
        int tdbKloten = 0;
        int tdbKlotenDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbKloten++;
            if (tableauEquipes[i] == s1.indexOf("Kloten Flyers</td>")) {
                System.out.println("Kloten est" + tdbKloten);
            }
        }
        tdbKlotenDefinitif = tdbKloten;

        // Trouve la la place dans le classement de Bienne
        int tdbBienne = 0;
        int tdbBienneDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbBienne++;
            if (tableauEquipes[i] == s1.indexOf("EHC Biel</td>")) {
                System.out.println("Bienne est" + tdbBienne);
            }
        }
        tdbBienneDefinitif = tdbBienne;

        // Trouve la la place dans le classement de Lakers
        int tdbLakers = 0;
        int tdbLakersDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbLakers++;
            if (tableauEquipes[i] == s1.indexOf("Lakers</td>")) {
                System.out.println("Lakers est" + tdbLakers);
            }
        }
        tdbLakersDefinitif = tdbLakers;

        // Trouve la la place dans le classement de Ambri
        int tdbAmbri = 0;
        int tdbAmbriDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbAmbri++;
            if (tableauEquipes[i] == s1.indexOf("Ambri-Piotta</td>")) {
                System.out.println("Ambri est" + tdbAmbri);
            }
        }
        tdbAmbriDefinitif = tdbAmbri;

        // Trouve la la place dans le classement de SCL
        int tdbSCL = 0;
        int tdbSCLDefinitif = 0;
        for (int i = 0; i < tableauEquipes.length; i++) {
            tdbSCL++;
            if (tableauEquipes[i] == s1.indexOf("SCL Tigers</td>")) {
                System.out.println("SCL est" + tdbSCL);
            }
        }
        tdbSCLDefinitif = tdbSCL;

        int [] classement = {tdbSCLDefinitif, tdbAmbriDefinitif, tdbLakersDefinitif, tdbBienneDefinitif, tdbKlotenDefinitif,
                    tdbLuganoDefinitif, tdbDavosDefinitif, tdbZSCDefinitif, tdbZugDefinitif, tdbGeneveDefinitif, tdbFribourgDefinitif,
                    tdbBerneDefinitif};
        Arrays.sort(classement);
    return classement;
    }
}
4

1 に答える 1

2

まず、IOException は、取得している例外をキャッチする必要はありません。したがって、IOException を、すべての例外のスーパークラスである Exception に変更します。

次に、.methode を確認してください。配列が返されていますか?

于 2013-01-14T13:35:23.037 に答える