次の関数の文字列(結果)を整数値に変換し、1000で割りたい(khz -> mhz)
private String ReadCPUMhz()
{
ProcessBuilder cmd;
String result="";
try{
String[] args = {"/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"};
cmd = new ProcessBuilder(args);
Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while(in.read(re) != -1)
{
result = result + new String(re);
}
in.close();
} catch(IOException ex){
ex.printStackTrace();
}
result = result.replace("\n", "");
result = result.replace(" ", "");
return result;
}
この戻り値は、fe 192000 (khz) という文字列を返します。しかし、私はmhz値が欲しい..
と:
int mhz = Integer.parseInt(result)
アプリは自動的に閉じます..
khz 値を mhz に変換するにはどうすればよいですか?
.replace 行がないと、エラーが発生しました。Logcat は次のように述べています: "無効な int: "192000 " この数字の後には、ダイヤモンドのような特殊文字がたくさんあります..
そのため、正しい値を取得する方法がわかりません..
私を手伝ってくれますか?
結果の値に問題があると思います。
ありがとうございました