福利來(lái)了!帶你“愛(ài)上Android”
就是這么任性,又一波送書(shū)活動(dòng),感謝大家長(zhǎng)久以來(lái)對(duì)腳本之家的喜愛(ài)!這次小編自作主張,免費(fèi)贈(zèng)書(shū),快來(lái)參加。
《愛(ài)上Android》
內(nèi)容提要
本書(shū)深入淺出,詳細(xì)講解了Android 開(kāi)發(fā)的知識(shí),主要內(nèi)容包括:Android 的體系架構(gòu)、AndroidStudio、項(xiàng)目的創(chuàng)建、Android 工程目錄、調(diào)試程序、界面的搭建;常用的控件和屬性、提示信息Toast和Snackbar、點(diǎn)擊事件3 種寫(xiě)法等;Activity 之間的跳轉(zhuǎn)、Activity 生命周期、Activity 啟動(dòng)模式等;數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)編程;圖片的處理;復(fù)雜控件的使用;Fragment、廣播接收者、Service、動(dòng)畫(huà)等;以及Android 新特性、Kotlin 語(yǔ)言、性能優(yōu)化、屏幕適配、自定義控件、JNI/NDK 開(kāi)發(fā)等高級(jí)知識(shí)。并通過(guò)開(kāi)發(fā)一個(gè)真實(shí)的項(xiàng)目讓讀者學(xué)以致用。
編輯推薦
12萬(wàn)讀者的真實(shí)閱讀體驗(yàn),CSDN博客專(zhuān)家的力作,基于新版的Android
循序漸進(jìn)地講述開(kāi)發(fā)過(guò)程中必備的知識(shí),宗旨是不重復(fù)開(kāi)發(fā)一個(gè)“輪子”,在給大家講明原理的同時(shí),介紹一些好的開(kāi)發(fā)框架,這些框架能夠讓讀者很快上手開(kāi)發(fā)完成一個(gè)應(yīng)用。
本書(shū)前面部分知識(shí)點(diǎn)配有相應(yīng)視頻,幫助讀者零基礎(chǔ)學(xué)通Android開(kāi)發(fā)
作者微信答疑,解決讀者學(xué)習(xí)中的困難
樣章試讀:
第1章 初識(shí)Android
毫無(wú)疑問(wèn),你肯定急于開(kāi)始學(xué)習(xí)Android應(yīng)用程序開(kāi)發(fā)。畢竟,編程對(duì)程序員來(lái)說(shuō)吸引力也是很大的。然而,在開(kāi)始實(shí)際編程前,需要先了解Android的系統(tǒng)。
1.1 Android是什么
Android,中文名為安卓,直接翻譯是機(jī)器人的意思,它是Google公司推出的一款開(kāi)源免費(fèi)的智能操作系統(tǒng),不僅限于手機(jī),現(xiàn)在很多終端都在使用Android操作系統(tǒng),如手表、電視、汽車(chē)、平板電腦、微波爐等,如圖1-1和圖1-2所示。一般而言,還是以手機(jī)開(kāi)發(fā)為主,本書(shū)也是介紹如何進(jìn)行手機(jī)軟件開(kāi)發(fā)。
▲圖1-1 Android系統(tǒng)的微波爐
▲圖1-2 Android智能電視
由于Android系統(tǒng)是免費(fèi)的,所以推廣得很快。目前Android手機(jī)市場(chǎng)占有率已經(jīng)超過(guò)80%。
1.2 Android體系架構(gòu)
為了更好地理解Android系統(tǒng)是如何工作的,接下來(lái)解剖一下Android系統(tǒng),看看其內(nèi)部是如何構(gòu)建的,如圖1-3所示。
▲圖1-3 Android系統(tǒng)架構(gòu)
Android大致可以分為4層架構(gòu)、5塊區(qū)域。圖1-3從下到上依次為:
(1)Linux內(nèi)核層;
(2)系統(tǒng)運(yùn)行庫(kù)層;
(3)應(yīng)用框架層;
(4)應(yīng)用層。
1.Linux內(nèi)核層
如圖1-4所示,Android系統(tǒng)是基于Linux 2.6內(nèi)核的,這一層為Android的各種硬件提供了驅(qū)動(dòng)程序,如顯示驅(qū)動(dòng)、照相機(jī)驅(qū)動(dòng)、聲音驅(qū)動(dòng)、電池管理等。當(dāng)手機(jī)開(kāi)機(jī)的時(shí)候,這一層肯定先運(yùn)行。
▲圖1-4 Linux內(nèi)核層
2.系統(tǒng)運(yùn)行庫(kù)層
如圖1-5所示,這一層通過(guò)一些C或者C++庫(kù)為Android系統(tǒng)提供了主要的特性支持。如Webkit提供了瀏覽器支持(保證手機(jī)能夠正常使用瀏覽器),SQLite庫(kù)提供了數(shù)據(jù)庫(kù)的支持(可以用來(lái)存儲(chǔ)一些數(shù)據(jù)),OpenGLES庫(kù)提供了3D繪圖的支持等。
這一層還有Android運(yùn)行時(shí)庫(kù),它主要提供了一些核心庫(kù),能夠允許開(kāi)發(fā)者使用Java語(yǔ)言編寫(xiě)Android應(yīng)用。另外,Android運(yùn)行時(shí)庫(kù)中還包含了Dalvik虛擬機(jī)(Android 5.0系統(tǒng)以后替換成了ART虛擬機(jī)),因?yàn)镴ava語(yǔ)言的特性決定它只能通過(guò)虛擬機(jī)去運(yùn)行,這個(gè)有點(diǎn)像我們?cè)陔娔X上玩小霸王的游戲需要裝模擬器一樣。
▲圖1-5 系統(tǒng)運(yùn)行庫(kù)層
無(wú)論是Dalvik虛擬機(jī)還是ART虛擬機(jī),都是專(zhuān)門(mén)為移動(dòng)設(shè)備定制的,它針對(duì)手機(jī)內(nèi)存、CPU性能有限等情況,ART虛擬機(jī)安裝程序時(shí)間稍微長(zhǎng)一點(diǎn),但是運(yùn)行程序快一點(diǎn)。Google工程師最終決定用ART虛擬機(jī)(這點(diǎn)毋容置疑,沒(méi)人愿意天天裝程序)。
不管是Dalvik虛擬機(jī)還是ART虛擬機(jī),都要比Java語(yǔ)言官方本身的JVM虛擬機(jī)要好用。當(dāng)然最主要的原因是版權(quán)問(wèn)題,雖然Java語(yǔ)言本身是開(kāi)源免費(fèi)的,但是JVM虛擬機(jī)不是開(kāi)源免費(fèi)的,所以不能直接用JVM虛擬機(jī)。
3.應(yīng)用框架層
如圖1-6所示,這一層主要提供了構(gòu)建應(yīng)用程序時(shí)可能用到的各種API,Android自帶的一些核心應(yīng)用就是使用這些API完成的,開(kāi)發(fā)者也可以通過(guò)這些API構(gòu)建自己的應(yīng)用程序。這層的使用頻率要比上面介紹的兩層使用頻率高。
▲圖1-6 應(yīng)用框架層
#### 4.應(yīng)用層 如圖1-7所示,所有安裝到手機(jī)上的應(yīng)用都屬于這一層,例如系統(tǒng)自帶的聯(lián)系人、短信等程序,或者是自己下載的一些應(yīng)用、游戲,肯定也會(huì)包括自己寫(xiě)的程序。 
▲圖1-7 應(yīng)用層
應(yīng)用層和應(yīng)用框架層大部分都是采用Java代碼編寫(xiě)的,Linux內(nèi)核層和系統(tǒng)運(yùn)行庫(kù)層大部分采用C或者C++編寫(xiě)。
計(jì)算機(jī)語(yǔ)言核心就是0和1,理論上用一個(gè)電閘都能編程,閉合就是1,打開(kāi)就是0,一開(kāi)一閉程序就運(yùn)行了,估計(jì)干這行的肯定瞧不上做C開(kāi)發(fā)的。編程語(yǔ)言不分好壞,只是功能劃分不一樣。千萬(wàn)不要和資深程序員爭(zhēng)論哪門(mén)編程語(yǔ)言好,他們眼中只有0或者1,基本上他能說(shuō)的讓你高山仰止。
1.3 Android發(fā)展史
Android從2008年發(fā)布1.0至今已經(jīng)發(fā)布了20多個(gè)版本了,目前最新版本是Android 8,每一個(gè)系統(tǒng)版本都對(duì)應(yīng)一個(gè)開(kāi)發(fā)的API版本號(hào),如Android 5.1對(duì)應(yīng)API版本號(hào)21。每一個(gè)Android版本還都有一個(gè)代號(hào),包括甜甜圈、姜餅、三明治、果凍豆、棒棒糖等。
如圖1-8所示,表中最右面一欄就是當(dāng)前版本的市場(chǎng)份額,可以發(fā)現(xiàn)Android 4.4是當(dāng)前最流行的版本,Android 5.0以上的會(huì)越來(lái)越多,而Android 4.1以下的手機(jī)基本上沒(méi)有了,Android 7.0還不到百分之一。所以本書(shū)重點(diǎn)講解Android 5.0~7.1的知識(shí),兼容到Android 4.1。
數(shù)據(jù)來(lái)源Android官網(wǎng)
▲圖1-8 Android各個(gè)版本市場(chǎng)占有率
好了,Android基本信息就介紹到這,接下進(jìn)入真正的Android開(kāi)發(fā)之旅。
更多關(guān)于送書(shū)活動(dòng)的細(xì)節(jié),請(qǐng)關(guān)注【腳本之家】微信公眾號(hào)最新內(nèi)容,幸運(yùn)屬于你。
希望大家多多支持腳本之家。
相關(guān)文章
Android九宮格手勢(shì)密碼代碼設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了Android九宮格手勢(shì)密碼的代碼設(shè)計(jì)思路,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03Flutter倒計(jì)時(shí)/計(jì)時(shí)器的實(shí)現(xiàn)代碼
這篇文章主要介紹了Flutter倒計(jì)時(shí)/計(jì)時(shí)器的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Android 解決使用SearchView時(shí)軟鍵盤(pán)不支持actionSearch的問(wèn)題
本文主要介紹使用SearchView時(shí)軟鍵盤(pán)不支持actionSearch,這里提供了解決方案,希望能幫助開(kāi)發(fā)Android應(yīng)用的同學(xué)2016-07-07Flutter實(shí)現(xiàn)支付寶集五福手畫(huà)福字功能
支付寶一年一度的集五?;顒?dòng)又開(kāi)始了,其中包含了一個(gè)功能就是手寫(xiě)福字,還包括撤銷(xiāo)一筆,清除重寫(xiě),保存相冊(cè)等。本文將介紹如何使用Flutter實(shí)現(xiàn)這些功能,感興趣的可以了解一下2022-01-01Android自定義TextView實(shí)現(xiàn)文字傾斜效果
有時(shí)候Android自帶的控件無(wú)法滿足我們的某些要求,這時(shí)就需要我們自定義控件來(lái)實(shí)現(xiàn)這些功能。比如在實(shí)際開(kāi)發(fā)應(yīng)用中,我們有時(shí)需要將TextView的文字傾斜一定的角度,就需要自定義TextView。下面這篇文章就給大家介紹了利用Android TextView如何實(shí)現(xiàn)文字傾斜效果。2016-11-11Android ViewFlipper的簡(jiǎn)單使用
這篇文章主要為大家詳細(xì)介紹了Android ViewFlipper的簡(jiǎn)單使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Android ImageView實(shí)現(xiàn)圖片裁剪和顯示功能
這篇文章主要介紹了Android ImageView實(shí)現(xiàn)圖片裁剪和顯示功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02