編輯:關於Android編程
就是這麼任性,又一波送書活動,感謝大家長久以來對本站的喜愛!這次小編自作主張,免費贈書,快來參加。
《愛上Android》
內容提要
本書深入淺出,詳細講解了Android 開發的知識,主要內容包括:Android 的體系架構、AndroidStudio、項目的創建、Android 工程目錄、調試程序、界面的搭建;常用的控件和屬性、提示信息Toast和Snackbar、點擊事件3 種寫法等;Activity 之間的跳轉、Activity 生命周期、Activity 啟動模式等;數據存儲、網絡編程;圖片的處理;復雜控件的使用;Fragment、廣播接收者、Service、動畫等;以及Android 新特性、Kotlin 語言、性能優化、屏幕適配、自定義控件、JNI/NDK 開發等高級知識。並通過開發一個真實的項目讓讀者學以致用。
編輯推薦
12萬讀者的真實閱讀體驗,CSDN博客專家的力作,基於新版的Android
循序漸進地講述開發過程中必備的知識,宗旨是不重復開發一個“輪子”,在給大家講明原理的同時,介紹一些好的開發框架,這些框架能夠讓讀者很快上手開發完成一個應用。
本書前面部分知識點配有相應視頻,幫助讀者零基礎學通Android開發
作者微信答疑,解決讀者學習中的困難
樣章試讀:
第1章 初識Android
毫無疑問,你肯定急於開始學習Android應用程序開發。畢竟,編程對程序員來說吸引力也是很大的。然而,在開始實際編程前,需要先了解Android的系統。
1.1 Android是什麼
Android,中文名為安卓,直接翻譯是機器人的意思,它是Google公司推出的一款開源免費的智能操作系統,不僅限於手機,現在很多終端都在使用Android操作系統,如手表、電視、汽車、平板電腦、微波爐等,如圖1-1和圖1-2所示。一般而言,還是以手機開發為主,本書也是介紹如何進行手機軟件開發。
▲圖1-1 Android系統的微波爐
▲圖1-2 Android智能電視
由於Android系統是免費的,所以推廣得很快。目前Android手機市場占有率已經超過80%。
1.2 Android體系架構
為了更好地理解Android系統是如何工作的,接下來解剖一下Android系統,看看其內部是如何構建的,如圖1-3所示。
▲圖1-3 Android系統架構
Android大致可以分為4層架構、5塊區域。圖1-3從下到上依次為:
(1)Linux內核層;
(2)系統運行庫層;
(3)應用框架層;
(4)應用層。
1.Linux內核層
如圖1-4所示,Android系統是基於Linux 2.6內核的,這一層為Android的各種硬件提供了驅動程序,如顯示驅動、照相機驅動、聲音驅動、電池管理等。當手機開機的時候,這一層肯定先運行。
▲圖1-4 Linux內核層
2.系統運行庫層
如圖1-5所示,這一層通過一些C或者C++庫為Android系統提供了主要的特性支持。如Webkit提供了浏覽器支持(保證手機能夠正常使用浏覽器),SQLite庫提供了數據庫的支持(可以用來存儲一些數據),OpenGLES庫提供了3D繪圖的支持等。
這一層還有Android運行時庫,它主要提供了一些核心庫,能夠允許開發者使用Java語言編寫Android應用。另外,Android運行時庫中還包含了Dalvik虛擬機(Android 5.0系統以後替換成了ART虛擬機),因為Java語言的特性決定它只能通過虛擬機去運行,這個有點像我們在電腦上玩小霸王的游戲需要裝模擬器一樣。
▲圖1-5 系統運行庫層
無論是Dalvik虛擬機還是ART虛擬機,都是專門為移動設備定制的,它針對手機內存、CPU性能有限等情況,ART虛擬機安裝程序時間稍微長一點,但是運行程序快一點。Google工程師最終決定用ART虛擬機(這點毋容置疑,沒人願意天天裝程序)。
不管是Dalvik虛擬機還是ART虛擬機,都要比Java語言官方本身的JVM虛擬機要好用。當然最主要的原因是版權問題,雖然Java語言本身是開源免費的,但是JVM虛擬機不是開源免費的,所以不能直接用JVM虛擬機。
3.應用框架層
如圖1-6所示,這一層主要提供了構建應用程序時可能用到的各種API,Android自帶的一些核心應用就是使用這些API完成的,開發者也可以通過這些API構建自己的應用程序。這層的使用頻率要比上面介紹的兩層使用頻率高。
▲圖1-6 應用框架層
#### 4.應用層 如圖1-7所示,所有安裝到手機上的應用都屬於這一層,例如系統自帶的聯系人、短信等程序,或者是自己下載的一些應用、游戲,肯定也會包括自己寫的程序。 ![](/api/storage/getbykey/original?key=17074a593354f8a3164f)
▲圖1-7 應用層
應用層和應用框架層大部分都是采用Java代碼編寫的,Linux內核層和系統運行庫層大部分采用C或者C++編寫。
計算機語言核心就是0和1,理論上用一個電閘都能編程,閉合就是1,打開就是0,一開一閉程序就運行了,估計干這行的肯定瞧不上做C開發的。編程語言不分好壞,只是功能劃分不一樣。千萬不要和資深程序員爭論哪門編程語言好,他們眼中只有0或者1,基本上他能說的讓你高山仰止。
1.3 Android發展史
Android從2008年發布1.0至今已經發布了20多個版本了,目前最新版本是Android 8,每一個系統版本都對應一個開發的API版本號,如Android 5.1對應API版本號21。每一個Android版本還都有一個代號,包括甜甜圈、姜餅、三明治、果凍豆、棒棒糖等。
如圖1-8所示,表中最右面一欄就是當前版本的市場份額,可以發現Android 4.4是當前最流行的版本,Android 5.0以上的會越來越多,而Android 4.1以下的手機基本上沒有了,Android 7.0還不到百分之一。所以本書重點講解Android 5.0~7.1的知識,兼容到Android 4.1。
數據來源Android官網
▲圖1-8 Android各個版本市場占有率
好了,Android基本信息就介紹到這,接下進入真正的Android開發之旅。
更多關於送書活動的細節,請關注【本站】微信公眾號最新內容,幸運屬於你。
希望大家多多支持本站。
最近更新了一下Android Studio,在導入新項目之後出現Error:Unable to tunnel through proxy. Proxy returns &
一 OSGI與android Service 異同點 OSGI服務與android Service概念差不多也是Service ,Client 關系。 an
Activities提供了一種方便管理的創建、保存、回復的對話框機制,例如 onCreateDialog(int), onPrepareDialog(int, Dialo
本文實例講述了Android實現將一個Activity設置成窗口樣式的方法。分享給大家供大家參考,具體如下:1.在res/value文件夾下的style.xml文件中加入