android学习记录

      1.常用的控件:TextView,EditText,Button,RadioGroup(RadioButton),CheckBox;其中RadioGroup是一组,里面的选项只能选择一个,而每一个CheckeBox都可以选或者不选。

       2.常用的布局格式:linearLayout(线性布局,可以指定水平或者垂直方向安放好控件),TableLayout(表格式布局,分几行几列),RelativeLayout(相对布局,通过android:layout_above="@id/xxx"这种方式指定控件之间的相对位置)
       3.handler的用法:
There are two main uses for a Handler: (1) to schedule messages and runnables to be executed as some point in the future; and (2) to enqueue an action to be performed on a different thread than your own.
       帮助文档中说了handler的两种主要用法(1).控制Message和Runnable对象在以后的某个时刻被执行;(2).从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程)
        以我个人的观点,handler像是一个专门负责管理消息队列的经理,他控制消息或者线程的进入或调出执行。android提供handler类来异步的处理一些耗时的操作,不如下载文件,传送数据,这个异步指的是它的运行与主线程是异步的,两个同时执行          
                                

 
4.安卓中线程处理对象:
Android是参考Windows的消息循环机制来实现Android自身的消息循环的。  
Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。  
Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的Looper对象。  
一个线程可以存在(当然也可以不存在)一个消息队列和一个消息循环(Looper)。  
Activity是一个UI线程,运行于主线程中,Android系统在启动的时候会为Activity创建一个消息队列和消息循环(Looper)。  
Handler的作用是把消息加入特定的(Looper)消息队列中,并分发和处理该消息队列中的消息。构造Handler的时候可以指定一个Looper对象,如果不指定则利用当前线程的Looper创建。

 
 
 

本文出自 “平时的心得” 博客,请务必保留此出处http://5898535.blog.51cto.com/5888535/1016461

你可能感兴趣的:(android)