1. 程式人生 > >Android應用的幾種開發方式

Android應用的幾種開發方式

1、前言

  自蘋果 iOS 和谷歌 Android 作業系統釋出以來,在網際網路界就多了一個新名詞:App(意為執行在智慧移動終端上的第三方應用程式)。

  最初的 App 有兩種形式:一種是基於本地(作業系統)執行的 App,稱之為原生App,或者Native App;一種是基於瀏覽器執行的 Web App,同樣是安裝在手機上。因為本地 App 位於平臺層上方,向下訪問和相容的能力比較好一些,可以支援線上或離線,訊息推送或本地資源訪問,攝像、撥號功能的調取。但是由於裝置碎片化,本地 App 的開發成本很高,維持多個版本的更新升級也很麻煩。

  隨著 HTML5 的出現,基於 HTML5 低成本跨平臺

開發優勢又兼具本地 App 特質的混合模式移動應用( Hybrid App) 迅速興起。它大幅降低了 App 的開發成本,可以通過現有應用商店模式發行,在使用者桌面形成獨立入口等等。 Hybrid App 已成為開發 App 不錯的選擇,是未來移動應用開發的趨勢。

2、原生App的開發方法

  以開發工具的不同來分類,原生 App 的開發方式有兩種:Eclipse + ADT 和 Android Studio。

  Eclipse + ADT

  Eclipse + ADT 的開發方式是曾經Android開發者最好的選擇,也是谷歌官方所支援的。但是2013的Google I/O 大會上,Google官方曝光一款新的開發工具 Android Studio,並在2014年底正式推出自家的IDE Android Studio1.0,2016年11月2日,Google Android Developer 官博發文,宣告停止對 Eclipse ADT 的支援。

  由於現在市場上的書籍和視訊教程,包括很多專案和原始碼絕大多數都是基於 Eclipse + ADT 的,所以瞭解這種開發方式對於初學者是很必要的,便於更快的入門和轉入 Android Studio的使用。(當然,有自信和自學能力強的人可以直接使用 Android Studio)

  Eclipse + ADT 開發環境的搭建

  Eclipse 是一個免費的、開放原始碼的、基於Java的可擴充套件開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過外掛元件構建開發環境,通過安裝外掛,可以用它開發 C/C++,Java,Python,Perl,Ruby,Android,PHP等。
  
  Eclipse 的官方下載地址:

http://www.eclipse.org/downloads/,其他下載站點百度一下即可。

  Eclipse是免安裝的,下載下來的一般是個壓縮包,但是有Windows,Linux,Mac作業系統和32bit和64bit之分,根據自己的電腦選擇對應的下載即可。

  我們都知道,原生 App 是基於 Java 開發的,因此,在開發 Java 程式之前,必須先完成一些準備工作,也就是在計算機上安裝並配置 Java 開發環境,即安裝和配置 JDK。

  JDK 的全稱是 Java SE Development Kit,即Java 標準版開發包,是 Sun 公司提供的一套用於開發 Java 應用程式的開發包,它提供了編譯、執行Java程式所需的各種工具和資源,包括 Java編譯器、Java執行時環境,以及常用的Java類庫。
  官方下載 JDK 的地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,類似於Eclipse,需要根據自己電腦的作業系統和位數選擇對應的 JDK。
這裡寫圖片描述
安裝時需要選擇 JDK 的安裝路徑,系統預設會安裝在 C:\Program Files\Java 路徑下,但是不推薦安裝在有空格的路徑下,這樣可能導致一些未知的問題,建議直接安裝在根路徑下,例如 D:\Java\jdk1.8.0_112\。安裝完成後,我們還要配置一下環境變數,此處只說明Windows作業系統下的配置過程:
  點選左下角win視窗圖示,右鍵點選計算機,或者直接右鍵桌面上的“計算機”圖示,點選“屬性”,進入了“控制面板\系統和安全\系統”視窗,單擊該視窗左邊欄的“高階系統設定”。
這裡寫圖片描述

在“高階”Tab頁裡,單擊“環境變數”按鈕,進入環境變數對話方塊。
這裡寫圖片描述
  
  在下方的系統變數中,新建 變數名:JAVA_HOME,變數值:JDK安裝路徑,就是之前下載 JDK 後的安裝路徑,比如 D:\Java\jdk1.8.0_112。
