私は毎秒値を受信するBluetoothサービスと、10秒ごとに位置情報を受信するGPSサービスを持っています。これらのデータはすべてデータベースに保存する必要があります。これらの2つのサービスが同時にデータベースに書き込もうとするのを避けるために、私はデータベースサービスを作成してそれらのデータを保存しました:ブルートゥースとGPSサービスはその値をこのサービスにブロードキャストで送り、このサービスはそれらを保管します。私はいくつかの質問があります:BroadcastReceiverを受信できるインテントの数はいくつですか?
- 私のデータベースを受信できるブロードキャスト数は何回ですか? (ブロードキャストレシーバを使用) - データベースサービスが新しい値を受け取ったが、以前の時刻を格納していない場合はどうなりますか?
私は1秒間に受信できる放送の数についてはわかりませんが、2番目の質問では最も簡単なのはおそらくイベントのための 'Queue'でしょう。 dbはイベントを受け取るたびに、そのイベントをキューに入れます。その後、バックグラウンドで実行されるスレッドを持ち、要素を1つずつ挿入する 'Queue'を扱います。この方法では、保存したい情報が失われず、各要素が受け取った順序と同じ順序で挿入されるようにします。 – NSimon