0

編集:IM A TOTAL FOOLとして解決され、2つのアクティビティ間でファイル名が間違っていることに気づきませんでした。助けてくれたすべての人に感謝します。まだ学習中です。非常に古いレッスンの再学習をやめられることを願っています。

私はアンドロイドとジャバに不慣れで、単純に見えることをやろうとしていますが、苦労していて、理由がわかりません。

テキストファイルから文字列を読み込み、アプリの他の場所で使用するintとして文字列から数値を抽出したいと思います。androidplotで使用する配列でintを使用してグラフを描画したいのですが、グラフを手動配列で動作させているので(つまり、自分で乱数を入力するだけです)、簡単にするためにここからそのコードのほとんどを省略しています。

これは、txtファイルをロードするための私のコードです。「」で分割してからintを解析しますが、機能していません。

     //actually load the progress file
public void loadDatacomm() {

        //load the asset file
            StringBuilder text = new StringBuilder();
        try {
            BufferedReader br = new BufferedReader(new FileReader("/sdcard/.progress/1gppi.txt"));
            String line;

        while ((line = br.readLine()) != null) {
            String line2[] = line.split(" ");  //split the string to get the progress
            commprogress1 = Integer.parseInt(line2[0]); 
                }

        }
        catch (IOException ex) {
            return;
        }

私が推測する他の唯一の興味深い点は、私がこのように構築しているandroidプロットの配列です。

    Number[] commprogress = {commprogress1, commprogress2, commprogress3, commprogress4, commprogress5, commprogress6, commprogress7, commprogress8, commprogress9, commprogress1};

アクティビティをロードすると、グラフに値が表示されません。commprogress1、2、3の値を手動で宣言すると、グラフは正常に描画されます。

誰かが私を助けてくれますか?

ロードしようとしているファイルを編集すると、次のものが含まれます。

30%完了

これは、アプリケーションの別のアクティビティによって書き込まれます。

コードが機能しない理由がわかりません。アプリケーションの他の場所で同様のコードを使用して、分割文字列からint(この場合は30)を抽出していますが、ここでは機能しません。

4

1 に答える 1

0

ファイルにアクセスしようとしたときに例外が発生した場合は、他のアプリケーションがそのファイルに書き込みを行っているため、同時実行性が原因である可能性があります (ただし、ファイルを読み取っているだけなので、問題にはならないと思います)。

いずれにせよ、活動の合間にパーセンテージを共有したいだけなら、 共有設定の使用が適していると思います

于 2013-01-03T13:26:26.640 に答える