應用程式基底礎
android 應用程式由java程式設計語言編寫.
android sdk工具會將android代碼和資料以及資源檔編譯成為一個android package,這是一個歸檔檔案,名稱以.apk結尾.在同一個apk檔案中的代碼被認為是一個應用程式.
android應用程式被安裝進一個裝置後,每個android應用程式駐留在自己的安全沙箱中.
android作業系統是一個多使用者linux系統,每個應用程式相當於一個使用者.
預設情況下,系統為每個應用程式分配一個獨立的linux user id.系統給這個應用程式的所有的檔案授予許可,這樣就只有這個應用程式對應的user id的使用者(實際上是進程)才能訪問.
每個進程有自己的虛擬機器(vm),這樣保證了一個應用程式代碼和其它的應用程式就孤立開了.
預設情況下,每個應用程式運行後有自己獨立的linux進程.
android系統實現了最小許可權原則,每個應用程式預設只有訪問自己組件的許可權(以保證它能正常工作).
要讓一個應用程式能夠跟其它應用程式共用資料,有兩種方法:
1.讓兩個應用程式共用同樣的linux user id;
2.使用者給應用程式授權(安裝時候)
android常用類
1.Activity
Activity是一個應用程式組件.它提供了螢幕上可見的部分供使用者互動使用.
android應用程式可以啟用另外一個應用程式的某個Activity.從這一點上來說,android應用程式不像通常的java或者c程式有一個main的入口函數.
開發人員所開發的Activity都是android.app.Activity的子類.
2.Intent
在各個應用程式之間傳輸資料,類似一個提交了的表單.
3.service
不可見,承擔大部分資料處理的工作.
service運行在後台,執行一個長期操作或者和遠程進程進行互動,它不提供一個使用者介面.
開發人員開發的service都是android.app.Service的子類.
4.Content Provider
為應用程式提供資料.
在android中,資料存放區位置有檔案系統,sqlite資料庫,web以及其他持久化儲存位置.通過content provider,其它應用程式可以查詢甚至是修改這些資料(要注意授權).
content provider也可以操作應用程式的私人資料.
content provider可以實現自android.content.ContentProvider.
啟用組件
activities,services,broadcast receivers都是可以個intent啟用的.
Activity啟用可以通過將一個intent對象傳遞給startActiviy()或者startActivityForResult().
service啟用可以通過將一個intent傳遞給startService(),也可以將一個intent傳遞給bindService()來綁定一個service.
開發環境:
1.sdk
2.eclipse
2.adt(eclipse下的android開發外掛程式)