【Android】实现开7分钟后关3分钟无限循环
来源:互联网 发布:js触发事件 自动 编辑:程序博客网 时间:2024/04/30 19:24
由于项目需要控温功能,使用延时的方法进行操作,即使退出界面也不会影响,除非kill了它
实现效果:
进入后什么都不动,点击打开开关,倒计时开始,420秒后显示L,然后进入180的倒计时,计时完毕显示H,进入420倒计时,如果点击关闭开关,则所有倒计时全部清0
代码非常简单,请跟我一起操作,新建一个工程,把activity_main.xml中的内容全部删掉,复制以下内容
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/colorAccent" android:textSize="24sp" android:id="@+id/id_text"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/colorAccent" android:textSize="24sp" android:id="@+id/id_text2"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/id_bt1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/id_bt2"/></LinearLayout>
就是两个按钮和两段文本,用于提示是否打开开关和剩余时间
MainActivity 中对按钮和文本进行初始化,建议一行一行复制,加深印象,也能避免很多不必要的错误
public class MainActivity extends Activity implements View.OnClickListener{ private TextView mTextView; private TextView mTextView2; private Button mButton1; private Button mButton2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); initEvent(); } private void initView(){ mTextView=findViewById(R.id.id_text); mTextView2=findViewById(R.id.id_text2); mButton1=findViewById(R.id.id_bt1); mButton2=findViewById(R.id.id_bt2); } private void initData(){ mTextView.setText("计时器"); mTextView2.setText("AT+IO=L"); mButton1.setText("打开开关"); mButton2.setText("关闭开关"); } private void initEvent(){ mButton1.setOnClickListener(this); mButton2.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.id_bt1: m7MinOnCountDownTimer.start(); mTextView2.setText("AT+IO=H"); break; case R.id.id_bt2: m7MinOnCountDownTimer.cancel(); m3MinOffCountDownTimer.cancel(); mTextView2.setText("AT+IO=L"); break; } }}
注意到上面有两个不认识的东西,m7MinOnCountDownTimer是定时7分钟开,m3MinOffCountDownTimer是定时3分钟关,在MainActivity 中定义两个CountDownTimer 用于计时,输入的两个参数分别是执行onFinish的时间(长),执行onTick的时间(短)
public class MainActivity extends Activity implements View.OnClickListener{ private TextView mTextView; private TextView mTextView2; CountDownTimer m7MinOnCountDownTimer =new CountDownTimer(421000,1000) { @Override public void onTick(long l) { //在此更新UI mTextView.setText("倒计时: "+l/1000); } @Override public void onFinish() { mTextView2.setText("AT+IO=L");//时间到了关闭开关,进入3分钟倒计时 m3MinOffCountDownTimer.start(); } }; CountDownTimer m3MinOffCountDownTimer =new CountDownTimer(181000,1000) { @Override public void onTick(long l) { //在此更新UI mTextView.setText("倒计时: "+l/1000); } @Override public void onFinish() { mTextView2.setText("AT+IO=H");//时间到到了打开开关,进入7分钟倒计时 m7MinOnCountDownTimer.start(); } };}
运行即可
阅读全文
0 0
- 【Android】实现开7分钟后关3分钟无限循环
- android 实现无限循环viewpager
- Android 实现广告无限循环
- 3分钟实现极光推送的android demo
- Spring-Task实现订单前5分钟,后30分钟,后1个小时短信通知
- 3 分钟搞定 Android Push
- 3 分钟搞定 Android Push
- 3 分钟搞定 Android Push
- 10分钟实现android聊天机器人
- 10分钟实现android聊天机器人
- Android 通过bmob十分钟实现即时通讯
- Android ListView实现无限循环滚动
- android viewpager 无限循环实现gallery 效果
- Android ViewPager 实现无限循环滑动
- Android中ViewPager无限循环实现方法
- android viewpager 实现左右无限循环
- 【Android】ViewPager实现无限循环滚动
- Android ViewPager实现无限循环滑动
- NP-Hard
- makefile 使用总结(精)
- java EE开发之Servlet第五课:xml解析
- 一些好用的css和js
- ubuntu16.04上基于 VirtualEnv 安装tensorflow
- 【Android】实现开7分钟后关3分钟无限循环
- hdu 3613 manacher算法
- 微信公众平台开发 获取用户基本信息
- kmemdup
- [SDUT](2134)数据结构实验之栈四:括号匹配 ---栈
- 在Vue项目中使用easyScroll滚动条插件
- HTTPS握手过程与对称加密、非对称加密
- PullToRefreshBase添加头部视图
- shell脚本实例