シナリオは、ファイルから整数値を読み取り、整数に格納するアプリを開発しています。そして、そのファイルから取得した値は常に変化しているため、CPU周波数の値です。
アクティビティからこの値を監視するにはどうすればよいですか? 私の考えている方法は、放送受信機、サービス、オブザーバーなどです。しかし、どのように実装すればよいかわかりません..
シナリオは、ファイルから整数値を読み取り、整数に格納するアプリを開発しています。そして、そのファイルから取得した値は常に変化しているため、CPU周波数の値です。
アクティビティからこの値を監視するにはどうすればよいですか? 私の考えている方法は、放送受信機、サービス、オブザーバーなどです。しかし、どのように実装すればよいかわかりません..
リスナーを使用できます:
public class CpuValueReader {
private CpuValueReaderListener listener = null;
int cpuValue;
public void setListener(CpuValueReaderListener listener) {
this.listener = listener;
}
public void startReading() {
// this is an exmaple, you may read the file here
// found value:
setValue(theNewValue);
}
private setValue(int value) {
if (value != cpuValue) {
cpueValue = value;
if (listener != null)
listener.cpuValueChanged(value);
}
}
}
インターフェース:
public inteface CpuValueReaderListener {
public void cpuValueChanged(int newValue);
}
それを使用する(ほんの一例):
CpuValueReader instance = new CpuValueReader ();
instance.setListener(new CpuValueReaderListener() {
@Override
public void cpuValueChanged(int newValue) {
// do cool things with new value
}
});
クロノメーター ティック リスナーを使用してこれを実現します。したがって、クロノメーターの目盛りごとに、ファイルを読み取り、値をテキストビューに設定します
chronometer = (Chronometer)findViewById(R.id.chronometer1);
chronometer.setOnChronometerTickListener(new OnChronometerTickListener()
{
@Override
public void onChronometerTick(Chronometer arg0)
{
//read file here and set the value to my textView
}
});
chronometer.start();