{"id":9260,"date":"2024-03-14T09:22:06","date_gmt":"2024-03-14T09:22:06","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/"},"modified":"2024-03-20T15:04:45","modified_gmt":"2024-03-20T15:04:45","slug":"how-to-implement-countdown-on-android","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/","title":{"rendered":"How to implement countdown on Android?"},"content":{"rendered":"<p>In Android, a countdown timer can be implemented using Handler and Runnable. Here is a simple example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">CountDownTimerActivity<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_\">AppCompatActivity<\/span> {\r\n\r\n    <span class=\"hljs-keyword\">private<\/span> TextView mTextViewCountdown;\r\n    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-type\">int<\/span> <span class=\"hljs-variable\">mCountdown<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-number\">10<\/span>;\r\n    <span class=\"hljs-keyword\">private<\/span> Handler mHandler;\r\n    <span class=\"hljs-keyword\">private<\/span> Runnable mRunnable;\r\n\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">protected<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">onCreate<\/span><span class=\"hljs-params\">(Bundle savedInstanceState)<\/span> {\r\n        <span class=\"hljs-built_in\">super<\/span>.onCreate(savedInstanceState);\r\n        setContentView(R.layout.activity_count_down_timer);\r\n\r\n        mTextViewCountdown = findViewById(R.id.textview_countdown);\r\n        mHandler = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Handler<\/span>();\r\n        \r\n        mRunnable = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Runnable<\/span>() {\r\n            <span class=\"hljs-meta\">@Override<\/span>\r\n            <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">run<\/span><span class=\"hljs-params\">()<\/span> {\r\n                <span class=\"hljs-keyword\">if<\/span> (mCountdown &gt; <span class=\"hljs-number\">0<\/span>) {\r\n                    mTextViewCountdown.setText(String.valueOf(mCountdown));\r\n                    mCountdown--;\r\n                    mHandler.postDelayed(<span class=\"hljs-built_in\">this<\/span>, <span class=\"hljs-number\">1000<\/span>); <span class=\"hljs-comment\">\/\/ \u6bcf\u96941\u79d2\u6267\u884c\u4e00\u6b21<\/span>\r\n                } <span class=\"hljs-keyword\">else<\/span> {\r\n                    mTextViewCountdown.setText(<span class=\"hljs-string\">\"\u5012\u8ba1\u65f6\u7ed3\u675f\"<\/span>);\r\n                }\r\n            }\r\n        };\r\n\r\n        mHandler.post(mRunnable);\r\n    }\r\n\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">protected<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">onPause<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-built_in\">super<\/span>.onPause();\r\n        mHandler.removeCallbacks(mRunnable);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the example above, a TextView was first defined in the layout file to display the countdown, and then a Handler and Runnable object were created in the Activity. The Runnable implemented the logic to update the countdown every 1 second and update the TextView. The post() method of the Handler was called in the onCreate() method of the Activity to start the countdown, and the Runnable was removed in the onPause() method to stop the countdown.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Android, a countdown timer can be implemented using Handler and Runnable. Here is a simple example code: public class CountDownTimerActivity extends AppCompatActivity { private TextView mTextViewCountdown; private int mCountdown = 10; private Handler mHandler; private Runnable mRunnable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_count_down_timer); mTextViewCountdown = findViewById(R.id.textview_countdown); mHandler = new Handler(); mRunnable = [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-9260","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to implement countdown on Android? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to implement countdown on Android?\" \/>\n<meta property=\"og:description\" content=\"In Android, a countdown timer can be implemented using Handler and Runnable. Here is a simple example code: public class CountDownTimerActivity extends AppCompatActivity { private TextView mTextViewCountdown; private int mCountdown = 10; private Handler mHandler; private Runnable mRunnable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_count_down_timer); mTextViewCountdown = findViewById(R.id.textview_countdown); mHandler = new Handler(); mRunnable = [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T09:22:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-20T15:04:45+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ava Mitchell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"How to implement countdown on Android?\",\"datePublished\":\"2024-03-14T09:22:06+00:00\",\"dateModified\":\"2024-03-20T15:04:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\"},\"wordCount\":100,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\",\"name\":\"How to implement countdown on Android? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T09:22:06+00:00\",\"dateModified\":\"2024-03-20T15:04:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to implement countdown on Android?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to implement countdown on Android? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/","og_locale":"en_US","og_type":"article","og_title":"How to implement countdown on Android?","og_description":"In Android, a countdown timer can be implemented using Handler and Runnable. Here is a simple example code: public class CountDownTimerActivity extends AppCompatActivity { private TextView mTextViewCountdown; private int mCountdown = 10; private Handler mHandler; private Runnable mRunnable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_count_down_timer); mTextViewCountdown = findViewById(R.id.textview_countdown); mHandler = new Handler(); mRunnable = [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T09:22:06+00:00","article_modified_time":"2024-03-20T15:04:45+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"How to implement countdown on Android?","datePublished":"2024-03-14T09:22:06+00:00","dateModified":"2024-03-20T15:04:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/"},"wordCount":100,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/","name":"How to implement countdown on Android? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T09:22:06+00:00","dateModified":"2024-03-20T15:04:45+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-countdown-on-android\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to implement countdown on Android?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=9260"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9260\/revisions"}],"predecessor-version":[{"id":42428,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9260\/revisions\/42428"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=9260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=9260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=9260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}