zoukankan      html  css  js  c++  java
  • android开发之线程

              线程(android

    java中我们学习了线程,线程,是进程的一个单位,在程序要运行时,会开启线程,运行程序,我们要创建线程就需要我们去继承接口Thread或者实现Runable接口,然后重写run方法,在调用Thread类的start()方法来开启线程。而在android中同样也是如此.但是在android中,多了一个限制:只有主线程才能修改界面。当应用程序启动时,Android首先会开启一个主线程 (即UI线程),主线程管理界面中的UI控件,进行事件分发,我们创建的线程是没有办法直接修改界面。所以我们就需要去使用Handler类来帮助我们修改界面

    Handler类:

    主要接受子线程发送的数据,并用此数据配合主线程更新UI。

    写一个handler类,继承Handler,重写handlerMessage()方法,然后在该方法里面进行修改界面的操作。

    使用Message类的对象来传递消息,然后在handlerMessage()中接收信息,进行修改界面的操作。

    实战演练:

    在界面上实现会动的小球,每一次点击一下界面,就出现一个小球;

    1,实现一个自定义组件,添加到窗体上;在自定义组件中实现每点击一次就可以添加一个小球,把小球对象存在数组中;

    2.实现一个线程类,把我们的数组中的对象取出来,在线程的run方法中画出来;并且在实例化一个Message对象,把我们的位图Bitmap发送出去;

                

    3.实现我们的Handler类,重写handlerMessage()方法;接收我们Message传的消息。

                

    界面接收我们的消息的之后,把位图画在界面上就可以了。

    这样一个简单地线程游戏就实现了;

  • 相关阅读:
    ie的bug及兼容性
    解决多次include后全局变量global失效的问题
    针对MYISAM表锁的解决方案(转)
    解决二进制文件冲突
    linux基本命令(1) 开关机操作
    子网掩码(NETMASK),ip地址,默认网关
    linux中常见设备对照表
    解决base64通过http传输后+变空格的问题
    mysql 查询某值是否存在于某结果集或表中
    laravel 报错 No query results for model
  • 原文地址:https://www.cnblogs.com/hesi/p/5768268.html
Copyright © 2011-2022 走看看