我想开发一个实时图形应用程序,但它不起作用

时间:2017-07-08 12:43:49

标签: android

这是代码它在模拟器上运行,但它没有给出实时值

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    GraphView graph1 = (GraphView)findViewById(R.id.main_graph1);

    Series = new LineGraphSeries<DataPoint>();
    graph1.addSeries(Series);

在这里,我将使用附加数据的线程来模拟实时:

 protected void onResume(){
    super.onResume();

    new Thread(new Runnable() {

        public void run() {

            for(int i = 0; i<100; i++);
            runOnUiThread(new Runnable() {

                public void run() {
                    addEntry();
                }
            });

            try {
                Thread.sleep(600);
            } catch (InterruptedException e) {

                e.printStackTrace();
            }


        }


    });
}

我认为这似乎是错误的请帮助

1 个答案:

答案 0 :(得分:0)

问题:

1。)只有在线程对象上调用start函数(缺少)时才会执行一个线程

2。)for(int i = 0; i<100; i++);这个循环因为;在最后终止身体而无法做任何事情

所以解决方案就是

new Thread(new Runnable() {
    public void run() {
        for(int i = 0; i<100; i++) // ; removed 
        runOnUiThread(new Runnable() {

            public void run() {
                addEntry();
            }
        });
        try {
            Thread.sleep(600);
        } catch (InterruptedException e) {

            e.printStackTrace();
        }
    }
}).start(); // invoke start for execution