這裡寫圖片描述

  找到變數 Path,點選編輯,在最後新增 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;注意裡面的每項都是用英文的分號;來隔開的,這個電腦已經有了,只是編輯,新增,不是新建。然後新建 變數名:CLASSPATH,變數值為 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;。(注意最前面有個.;)
  這裡寫圖片描述
  這裡寫圖片描述
  
  這樣 JDK 的環境變數就配置完成,開啟Windows作業系統的命令列視窗(在“開始”選單裡執行cmd命令即可),在命令列中分別輸入 java 和 javac 命令,如果得到的是 java 或 javac 的用法幫助資訊,那麼說明我們的環境變數配置成功了。
  這裡寫圖片描述

  完成以上步驟,我們就可以開發J2SE的程式了,但是這裡我們是要開發 Android App,所以我們還要安裝 Android 在 Eclipse 上的外掛 ADT ,它的全稱是 Android Developer Tools Plug-in。現在,谷歌的官網上已經沒有 ADT 的下載連結了,它會提示你用 Android Studio ,並將之前的專案遷移到 Android Studio 上,因此推薦大家採用離線安裝的方式。
  這裡貼出一個國內的下載連結,裡面提供了Android開發的所有工具下載。http://tools.android-studio.org/index.php。Eclipse離線安裝 ADT 外掛的方法可以參考如下百度經驗:ADT離線安裝教程

  Android SDK 的下載配置

  SDK:(software development kit)軟體開發工具包。被軟體開發工程師用於為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體的開發工具的集合。因此,Android SDK 指的是Android專屬的軟體開發工具包。
  它的官方下載地址是:https://developer.android.com/studio/index.html。但是,由於國內GFW的原因,外國的網站基本訪問不了,我們只能在國內其他網站下載,這些資源還是非常容易找到的(由於線上下載的不穩定和不確定性,這裡只說明離線下載配置的方法)。上面的連結已經有SDK的下載地址了,這裡再貼兩個另外的連結:http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.htmlhttp://www.androiddevtools.cn/。每個版本都有兩種型別的SDK,分別是exe和zip格式的(這裡指Windows作業系統),即可執行安裝程式的和免安裝壓縮包。SDK的安裝或解壓路徑最好也是根路徑,反正不要帶有中文(安裝國外的軟體都要注意這點,這是個好的習慣,雖然不一定是強制性的)。
  這裡需要注意的是,無論通過哪種方式,下載的SDK都只是個工具而已,開啟SDK的資料夾,裡面的內容大致是這樣的。(可能有細微區別)
  這裡寫圖片描述
  這裡可以看到一個可執行程式SDK Manager,顧名思義,它就是 SDK 的管理工具,雙擊它,會出現如下視窗。
  這裡寫圖片描述
  Android作業系統的所有版本都在這裡,需要哪個就下載哪個,然後點選右下角的install * packages,出現下面的視窗,點選要下載的package,選擇accept,最後選擇install即可安裝。
  這裡寫圖片描述

  這裡值得一提的是,這種下載速度基本是龜速(如果不翻牆的話),所以,強烈建議大家學會科學上網,哪怕花錢也好,試想,一個Android開發人員連Android官網都上不去的話,那是多麼可怕的一件事!
  這裡,貼上一篇解決這個問題的文章(我沒有試過,我一直在牆外),http://blog.csdn.net/freedom2028/article/details/6261810
  安裝完成之後,為了在命令列視窗可以使用 Android SDK 的各種工具,建議將 Android SDK 目錄下的 tools 子目錄、 platform-tools 子目錄新增到系統的PATH環境變數中。
  最後,值得一提的是,如果你覺得上面的步驟太複雜,你也可以下載多合一下載包ADT Bundle,裡面包含了:sdk + 特定版本platform + eclipse + adt + 相容包,解壓縮即可使用。

  第一個Hello World專案

  雙擊開啟Eclipse,出現如下的視窗,即指定工作空間的路徑。自己建個資料夾即可或者使用預設設定。
  這裡寫圖片描述
  開啟後,點選File->New->Android Application Project,出現如下視窗。專案名稱可以寫為 HelloWorld,SDK根據自己下載的,選擇要用的即可,theme選擇none即可,然後一直點選next,直至finish即可,這樣一個helloworld專案就建成了。
  這裡寫圖片描述

  Android虛擬裝置神器Genymotion

  Android應用程式可以在虛擬機器和真機上執行,真機測試很容易,Android手機通過USB線接上電腦,開啟USB除錯,在Eclipse裡右鍵點選專案HelloWorld->Run as->Android Application,在裝置選項裡選擇你的手機即可。
  這裡主要說明 AVD(Android Virtual Device)的使用,以上環境都完成了,你會看到Eclipse的工具欄裡會有一個Android的圖示,Android Virtual Device Manager在SDK Manager的旁邊。
  這裡寫圖片描述
  在這裡,可以建立和管理Android 虛擬機器,但是不用不知道,一用嚇一跳,這裡建立的Android 虛擬機器啟動慢的令人髮指,少則十幾分鍾,多則無法估計(因為無法再等下去,直接停掉了),剛開始的時候我們會以為是自己電腦出了問題,其實不然,它本來就這麼慢。
  還好,我們有另一款使用非常容易也非常快的虛擬機器Genymotion(一般啟動在10s左右吧),它的官網是https://www.genymotion.com/,中文官網是http://www.genymotion.net/,它的使用教程可以參考百度經驗http://jingyan.baidu.com/article/3ea51489e7d8bd52e61bba36.html。這裡特別提醒一點,genymotion是基於Virtual box 執行的,如果安裝之後,可以正常執行,就不要再更新了,它的更新提示直接忽略即可,不然可能導致無法使用了。
  Eclipse還有個genymotion的外掛,安裝後可以在Eclipse中生成一個按鈕,點選即可啟動genymotion,上面圖片上有,在SDK manager的左邊(右邊是AVD manager),因為可以先執行genymotion,之後執行Android程式,所以這裡忽略。

  執行HelloWorld

  好了,所有工作都做完了,現在執行HelloWorld專案吧。
  HelloWorld
  
  到這裡,我們的HelloWorld也執行出來了,可能你也發現了,我們一句程式碼也沒有寫,沒錯,按照以上步驟,預設建立出來的就是這樣一個HelloWorld專案,它顯示的內容就是Hello world!

  Android Studio

