2012-04-21 3 views
0

Сценарий, я разрабатываю приложение, которое считывает целочисленное значение из файла и сохраняет его в целочисленном размере. И значение, которое я получаю из этого файла, всегда меняется, потому что это значение частоты процессора.android - как следить за одним значением

Как я могу следить за этим значением из своей деятельности? Пути в моем уме есть через широковещательный приемник, обслуживание, наблюдатель и т.д. Но не знаю, как я реализую ..

+0

означает, что вы хотите проверить значение после некоторого интервала (времени)? – MAC

+0

Я хочу проверить его постоянно .. – rohit

ответ

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(); 
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 
    } 
}); 
+0

так он будет постоянно читать значение? – rohit

+0

Это зависит от вашей реализации. – MByD

+0

Я хочу прочитать значение из/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq. И значение из этого файла постоянно меняется – rohit

Смежные вопросы