技術博文2016/10/11

【蘇州APP開發】安卓Android和Java語言的異同、關係和區別

安卓Android和Java語言的異同、關係和區別,安卓Android是一種以Linux為基礎的開放原始碼作業系統,主要使用於便攜裝置。2011年第一季度,安卓在全球的市場份額首次超過塞班系統,躍居全球第一。 2012年2月資料,安卓佔據全球智慧手機作業系統市場52.5%的份額,中國市場佔有率為68.4%。自google收購安卓之後,安卓開發者更是風生水起。安卓開發前景看好,安卓手機市場大賣,安卓應用人氣火爆,安卓程式設計師也待遇漸長。所以,越來越多的大學生開始選擇學習安卓,學習安卓倒是個好方向,可也不能盲目,首先要理解安卓的特點,明確自己的學習方向。那麼學習安卓需要掌握些什麼呢?

Java是現在人們熱談的話題,現在學習java的人也是越來越多。隨著市場的需求,Java培訓機構也是遍地開花,網路上的各種java教程也是大量出現,這足以讓我們認識到java的火熱程度。許多做安卓的程式設計師以前都是做JAVA的,甚至還有不少程式設計師是即做JAVA又做安卓,所以,如果想做安卓應用的話,不妨先學些JAVA.

安卓系統是基於linux為核心的,而linux是用c語言和少量組合語言寫成的,如果你想研究安卓,就去學c語言吧。現在大學裏面和計算機相關的專業甚至理工類專業一般都會開設C語言課程,只是很多同學在大學期間並沒有好好學習,如果對它掌握的不太好或者很久沒用了,建議先從將其好好複習一下,將其基本的語法再好好回顧一下,最好能搭建一個環境來執行、除錯它。如果沒有學過,不妨也提前學習一下。

安卓上得應用大多是用java編寫的,如果你想編寫手機遊戲和應用 ,就去學java吧。安卓應用程式開發是以Java語言為基礎的,所以沒有紮實的Java基礎知識,只是機械的照抄別人的程式碼,是沒有任何意義的。 建議在安卓課程前期的java學習階段中,需要用心的學好。

Java是現在人們熱談的話題,現在學習java的人也是越來越多。隨著市場的需求,Java培訓機構也是遍地開花,網路上的各種java教程也是大量出現,這足以讓我們認識到java的火熱程度。許多做安卓的程式設計師以前都是做JAVA的,甚至還有不少程式設計師是即做JAVA又做安卓,所以,如果想做安卓應用的話,不妨先學些JAVA.

Android 雖然使用Java語言 作為開發工具 ,但是在實際開發中發現,還是與Java SDK 有一些不同的地方。Android SDK引用了大部分的Java SDK,少數部分被Android SDK拋棄,比如說介面部分,java.awt package除了java.awt.font被引用外,其他都被拋棄,在Android平臺開發中不能使用。將Java 遊戲 移植到Android平臺的過程中,Android  SDK與Java SDK的區別是很需要注意的地方。現將Android SDK中引用自Java SDK的package列舉如下,並簡要說明這些Java包的功能:

描述
java.awt.font 提供與字型相關的類和介面 。
java.beans 包含與開發 beans 有關的類,即基於  JavaBeansTM 架構 的元件 。
java.io 通過數據流、序列化和檔案系統提供系統輸入和輸出。
java.lang 提供利用 Java 程式語言進行程式設計的基礎類。
java.math 提供用於執行任意精度整數演算法 (BigInteger) 和任意精度小數演算法 (BigDecimal) 的類。
java.net 為實現網路應用程式提供類。
java.nio 定義作為資料容器的緩衝區,並提供其他 NIO 包的概述。
java.security 為安全 框架 提供類和介面。
java.sql 提供使用 JavaTM 程式語言訪問並處理儲存 在資料來源(通常是一個關聯式資料庫)中的資料的  API 。
java.text 提供以與自然語言無關的方式來處理文字、日期、數字和訊息的類和介面。
java.util 包含集合框架、遺留的  collection 類、事件模型 、日期和時間設施、國際化和各種實用工具類(字串標記生成器、隨機數生成器和位陣列)。

Java擴充套件包

javax.crypto 為  cryptographic(加密)操作提供類和介面。
javax.microedition.khronos.egl
javax.microedition.khronos.opengles
                        Java Binding for the OpenGL ES(R) API
javax.net 提供用於網路應用程式的類。
javax.security.auth 此包提供用於進行身份驗證 和授權的框架。
javax.security.auth.callback 此包提供與應用程式進行互動所必需的類,以便檢索資訊(例如,包括使用者名稱和密碼的身份驗證資料)或顯示資訊(例如,錯誤和警告訊息)。
javax.security.auth.login 此包提供可插入的身份驗證框架。
javax.security.auth.x500 此包包含應該用來在 Subject 中儲存 X500 Principal 和 X500 Private Crendentials 的類。
javax.security.cert 為公鑰證書類。
javax.sql 為通過 JavaTM 程式語言進行伺服器端資料來源訪問和處理提供 API。
javax.xml 根據 XML 規範定義核心 XML 常量和功能。

Android SDK引用了Java SDK  80%的package,這些package也是在實際開發中經常使用的,如果需要了解資料包的詳細資訊,請點選各個包的連結。

以下展示了Android SDK 中一些與網路有關的package。

Android  SDK 網路包

描述
java.net 提供與聯網有關的類,包括流和資料包(datagram)sockets、Internet 協議和常見 HTTP 處理。該包是一個多功能網路資源。有經驗的 Java 開發人員可以立即使用這個熟悉的包建立應用程式。
java.io 雖然沒有提供顯式的聯網功能,但是仍然非常重要。該包中的類由其他 Java 包中提供的 socket 和連線使用。它們還用於與本地檔案(在與網路進行互動時會經常出現)的互動。
java.nio 包含表示特定資料型別的緩衝區的類。適合用於兩個基於 Java 語言的端點之間的通訊。
org.apache.* 表示許多為 HTTP 通訊提供精確控制和功能的包。可以將 Apache 視為流行的開源 Web 伺服器。
android.net 除核心  java.net.* 類以外,包含額外的網路訪問 socket。該包包括 URI 類,後者頻繁用於 Android 應用程式開發,而不僅僅是傳統的聯網方面。
android.net.http 包含處理 SSL 證書的類。
android.net.wifi 包含在 Android 平臺上管理有關 WiFi(802.11 無線 Ethernet)所有方面的類。並不是所有裝置都配備了 WiFi 功能,特別是 Android 在 Motorola 和 LG 等手機制 造商的 「翻蓋手機」 領域獲得了成功。
android.telephony.gsm 包含用於管理和傳送  SMS(文字)訊息的類。一段時間後,可能會引入額外的包來來為非 GSM 網路提供類似的功能,比如 CDMA 或 android.telephony.cdma 等網路。

本文新浪部落格