相关疑难解决方法(0)

如何在Android中以定义的时间间隔运行Runnable线程?

我开发了一个应用程序,在Android模拟器屏幕中以定义的间隔显示一些文本.我正在Handler上课.以下是我的代码中的代码段:

handler = new Handler();
Runnable r = new Runnable() {
    public void run() {
        tv.append("Hello World");               
    }
};
handler.postDelayed(r, 1000);
Run Code Online (Sandbox Code Playgroud)

当我运行此应用程序时,文本只显示一次.为什么?

multithreading android

335
推荐指数
7
解决办法
62万
查看次数

Thread start()和Runnable run()之间的区别是什么

假设我们有这两个Runnables:

class R1 implements Runnable {
    public void run() { … }
    …
}

class R2 implements Runnable {
    public void run() { … }
    …
}
Run Code Online (Sandbox Code Playgroud)

那么这有什么区别:

public static void main() {
    R1 r1 = new R1();
    R2 r2 = new R2();

    r1.run();
    r2.run();
}
Run Code Online (Sandbox Code Playgroud)

还有这个:

public static void main() {
    R1 r1 = new R1();
    R2 r2 = new R2();
    Thread t1 = new Thread(r1);
    Thread t2 = new Thread(r2);

    t1.start();
    t2.start();
}
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading runnable

209
推荐指数
9
解决办法
18万
查看次数

如何在Android上的后台线程上运行代码?

我想要一些代码在后台持续运行.我不想在服务中这样做.还有其他方法吗?

我曾尝试Thread在我的课程中调用课程,Activity但我的Activity遗体在后台停留了一段时间然后停止了.该Thread课程也停止工作.

class testThread implements Runnable {
        @Override
        public void run() {
            File file = new File( Environment.getExternalStorageDirectory(), "/BPCLTracker/gpsdata.txt" );
            int i = 0;

            RandomAccessFile in = null;

            try {
                in = new RandomAccessFile( file, "rw" );
            } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
// TODO Auto-generated catch block
                e.printStackTrace();
            }
//String line =null;
            while ( true ) {
                HttpEntity entity = null; …
Run Code Online (Sandbox Code Playgroud)

multithreading android

109
推荐指数
5
解决办法
17万
查看次数

何时使用handler.post()&何时使用新的Thread()

我想知道我handler.post(runnable);应该何时使用,何时使用 new Thread(runnable).start();

在Handler的开发人员文档中提到:

导致Runnable r添加到消息队列中.runnable将在连接此处理程序的线程上运行.

这是否意味着,如果我写onCreate()Activity类:

Handler handler = new Handler();
handler.post(runnable);
Run Code Online (Sandbox Code Playgroud)

然后runnable将在一个单独的线程或Activity的线程中调用?

android android-handler android-thread

56
推荐指数
4
解决办法
7万
查看次数

新的Runnable()但没有新的线程?

我试图理解这里的代码,特别是匿名类

private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
   final long start = mStartTime;
   long millis = SystemClock.uptimeMillis() - start;
   int seconds = (int) (millis / 1000);
   int minutes = seconds / 60;
   seconds     = seconds % 60;

   if (seconds < 10) {
       mTimeLabel.setText("" + minutes + ":0" + seconds);
   } else {
       mTimeLabel.setText("" + minutes + ":" + seconds);            
   }

   mHandler.postAtTime(this,
           start + (((minutes * 60) + seconds + 1) * 1000));
   }
}; …
Run Code Online (Sandbox Code Playgroud)

java multithreading android runnable

18
推荐指数
5
解决办法
10万
查看次数