Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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 使用处理程序postdelay定期运行代码_Android_Handler - Fatal编程技术网

Android 使用处理程序postdelay定期运行代码

Android 使用处理程序postdelay定期运行代码,android,handler,Android,Handler,我想每隔60秒定期记录一条消息。我想我应该使用带有postdayed方法的handler。然而,在其他问题中提出的方法对我不起作用 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHandler=new DatabaseHandler(this);

我想每隔60秒定期记录一条消息。我想我应该使用带有postdayed方法的handler。然而,在其他问题中提出的方法对我不起作用

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

    dbHandler=new DatabaseHandler(this);
    data = dbHandler.fetchAllItemsIn(5);
   run= new Runnable() {
        @Override
        public void run() {
            String items="";
            for(int i=0;i<data.size();i++){
                items+=data.get(i).getItemName()+"\n";
            }
            Log.d("items:",items);
        }
    };

}
public void LogDatabase(View view){
  Handler hand=new Handler();

  hand.postDelayed(run,60);
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHandler=新的DatabaseHandler(此);
data=dbHandler.fetchAllItemsIn(5);
运行=新的可运行(){
@凌驾
公开募捐{
字符串项=”;

对于(int i=0;i如果您不希望只执行一次,则需要在runnable结束时再次调用postDelayed,因为您只运行了一次
runnable
,因此它对您不起作用

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

    dbHandler=new DatabaseHandler(this);
    data = dbHandler.fetchAllItemsIn(5);
    hand = new Handler();

    run= new Runnable() {
        @Override
        public void run() {
            String items="";
            for(int i=0;i<data.size();i++){
                items+=data.get(i).getItemName()+"\n";
            }
            Log.d("items:",items);
            hand.postDelayed(run,60);
        }
    };

}
public void LogDatabase(View view){
  hand.postDelayed(run,60);
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHandler=新的DatabaseHandler(此);
data=dbHandler.fetchAllItemsIn(5);
hand=新处理程序();
运行=新的可运行(){
@凌驾
公开募捐{
字符串项=”;

对于(int i=0;i您是否尝试过
TimerTask
?请查看: