0

私はアプリとデータを必要とする付属のウィジェットを書いています。このデータは、ネット経由でダウンロードされます。ダウンロードには IntentService を使用する予定です。このサービスは、データをファイルとして保存します。このファイルは、アプリとウィジェットの両方で使用されます。

サービスがファイルに書き込んでいる間、アプリとウィジェットがファイルを読み取らないようにするにはどうすればよいですか?

また、アプリまたはウィジェットがファイルを読み取っている間に、サービスがファイルに書き込まないようにするにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

Application読み取りおよび書き込み許可のためにフィールドを拡張および宣言することを検討してください。

public class APP extends Application {
    boolean motherMayI;

    ...
}

FileInputStreamその後、またはを開くたびにFileOutputStream

...
if (motherMayI) {
    APP.motherMayI = false;
    FileInputStream input = context.openFileInput("some_file_name");

    //read your stuff

    input.close()
    APP.motherMayI = true;
}
...

基本的に、motherMayI フィールドは、誰かがファイルを読み書きするために true でなければならず、読み書き中は false のみです。

編集:

public FileInputStream getFileInputStream() {
    return context.openFileInput(file_name);
}

これには のインスタンスが必要ですAPP

于 2012-03-30T13:05:54.577 に答える