Android 學習之旅!(1)

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

嗯,從今天起我要開始學習 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相關的書還沒去找,暫時先看會視頻先吧..

原文地址:https://www.cnblogs.com/kazehanaai/p/4504518.html