2、Web App

  什麼是Web App?維基百科的解釋是這樣的:In computing, a web application or web app is a client–server software application in which the client (or user interface) runs in a web browser. Common web applications include webmail, online retail sales, online auctions, wikis, instant messaging services and many other functions.理解一下是這樣的:Web App就是運行於網路和標準瀏覽器上,基於網頁技術開發實現特定功能的應用,可以理解為一個觸屏版的網站。不同於原生App,Web App 不是基於作業系統執行的,而是執行在瀏覽器裡的,它的宿主是瀏覽器,它所需的資源一般都在網路上,因此,它不需要下載安裝,但是使用它必須要聯網。這類應用我們常用的有百度新聞,163郵箱,淘寶觸屏版等。
  因此,Web App 就是網頁的開發,主要利用前端知識,諸如HTML5,CSS,JavaScript等。
  知乎上推薦的一些較好的 Web App: https://www.zhihu.com/question/19727553

3、Hybrid App

4、有趣的 App Inventor

  App Inventor的設計目的就是為了讓毫無程式設計經驗的人(比如兒童)可以開發有趣的手機應用。App Inventor 原是Google實驗室(Google Lab)的一個子計劃,由一群Google工程師和勇於挑戰的Google使用者共同參與設計完成。
  由於GFW的原因,國內訪問不了App Inventor的官網,無法線上程式設計(之前國內還有站點可以訪問,但是現在未找到),它的官網是:http://appinventor.mit.edu/explore/。值得慶幸的是,App Inventor提供離線開發的方式,它的離線安裝包可以在這裡下載(這是我的百度網盤,失效請告知我):http://pan.baidu.com/s/1sldCqoX
  AI2離線包的安裝使用說明可以參考:http://www.arduino.cn/thread-12392-1-1.html。安裝完成後,使用時開啟離線環境,在瀏覽器中輸入127.0.0.1:8888(localhost:8888)就回進入登入頁面,如下圖
  這裡寫圖片描述
  輸入自己的賬號,進入開發頁面,如下圖
  這裡寫圖片描述
  這樣就可以開發自己的應用了。
  這裡是App Inventor的相關教程或論壇:
  http://www.17coding.net/http://www.yzzyz.cn/http://www.appinventor.tw/ai2http://www.jianshu.com/p/2c61f43dee85?nomobile=yeshttp://www.appinventor.cn/