編輯:Android開發教程
Android應用程序是用java語言寫的,通過aapt工具把應用程序所需要的任何 數據、資源文件打包成apk文件,這個文件是一個將應用安裝到手機上的一個載 體。
有很多方式,每個android應用程序存在於不同的世界:
(1)默認的,每個應用在他自己的Linux進程中運行,當應用中的任何代碼 需要執行時android就啟動相應的進程,當不需要執行時並且系統資源被其他應 用請求時android就關閉相應的進程。
(2)每個進程都有他自己的虛擬機對象(VM),所以應用程序代碼與其他的 應用運行是彼此隔離的。
(3)默認的,每個應用被分配一個唯一的Linux user ID,都被設置權限以 便應用程序的文件只對用戶可見或者只對應用自己可見。
安排兩個應用程序共享一個user ID是可能的,這種情況下他們彼此之間是可 以看見對方的文件的,為了保護系統資源,擁有相同ID的應用也能被安排運行在 一個相同的Linux進程中,共享相同的VM。
1、應用組件(Application Components)
Android一個核心的特點就是一個應用能使用另一個應用的元素(如果另一個 應用允許的話),你的應用不需要包含你用到的另一個應用的代碼也不需要你連 接這些代碼,相反的,只是當應用需要這些代碼時,就啟動另一個應用相應的代 碼(不是讓另一個應用全部啟動)
為了這個能工作,當一個應用的任何部分被需要時系統必須能啟動這個應用 進程,並且將這個部分實例化成java對象,因此,和其他大多數系統不同的是, android應用程序沒有一個單獨的程序入口(例如:沒有main()函數),相反 的,android應用有必要的組件以便當需要時系統能實例化並運行它,android中 有四種組件:
(1)Activity
一個Activity是一個可見的用戶可以使用的用戶界面,如果一個應用中有多 個Activity,雖然彼此結合形成一個應用在一起工作,但是每個Activity是彼此 獨立的,每個都是Activity的一個子類。
一個應用程序可能由一個或多個Activity組成,這些Activity這麼樣顯示, 需要多少個Activity,依賴於這個應用的設計者,一般的,有一個Activity應該 被標記成當這個應用啟動時第一個呈現出來給用戶的。
每個Activity默認的被給予一個窗口來繪制,一般的,這個窗口占滿整個屏 幕,但是他可以比屏幕小並且浮在另一個窗口的上面。
一個窗口中的可見的內容是由一些具有層次關系的view組成的,都是繼承自 View類的,每個view都控制一個窗口中的特定的矩形框,parent view 包含 children view和組織children view的布局,leaf view(那些在繼承層次最底 層的view)繪制在他們所控制的矩形框中,並且對用戶的動作做出直接的回應, 因此view就是Activity和用戶交互的地方,android有很多已經做好的view你可 以使用,包括buttons,text fields,scroll bars,menu items,check boxes 等等
一個view hierarchy是通過Activity.setContentView()方法被放到一個 Activity的window中的,content view是view hierarchy中最頂端的那個view。
(2)Services
一個service不是一個用戶可見的組件,在不確定的一段時間內運行在後台, 每個service都繼承自Service類。
你可以連接(connect)或者綁定(bind)到一個正在運行的service(如果 這個service還沒運行的話就啟動它),當連接到service後,你可以通過一個 service暴露出來的接口和這個service交流,對music service來說,這個接口 可以是允許用戶暫停,後退,停止,重新播放。
和Activity或者其他組件一樣,service運行在這個應用進程的主線程中,所 以他不會阻塞其他的組件或者用戶界面,他們經常為那些耗時長的任務單獨開一 個線程。
Android 操作系統對於<intent-filter>含有下列屬性的Activity會在應用程序管理器(Launcher)顯示一項,一般這 個Activi
不得不承認,這是個高效率的時代!從刷機精靈微博了解到,上周五,Google發布了Android4.4的源碼,這不,剛過了一天,Nexus 4機型的4.4 ROM就已經率先
做音樂播放器,有時會要求EQ均衡器,但android默認的樣式是水平的,這時就需要費點心思了。先是實現默認SeekBar樣式的EQ均衡器:這是4.0以上默認樣式的 Se
我對Android Camera的認識,會陸續的全部寫下來,逐步完善大腦裡的Camera網絡。1.Android Camera的2個獨立進程Android Camera