最近长沙天气有点让人抓狂了,宿舍更是睡觉禁地,大晚上睡不着觉,半夜惊醒,一身IT闷骚汗,嗨,又是难眠夜~_~

睡不着的时候就打开电脑,闲来无事,刚好前几天安卓入门,便突发奇想,弄一个计数器来数绵羊(当然,只是一个计数器,可能需要接入手机的音响端口才能发声吧),哈哈,全当是练习安卓上的线程应用小程序,路人就当看看热闹,大神见笑。

首先介绍一下,如果有部分java基础的同学就会觉得就用一个线程就ok了,安卓上应该也差不多吧,但这里要注意,安卓里的线程不能直接访问UI的组件,这里就需要用到安卓里的一个Hander对象。

hander英文有处理者的意思。他就相当于一个邮递员(介于主线程和子线程之间),他可以在邮局(主线程)和用户(子线程)之间传递信息。

当安卓启动一个主线程(邮局开门了),子线程(用户)通过Handler(邮递员)将Message(邮件)传给主线程的UI(邮局),这是大致的框架。

当然在细节方面,当我们发送消息的时候,会调用回调函数,即Callback接口对象,当线程发送数据过来时,会调用该几口的handMessage方法。

代码如下:

package com.example.count;
import android.os.Bundle;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.Message;
import android.app.Activity;
import android.widget.TextView;public class MainActivity extends Activity {//文本视窗private TextView timeView;//创建Handler对象:把Callback对象通过构造方法传进去,//在子线程中调用主线程中的hander对象把Message对象发送出去private Handler handler;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);  //通过文本的ID获取文本的内容对象timeView = (TextView)findViewById(R.id.timeView);//创建回调接口对象,当handler接收到消息时调用该接口的//handleMessage方法,此处采用匿名内部类重写hanleMessage方法Callback callback = new Callback(){public boolean handleMessage(Message msg){//这里可以直接访问ui上的组件int second  = msg.arg1;//更新数据在界面上的显示timeView.setText(String.valueOf(second));return true;}};//创建Handle对象handler = new Handler(callback);    //创建计时线程,此为子线程Thread t = new Thread(){int second = 0;public void run(){//休眠1s,实现计时效果while(true){try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}second++;//通过Message对象传递数据Message msg = new Message();//通过Message对象传递数据msg.arg1 = second;//通过 handler对象接收消息,并调用上面写的回调Callback对象的//handleMessage方法handler.sendMessage(msg);}}};//在主线程中启动子线程t.start();}
}

以上纯属小弟愚见,有问题虚心接受。

