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

 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章