編輯:Android開發實例
這是JavaLobby中Android 101系列博文中的第一篇,介紹了Android開發的基本概念。對於我這個Android門外漢來說,至少學習到了一點兒新知識,希望大家也能如此。
在當前的軟件開發世界中,編寫移動應用已變得非常流行了。對開發框架的選擇還不太多,可用的智能手機的數量也有限。盡管編寫運行在iOS上的應用十分流行,但Android已經獲得了Java開發者們的關注。在之後的若干篇文章中,我將采取一些步驟幫助你入門Android開發。但在我們開始編碼之前,讓我們先看看Android開發的一些核心原理。
什麼是Android?
下面這張來自於在線的開發者手冊的圖片展示了Android操作系統的架構:
Android構建在Linux內核之上,Linux內核會管理典型的操作系統服務。Android運行時環境基於Dalvik虛擬機(目前Oracle 正給予許多關注的東西)。Dalvik是Java虛擬機的一個瘦身後的變種,它基於Apache Harmony的Java實現。不提供JavaME,Swing或AWT組件;相反地,Android提供它自己的組件庫。
還有一些由C/C++編寫的本地類庫。Surface Manager處理針對展現子系統的訪問,而媒體類庫提供了針對最流行音頻和視頻格式的播放功能。
應用框架是大部分開發者所感興趣的,它提供了創建合格Android移動應用所需的API和服務。
Android核心概念
如前所述,應用框架擁有開發者創建應用程序所需的一切。下面是主要概念的綱要:
活動
一個活動是一個用戶界面屏幕。一個應用程序在應用的執行過程中可以有一個或多個活動。你所創建的每一個活動可以擁有一個它自己的窗口以進行圖形繪制。
服務
服務作為後台任務運行,它沒有可視化的表現形式。與活動一樣,服務運行在主應用進程線程中,但服務常會派生出其它的線程來執行任務,而不會影響其它應用的運行。服務的典型例子就是音樂播放器,當它在播放列表中的歌時,你的手機還可以做其它事情。
內容提供器
內容提供器是一個客戶化API,它允許讀寫特定的數據集。它就允許不同的應用彼此之間共享數據。內容提供器都是ContentProvider基類的子類,ContentProvider提供一個訪問數據的標准接口。應用程序不能直接調用ContentProvider的實現,轉而要使用 ContentResolver對象,該對象可以訪問任何ContentProvider實現。
Intent
Intent是一個特定的活動,例如發送電子信件,播放歌曲,或發起一次聯系。
資源
Android應用拼圖中的最後一塊就是資源--應用程序需要訪問或展示的圖片,文本或非編碼的信息。
活動生命周期
下圖展示了一個活動在其生命周期中的不同狀態:
當你不能控制狀態間的轉換時,你可以通過onX()方法,像onStart(),onResume()等等,來獲知狀態的改變。你可以重寫這些方法以使應用程序能恰當地對這些狀態作出反應。
下一步
現在你已對Android應用是如何組成的有了更好的理解,這為開始真正的開發作好了准備。下一篇文章將帶你看看系統設置。
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
在android中,文本控件主要包括TextView控件和EditView控件,本節先對TextView控件的用法進行詳細介紹。 &nb
Android沒有自帶顏色編輯器,為了讓用戶直觀的選擇顏色,做了這麼一個控件,效果圖如下:上方顏色條為主顏色條,用戶可以選擇大致需要的顏色,下方是該顏色的平衡調節