Android 學習之旅!(1)

kazehanaai發表於2015-05-14

就這樣就過去了一年加一個學期,現在是大二第二個學期而且是下半學期了,以前都是無所事事,沒事睡睡覺,打打遊戲就過去了,但是想到家境和以後的路,我還是決心自己找點東西學習下,以後出去還能有一技之長(雖然可能只是一大堆擁有這項技能的人中的一個...但是還是要學,至少能餬口吧?)

 

嗯,從今天起我要開始學習 Android 開發,因為現在在國內評價最好的應該就是 apple 公司的iPhone了吧?對,他是ios(不知道有沒拼錯..)系統的,iphone每一代走的是高階路線..就連App也是質量非常好的(跟android的App比較下..可以說一個頂幾百個?)..但是我個人還是對ios沒什麼興趣,可能是因為我是 google 粉 吧..正式因為目前沒有什麼質量非常好的App,而且除了ios 系統的iPhone,其他手機基本都是android系統的,所以市場理所當然會挺大的...以下略了很多水..(我真的不會吹啊...上面的分析都是亂說的..別當真..)

 

我下載的開發平臺是 android studio.(不敢說我"用"的開發平臺啊..因為我根本不會用)(在官網下載 3k/s也是累死我了)

 

在此,我在網上的資源中下載了一套視訊資源,是  黑馬程式設計師_精通android4.0開發視訊  .以下我會做出相關的筆記.以及我的學習情況.僅作學習研究參考使用.(下面開始進入正文)

 

 

筆記:

google 親兒子 手機 可以用於開發..好處:自己下載android原始碼,自己編譯,安裝到手機上.其他手機的話會缺少一些驅動.(我也好想要部Nexus6啊.不過好貴...等工作在考慮吧..)

 

Wireless Markup Language(WML)精簡版的html語言

 

Dalvik VM(開源的java 虛擬機器)

 

android是很多開源專案組拼的一個系統.

基於linux核心的開發.做了包裝,

libraries(surface manage(介面),mediaFramework(多媒體),SQLite(嵌入式資料庫,iphone也用),OpenGL|ES(3D渲染圖形引擎,window用的是 direct X),FreeType(字型),WebKit(瀏覽器核心),SSL(安全相關),libc(標準庫)),

android runtime(執行java程式碼的虛擬機器)(core libraries(核心),dalvik virtual machine(android下的java虛擬機器,可以呼叫 libraries的函式,方法)),

application framework(應用程式框架)(開發時可用API直接呼叫),

applications(系統自帶的應用)(home,contacts,phones,browser)(必備的)

 

JVM 和 Dalvik vm 的比較

          JVM              Dalvik VM

編譯後檔案格式:  .java->.class->.jar    .java->.class->.dex->.odex

            ↓               ↓

            jdk  javac        sdk  dex

基於的架構  基於棧(連續的記憶體空間的架構    基於暫存器(cpu的儲存空間)的架構      暫存器讀取資料比較快

class包括:header(含編譯版本),heterogeneous constant pool(常量池?),class,field,method,attributes)

dex把jar包的class包含到一起...能提高掃描載入速度,和解釋執行速度.

dex包括:header,Strings,Type/Class constant pool,field,method,class,field list,method list,code header,local varlables) 

 

SDK:standard develop kits(標準工具包)

ADT:android develop tools(eclipse 的外掛)(視訊中用的是 eclipse + ADT +SDK ,感覺我自己用 android studio 可能會有點吃力...)

自己在官網下載的SDK 在目錄中的platforms裡會是空的,用SDK manage可以下載不同版本的SDK.要針對某個版本的android系統作開發要下載對應版本的SDK.

SDK manage中的tools:開發的工具.extras:擴充套件工具.extras中的 android support library是將高版本的API向下相容,google admob(看不清) ads SDK可以開發完後加點廣告條(這個我不喜歡,不過..世道),google analyties app tracking SDK分析應用程式工具.google cloud messaging for android library雲提供訊息的library....(此處省略了幾個)....google USB driver(真機需要的驅動),intel x86 emulator accelerator(模擬機加速器)

 

對應版本的android對應的API版本要記一下!!

 

示例:android 4.1.2(API 16)下的SDK檔案?

SDK platform 開發時用到的夾包?.

samples for SDK 例項程式碼.

arm eabi v7a System image(處理器映象

intel x86 atom System image(處理器映象

mips(開源處理器構架) System image(處理器映象

google APIs(提供支援夾包?可直接使用google地圖之類的?)

source for android SDK(SDK原始碼)

 

要分析市場上android版本的佔有率,去針對下載SDK包開發?

 

 

由於國內有 wall? SDK manage 下載不成功 要 在選單 tools->options->others:Force https://...source to be fetched using http://...勾上

 avd:android virtual devices(android 虛擬裝置)

QVGA 240*320 (VGA 480*640)  Q:Quarter

HVGA 320*480  H:Half

WVGA 480*800  W:Width

FWVGA 480*854

 

Hardware Accelerated Execution Manager(硬體加速模擬器)

 

好吧,今天就學這麼多了..一口氣看了7個視訊..android相關的書還沒去找,暫時先看會視訊先吧..

相關文章