android學習筆記

android有四大組件,分別是Activity,Service,BroadcastReceiver,ContentProvider.

Activity:相當於手機裏面的一個展示界面.

           每個Activity都是靠Intent來激活,並且都要在AndroidManifest.xml進行配置,在配置的時候可以設置Theme和Permission等.Activity的生命週期主要涉及到2個方法onCreate(Bundle savedInstanceState)和onDestrot()2個方法.初始化Activity的佈局是在onCreate方法中實現,onDestroy方法主要是用於Activity銷燬的時候釋放資源以及其他事物.

Service:服務.

           一個服務相當於一個線程或者進程,服務的啓動方式有2種

           (1)startService(Intent intent)/stopService(Intent intent)

             (2) bindService(Service service, ServiceConnection  conn,int flags)/bindService(ServiceConnection conn)

             這2種方式的區別在於,使用bind的方式是與調用Service的Activity的生命週期緊密聯繫的,而使用start的方式是沒有直接聯繫,也就是說如果採用bind的方式,當Activity生命週期結束時與這個Activity相關的Service也被結束,而start方式啓動則相反.大家也可以看出Service也是靠Intent激活的.

BroadcastReceiver:廣播接收器

           有點類似於監聽器模式,如果實現自己的廣播接收器就繼承這個類,實現裏面的onReceiver方法,然後再AndroidManifest.xml進用<receiver>標籤進行聲明,再receiver標籤中同時要申明你的廣播的觸發條件<intent-filter>.當再Activity中調用sendBroadcast(Intent intent)方法時進行觸發,廣播也是使用Intent進行激活.

ContentProvider:內容提供器

           其實內容提供器就是一個進程交互數據的一套接口,實現它可以在不同的android程序之間共享數據,實現自己的內容提供器其實也很簡單,繼承ContentProvider實現一堆方法,這些方法名基本上就是數據庫的增刪改查實現,其中有一個關鍵的內UriMatcher,就是靠它來匹配URI進行定位.這是說明了內容提供器是靠URI激活的而不是Intent激活.

 

自定義ListView的ListItem的佈局時,如果佈局中有多選,單選,或者button時,必須設置佈局屬性android:descendantFocusability="blocksDescendants"並且把按鈕的onfoucus屬性設置爲false,不然Listitem的onclick事件將失效,應爲Listitem的onclick事件優先級低於button的onclick事件。

  

發佈了34 篇原創文章 · 獲贊 47 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章