Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android的Sleep命令_Android_Android Emulator_Rssi_Wifimanager - Fatal编程技术网

Android的Sleep命令

Android的Sleep命令,android,android-emulator,rssi,wifimanager,Android,Android Emulator,Rssi,Wifimanager,我正在编写一个小程序,定期轮询WIFI连接的RSSI。 我正在程序中使用SystemClock.Sleep(2000) 问题是,我想每2秒显示一次RSSI。但是,目前,即使它每2秒进行一次轮询,结果也仅在循环结束时显示 以下是代码片段: for(int i=0;i<10;i++) { Date dt=new Date(); WifiInfo info = wifi.getConnectionInfo();

我正在编写一个小程序,定期轮询WIFI连接的RSSI。 我正在程序中使用
SystemClock.Sleep(2000)

问题是,我想每2秒显示一次RSSI。但是,目前,即使它每2秒进行一次轮询,结果也仅在循环结束时显示

以下是代码片段:

for(int i=0;i<10;i++)
        {
            Date dt=new Date();
            WifiInfo info = wifi.getConnectionInfo();
            int rssi = info.getRssi();
            textStatus.append("\n\nRSSI :" +Integer.toString(rssi)); 
            SystemClock.sleep(2000);
        }

对于(int i=0;i
  • 尝试在单独的线程中使用您正在做的事情,
  • 连续运行它,直到您需要,
  • 让它休眠2秒,做您的事情,
  • 从它更新主线程,
  • 循环此过程



    • 希望这会有所帮助。

      • 尝试在一个单独的线程中使用你正在做的事情,
      • 连续运行它,直到你需要,
      • 让它休眠2秒,做你的事情,
      • 从它更新主线程,
      • 循环这个过程



        • 希望这会有所帮助。

          不要在UI线程中使用睡眠

          请改为执行以下操作:

          • 创建一个MessageHandler(android.os.Handler)来处理要显示的消息(
            textStatus.append(…)
          • 创建一个运行包含睡眠的循环的工作线程
          • 现在,工作线程无法直接更新textStatus。而是将一条消息从工作线程发送到消息处理程序
          添加:

          以下是一个有用的链接,可以帮助您:

          请参阅“在UI线程中处理昂贵的操作”一节


          不要在UI线程中使用睡眠

          请改为执行以下操作:

          • 创建一个MessageHandler(android.os.Handler)来处理要显示的消息(
            textStatus.append(…)
          • 创建一个运行包含睡眠的循环的工作线程
          • 现在,工作线程无法直接更新textStatus。而是将一条消息从工作线程发送到消息处理程序
          添加:

          以下是一个有用的链接,可以帮助您:

          请参阅“在UI线程中处理昂贵的操作”一节


          @Kiran:请看我在我的博客中添加的链接answer@Kiran:查看我在回答中添加的链接