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创建。