淺談Android , 以及Android程式的Hello World
前言
我本是做伺服器開發,有時候工作需要和基於Android、Windows等系統進行協同開發,為了知己知彼,我花了一段時間研究了一下Android。至此, 站在一個後臺開發者的角度,總結一下Android, 以及Android和後臺的異同。
一、Android簡單概述:
因為Android系統版本更新比較快, 差異比較大,很難給一個具體定義, 因此, 這裡是Android 5.0之後具有里程碑式的系統開始, 說一下什麼是Android。
從Android 5.0之前, Android一直是使用Dalvik 虛擬機器執行Android程式碼, 由於其是JVM的變異虛擬機器(不能稱作是Java 虛擬機器), 解釋由DX工具(將.class轉換為.dex)生成的.dex檔案, 其原理和JVM有一些相似的地方, 如, 都是解釋執行。因此, 這就有一個問題:執行時候, 會給使用者感覺不流暢, 有時候覺得卡, 當然使用者介面也相對較醜。
這兩個問題, 在Android 5.0之後, 可以說得到了很大的提升, 原因在於,從Android 5.0之後, 他的內部執行環境使用ART來代替Dalvik虛擬機器, 從而提升了執行效率。 通過Material Design的概念來優化介面, 目前也有許多滿足日常的優美的控制元件來使用, 個人覺得美觀程度不亞於IOS。ART為什麼效率比Dalvik執行效率高? 原因在於:應用在第一次安裝時候, 位元組碼就會預先編譯成機器碼, 使其成為真正的本地應用。這也稱作是預編譯, 這也應用程式首次啟動和執行執行的就是本地機器碼, 而不是有直譯器解釋之後再執行了。但這也有缺點:1、機器碼佔用的儲存空間更大,在應用包中, 可執行的程式碼常常只是一部分,如Google+ APK是28.3MB,但是程式碼只有6.9MB。2、應用安裝時間變長,具體延長多久時間, 由APP本身決定。
Android四大元件:
Activity(活動):是應用程式的介面, 凡是在應用中看到的都是活動。
Service(服務):看不見, 一直在後臺默默執行, 為應用提供支援。
Broadcast Receiver(廣播接收器):執行你的應用接收來自電話、簡訊等處的訊息。
Content Provider(內容提供器):為應用提供資料共享功能, 如讀取電話簿中的聯絡人, 就需要通過內容提供器來實現。
此外, Android自帶SQLite資料庫, 可以輕鬆實現資料儲存相關功能。等等。
Android本身是基於java語言的語法, 所以, 看Android程式是非常親切的, 不同點就是Android的四大元件等其他控制元件的掌握, Android還是非常輕鬆和有趣的一個東西。
第一個Android 程式: Hello World
首先, 安裝JDK, Android的開發需要JDK, 因此首先按照JDK(這裡省略安裝配置, 很簡單);
其次, 安裝Android Studio開發工具,下載後, 安裝非常簡單, 一路Next即可。安裝成功之後的介面如下:
至此, 正式環境搭建, 完畢, 開始第一個Hello World:
點選Start a new Android Studio project, 如下:
輸入專案名, 其餘預設, 一步步Next, 直到如下介面:
至此, Hello World專案已經完成了。趕快打包成APK安裝在手機上試一試, 用Android手機進開發者模式, 連線上電腦之後, 點選Run app按鈕, 出現如下介面:
這裡選擇我的手機, 點選OK, 即可。如下圖:
第一個Android APK , 成功了。如上圖。
關於Android四大元件和其他外掛、資料庫的內容, 還需要很多。這裡不再詳說。