Handler的使用上-创新互联

Handler是android给我们提供用来更新UI的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它处理消息。Handler在frameWork的应用也非常广泛,比如说最常见的Activity的生命周期,onCreate、onResume、onDestory等方法都是通过Handler发送不同的消息去回调的,其实,在frameWord当中,Activity的交互,大部分都是通过AMS(activity manager service)处理的,整个应用程序的ActivityThread就是用过Handler的机制接收到AMS给我们发送的生命周期一些管理.

站在用户的角度思考问题,与客户深入沟通,找到冷水滩网站设计与冷水滩网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖冷水滩地区。

    Android的开发是一定要用到handler的,因为Android在设计的时候,就封装了一套消息创建、传递、处理机制,如果不遵循这样的机制,就没有办法更新UI消息的(当然也可以自己设计一套消息创建、传递、处理的机制,不过会相当麻烦,所以最好用Google提供的这种机制),就会抛出异常

    Handler的使用上

这是Android的Handler文档

    里面讲到Handler主要有两个用途,一个是定时地发送message或一个runnable对象,另一个是在一个线程当中处理并执行相应的action.

    当创建一个程序的时候,就会创建一个进程,这个进程在整个activity当中就是一个UI(主)线程,该线程就是activity thread的线程。

    如果我们在子线程中更新UI而不使用Handler做媒介的话,程序将会崩溃,下面尝试一下:

Handler的使用上

Handler的使用上

从第三行的错误代码提示中可以看出:只有在主线程中才可以直接更改UI界面

    下面就在子线程中通过使用Handler修改UI,功能是实现多张图片每个一段时间自动切换

Handler的使用上

Handler的使用上

Handler的使用上

这样程序就可以运行了

附件:http://down.51cto.com/data/2368067

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:Handler的使用上-创新互联
文章分享:http://scyanting.com/article/gjgie.html