1

我对此完全陌生,并试图弄清楚如何在 android 的布局中实际显示这个小功能的结果。一直在搜索和搜索,我无法弄清楚它到底需要什么。

package com.example.proyectoparteb;

import java.io.IOException;
import java.io.RandomAccessFile;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        readUsage();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    private float readUsage() {
        try {
            RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");
            String load = reader.readLine();

            String[] toks = load.split(" ");

            long idle1 = Long.parseLong(toks[5]);
            long cpu1 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
                  + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);

            try {
                Thread.sleep(360);
            } catch (Exception e) {}

            reader.seek(0);
            load = reader.readLine();
            reader.close();

            toks = load.split(" ");

            long idle2 = Long.parseLong(toks[5]);
            long cpu2 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
                + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);

            return (float)(cpu2 - cpu1) / ((cpu2 + idle2) - (cpu1 + idle1));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

        return 0;
    } 

}
4

1 回答 1

1

好吧,这是一个模糊的问题,但这里有一个你可以做的事情的例子。

在 main_activity.xml 或您命名的任何内容中将 TextView 添加到您的布局中。

将 id 设置为@+id/myTextView。

在您的代码中,使用以下命令导入 TextView 小部件:

import android.widget.TextView;

然后在你的方法中初始化它:

TextView cpu = (TextView) findViewById(R.id.myTextView);

并将文本设置为:

cpu.setText(readUsage().toString());

你去吧。与任何语言一样,请确保您玩弄一些东西来学习它。您可以使用 Eclipse 图形编辑器添加小部件并更改文本大小和颜色等属性。

于 2013-04-21T18:49:52.377 回答