如何定期运行任务?

时间:2015-03-24 18:35:10

标签: java android android-asynctask alarmmanager android-handler

我开始构建我的应用程序以将JSON字符串发送到服务器,但只有在我单击按钮时才会发送它。我希望它在用户从TimeDialog指定的时间之后自动发送。我被建议使用AlarmManager或Handler,但我不知道如何使用我的应用程序实现它。我提供了将执行并发送到我的服务器的代码行。任何帮助或建议?

使用的代码我希望它在指定的时间后运行:

public void onClick(View view) {
    switch (view.getId()) {
        case R.id.saveBtn:

            if (!validate())
                Toast.makeText(getBaseContext(), "Enter some data!", Toast.LENGTH_LONG).show();
            // call AsynTask to perform network operation on separate thread
            new HttpAsyncTask().onPostExecute("server_adress"); //was execute but changed!
            break;
    }

}

2 个答案:

答案 0 :(得分:0)

您可以使用Java Util Timer类来执行您想要的操作。

您可以看到here示例。

尝试使用它!!!

答案 1 :(得分:0)

虽然警报管理器/处理程序通常是安排Android上未来事件的最佳方式,但Google建议在调度网络调用时使用同步适配器,例如应用程序以给定间隔同步到服务器。该框架提供了预定义的用户身份验证和后台调度,因此您无需运行应用程序即可进行呼叫,提高电池性能,并在计划的时间内没有网络连接时处理该情况。这是using Synch Adapters上的开发者页面。