0

场景是,我正在开发一个应用程序,它从文件中读取整数值并将其存储为整数。我从该文件中获得的值总是在变化,因为它是 cpu 频率值。

我如何从我的活动中监视这个值?我脑海中的方式是通过广播接收器、服务、观察者等。但不知道我该如何实现..

4

2 回答 2

1

您可以使用监听器:

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
    }
});
于 2012-04-21T14:38:41.420 回答
0

我使用计时器刻度监听器来实现这一点。因此,在计时器的每一个刻度上,我都会读取文件并将值设置为文本视图

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();
于 2012-04-21T15:05:12.877 回答