睡不着觉--安卓计数器给我数绵羊相关推荐

  1. 愿你白天有说有笑,晚上睡个好觉

    插画:annie.Z -1- 手机设置了静音,早晨起来,被十几条未接电话惊醒,准备回拨过去,看到姑姑发来的短信:祝你生日快乐. 看了看日历才反应过来,今天是自己的农历生日. 打开微信,一朋友发来一张图 ...

  2. 睡个“好”觉,还真是有益身心胖瘦的

    睡觉真的能瘦吗?"躺着也能瘦"这句话从字面意义上来说"就很扯",我是一点也不相信的,但不相信归不相信吧,我好奇呀!为什么会出现这种说法呢?躺着真能瘦吗?于是就去 ...

  3. 做好这几点,安心睡个好觉

    我说的是网络安全,而且说的是企业安全!(不感兴趣的可以划走了.) 做好安全,能让你省多少事! 因为一旦出现安全事件,会给你带来很多麻烦. 即便不是你的责任,你也要为此煞费心力!(光报告可能就要写好几份 ...

  4. 中医教你怎么睡好觉,睡个养生觉!

    中医教你怎么睡好觉,睡个养生觉! http://www.360doc.com/content/15/0511/00/14567236_469554154.shtml 人一个晚上不睡,一百天都补不回来. ...

  5. Sleep tight:(晚上) 睡个好觉!

    不知从何时起,"Good night"(晚安)竟成了情侣们晚睡前开心入眠的"安心丸".不过,也有朋友说,"睡个好觉"更中国化.更比" ...

  6. 晚上睡不着觉该怎么办?

    晚上睡不着觉该怎么办?晚上睡不着失眠是许多当代人士面临的一种困扰,一天的工作之后疲倦的躺在床上可愣是睡不着,翻来覆去数绵羊也无济于事,面对这样的状况真不知如何是好?! 晚上经常失眠睡不着的原因有哪些? ...

  7. 搭建阿里云 TiDB 的灾备,让我安欣睡个好觉

    作者: anxin 原文来源: https://tidb.net/blog/07ee8049 云原生数据库TiDB 上阿里云了,依托的平台是阿里云计算巢,阿里云计算巢是一个服务管理平台,一方面方便第三 ...

  8. 年轻人,不拼一把,你确定余生睡得好觉吗?

    博观而约取,厚积而薄发 日剧<大叔之爱>里,有一句著名的台词:"你不要大声责骂年轻人,他们会立刻辞职的.但是中年人,你可以往死里骂,尤其是那些有房.有车.有孩子的." ...

  9. 13条建议,睡个好觉吧

    1. 拥有充足睡眠的人,在抵抗力.寿命.记忆学习.创新力等等各个方面都有优势,按照里面的实验,提升效果是30%-百分之几百,你完全可以把充足的睡眠当作一款全能"药". 2. 虽然少 ...

最新文章

  1. 走进人工智能,认识机器学习
  2. 后台开发之IO缓冲区管理
  3. 树莓派搭建TensorFlow
  4. 读取文件夹下所有的文件
  5. 初识ABP vNext(8):ABP特征管理
  6. P1313-计算系数【组合数,二项式定理】
  7. No database support: No database YAML file
  8. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)
  9. 微信硬件平台对接--蓝牙
  10. qt编写的android菜单,Qt for Android实现与webview的交互
  11. IDEA 如何根据代码自动生成类图
  12. Embergen 流体模拟工具
  13. 海尔希望小学:同一片蓝天下梦想启航
  14. 使用node.js构建一个web服务器(适合自学)
  15. 第十三届蓝桥杯大赛软件赛决赛(Java 大学C组)
  16. 液滴模板水凝胶的温度控制形状变化(定制PNIPA/膨润土复合水凝胶/聚乙烯醇/魔芋胶复合凝胶/海藻酸钠(SA)/氧化石墨烯(GO)复合水凝胶/壳聚糖(CS)-g-PAM/氧化石墨烯(GO)复合水凝胶)
  17. 7代cpu能装虚拟xp系统吗_小米手机最新系统MIUI 11 推荐,附带小米刷机资源
  18. 2021 Android APK反编译 apktool使用教程
  19. 小爱同学控制单片机或者其它硬件的思路记录
  20. 南方cass使用体会

热门文章

  1. 2022年中国智能家居产业链图谱 | 产业链全景图
  2. 阿里双11集团技术总指挥——汤兴:一场不亚于移动化的变革已经发生
  3. 100天精通Python丨基础知识篇 —— 02、Python和Pycharm(语言特点、学习方法、工具安装)
  4. 202011.22深圳湾渐变晚霞-莫安迪原创摄影作品
  5. Anaconda+PyCharm+PyTorch+Gym深度强化学习环境搭建 送新手直接送进炼丹炉
  6. 一、Require函数
  7. 《春深.祁华夏文》-【istrageboy之古文复兴】
  8. 字段缩写ti表示什么_以下哪个字段缩写表示“摘要”?
  9. 计算机与u盘连接使用,u盘虽然与电脑连接,但是插上后却没有反应,这该如何解决?...
  10. (亚马逊澳大利亚)手机充电器 AS/NZS 4417.1 安全标准检测 电池产品UL2054