0

この疑問は解決しました

タイトルはごめんなさい --- Web ページからテキストを取得するアプリを作成しようとしています。「次へ」ボタンをクリックすると、次のページに移動してテキストが更新されます。私が問題を抱えているのは、「次へ」ボタンをクリックしてもテキストが更新されないことです。できれば、以下のコードを実行してテキストを更新したいだけです。接続の設定方法の問題に絞り込んだと思います。

private static BufferedReader page;

public  void checkPage(String website, int number){

    URL url = null;
    HttpURLConnection connection = null;
    String line = "start";

    try {
        url = new URL(website + number);
        connection = (HttpURLConnection) url.openConnection();
        page = new BufferedReader(new InputStreamReader(connection.getInputStream()));

        while (line != null) {

            line = page.readLine();
            checkLine(line);    
        }
        connection.disconnect();

    }catch (IOException e){
        e.printStackTrace();
    }
}

checkLine() は、私が求めているテキストを取得するためにいくつかのファンキーなことを行います..明らかに何かが欠けているように感じます..

現在のセットアップは、「GetDataFromPage」というクラスがあり、データをいくつかのプライベート文字列変数に保存し、次に「GetDataFromPage」内のいくつかのパブリックメソッドを使用して使用するデータを抽出することです..

問題は、「GetDataFromPage」クラスのデータが、data.checkPage(web, url+1); を呼び出したときに更新したくないということです。data は GetDataFromPage です

アップデート

私はバカです..データの読み取りを可能にするためにリセットするのを忘れたのは、いくつかのブール値だけでした。深夜にコードを書くとこうなります..

4

3 に答える 3

0

BufferedReader を none static に変更しても、実際には役に立ちませんでしたが、少しきれいになるかもしれません..

データの保存方法について言及しておらず申し訳ありません。現在のセットアップは、「GetDataFromPage」というクラスがあり、データをいくつかのプライベート文字列変数に保存し、次に「GetDataFromPage」内のいくつかのパブリックメソッドを使用して使用するデータを抽出することです..

問題は、「GetDataFromPage」クラスのデータが、data.checkPage(web, url+1); を呼び出したときに更新したくないということです。data は GetDataFromPage です

アップデート

私はバカです..データの読み取りを可能にするためにリセットするのを忘れたのは、いくつかのブール値だけでした。これは、深夜にコードを書くときに起こることです..

于 2012-07-02T20:51:19.427 に答える
0

これを試して、

private BufferedReader page;       // changed

public  void checkPage(String website, int number){

    URL url = null;
    HttpURLConnection connection = null;
    String line = "null";       // changed

    try {
        url = new URL(website + number);
        connection = (HttpURLConnection) url.openConnection();
        page = new BufferedReader(new InputStreamReader(connection.getInputStream()));

        while ((line=page.readLine()) != null) {   // changed

                                                  // changed
            checkLine(line);    
        }
        connection.disconnect();

    }catch (IOException e){
        e.printStackTrace();
    }
}
于 2012-07-01T17:58:47.063 に答える
0

申し訳ありませんが、現在、ページから 1 行を取得しているだけなので、正確に何が必要なのかわかりません。そのため、行変数の最後の行だけが表示されます。チェックライン関数のどこに保存しますか?

于 2012-07-01T18:00:46.587 に答える