前言
前段時間受公司業務發展須要,探索性進入Android開發領域。一切從零開始,java基礎,Java進階,Android框架學習,Eclipse熟悉,最終到第一個即時通信App完成,歷經一個月的時間。實現內容包含一個即時通信服務端,Mysql數據庫搭建,Android客戶端通信App。完成以後公司出於戰略考慮,暫時放棄了Android。讓我以爲,哎,仍是不要太相信領導的話爲好...>..<...趁着記憶還不算模糊,打算把這段經歷和學習過程記錄下來,以備往後須要。html
只會一門語言的只能稱之爲技術人員,真正的程序員不該該侷限於語言,或者侷限於平臺。我歷來不爭論Java好仍是.net好,或者windows方便仍是Linux強大,技多不壓身,趁年輕,橫向開闊視野,東西只有親歷過才知道好與很差,若是能達到天下武功都可爲我所用,那簡直是最好了。java
好了,開始介紹Java,最好學習Java的方式是和.Net對比。想象作.NET開發咱們須要什麼?一個運行環境.net framework,一套包含基礎BCL,編譯器等的SDK,以及一個開發工具visual studio,Over,那麼咱們從上面提的角度來學習java.mysql
JavaSDK簡介
首先Java的運行環境是JRE,等同於.Net Framework,Java的開發工具套件爲JDK,JDK就是Java Development Kit.簡單的說JDK是面向開發人員使用的SDK,它提供了Java的開發環境和運行環境。你裝JDK的話JRE也就自動安裝了。SDK是Software Development Kit 通常指軟件開發包,能夠包括函數庫、編譯程序等。JDK分爲Java SE,J2EE,J2ME三個版本,它的組成基本組成有:android
javac – 編譯器,將源程序轉成字節碼 ------------------
對應於.Net CSC(CSC是.Net的編譯器,更多詳情請自行百度。。。)
jar – 打包工具,將相關的類文件打包成一個文件----------
跟.Net生成類庫的過程相似,至關於.Net的命令csc.exe /t(arget):library /r(eference):xxx.dll xx.cs (意思是生成目標爲類庫 生成的時候引用xxx.dll 同時將xx.cs一塊兒編譯)
javadoc – 文檔生成器,從源碼註釋中提取文檔-----------
.Net有第三方文檔工具
jdb – debugger,查錯工具----------------------------
略過
java – 運行編譯後的java程序(.class後綴的)----------
Java的」CS「文件是以.java結尾的,通過編譯以後變爲.class.(.Net編譯過的是什麼?)
appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。---
有點相似與.Net的Cassini(好吧若是你不知道Cassini的話又請自行百度。。。)
Javah:產生能夠調用Java過程的C過程,或創建能被Java程序調用的C過程的頭文件。----------------
Java的本地庫調用名稱爲JNI,即Java native interface,等同於P/invoke,固然java對於這個還有專門的NDK,就是方便C/C++和java互相調用的一個SDK套件,讀者不用專門瞭解,後續android部分會有補充
Javap:Java反彙編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。-------------
相似於.net的ILSPY
Jconsole: Java進行系統調試和監控的工具----------------
略過
JavaSE相似與開發winform所用的SDK,J2EE相似與開發Asp.net MVC所用的SDK,J2EE通常都會用Spring和Hbernate 前者包含IOC和AOP功能等,後者是ORM框架,跟.Net的EF相似,J2ME相似與開發winCE程序所用的SDK。
開發工具和時間分配
介紹完JRE和JDK,接下來就是介紹開發工具,Java的開發工具主要有Eclipse和IntelliJ IDEA,後者同時也是大名鼎鼎的Resharper的開發商,我這裏作Android開發,就選eclipse了。
說說我那一個月的時間是怎麼分配的:
java+eclipse: 一週
android framework: 兩週
android客戶端 app+mysql+服務端: 一週。
因此你們不用在java語言自己上糾結或者惶恐。儘管語言自己最貼近開發人員,卻最遠離實際運行的機器碼。後續開發Android的時候我會介紹Java我是怎麼用的。
下一講
好了,今天就到此爲止,下一講咱們就來對android framework作作分析。
想給女友作App的同志們請留意個人後續文章。