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 に答える