《Android Studio開發實戰 從零基礎到App上線》資源下載和內容勘誤

http://blog.csdn.net/aqi00/article/details/72907534html

http://blog.csdn.net/aqi00/article/details/73065392java

 

目錄(?)[+]微信

 

資源下載

下面是《Android Studio開發實戰 從零基礎到App上線》一書用到的工具和代碼資源:
一、本書使用的Android Studio版本爲2.2.3,由於Android官網如今不提供該版本的下載,因此博主把該版本的64位安裝包上傳到了百度網盤,點擊 https://pan.baidu.com/s/1o80opRG進入下載頁面。
如需32位的Android Studio安裝包,可前往 Android官網頁面下載。
二、本書使用的Android NDK版本爲r13b,64位NDK安裝包的下載頁面爲 https://pan.baidu.com/s/1qXZLMsG
如需32位的NDK安裝包,可前往 Android官網頁面下載。
三、本書提供全部示例源碼的demo工程下載,源碼的下載頁面爲 https://pan.baidu.com/s/1c1LXlKG,源碼與各章的對應關係表見下圖:

四、本書第8章使用了一些反編譯和重簽名工具,這些工具的下載頁面是 https://pan.baidu.com/s/1kVRyLwj


內容說明

1、關於Android Studio的版本
本書採用的Android Studio版本爲當時最新的2.2.3,而後2017年3月份谷歌又推出了2.3版本,與2.2.3版本相比,2.3版在安裝和使用上主要有兩個差異:
一、Android Studio 2.3適配的Gradle版本爲3.3,但是安裝包自帶的Gradle版本倒是3.2,形成項目編譯失敗。爲此,若是Android Studio升級到2.3版本,也須要同時把Gradle升級到3.3並作一系列的配置調整才行,具體操做步驟詳見博文《 Android Studio升級到2.3的編譯問題解決辦法》。
二、把編譯好的工程導出apk安裝包,彈出窗口的最後一頁多了兩個複選框「V1 (Jar Signature)」和「V2 (Full APK Signature)」,這裏務必要勾選第一個「V1 (Jar Signature)」,具體緣由參見博文《 Android Studio 2.3的各類新增疑難雜症》。

2、關於JNI工程的編譯問題
Android Studio 2.2以後加強了對NDK的編譯支持,具體地說,是容許在編譯配置build.gradle的android節點下增長externalNativeBuild節點,而後指定jni目錄的mk編譯文件;而以前版本只能在defaultConfig節點下補充ndk的編譯說明。
在測試中發現,Android Studio 2.2採用defaultConfig方式編譯jni工程,生成的App在Android 6.0上運行會閃退,日誌報錯「java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memcpy" referenced by "***.so"」。此時無論怎麼修改build.gradle裏面的ndk配置,可能都沒法解決問題。
若是遇到這種狀況,只能採用externalNativeBuild方式編譯jni工程,即在jni目錄下提供專門的Android.mk編譯文件,由該mk文件配置jni文件的編譯規則。

3、關於源碼的文件格式問題
注意Android Studio對文件格式的校驗要比Eclipse嚴格,若是把原來Eclipse工程的代碼複製或者導入到Android Studio工程中,則頗有可能發生編譯失敗的問題。緣由是有部分文件的格式是「UTF帶BOM」,因爲Eclipse會自動處理所以在Eclipse上編譯不會報錯;可是Android Studio沒法正確處理帶BOM的文件,因此編譯就報錯了。此時須要使用UEStudio等文本編輯軟件,把這些文件另存爲「UTF無BOM」的格式才能夠。
帶BOM形成的編譯問題主要影響下面兩類文件:
一、.java文件,編譯報錯「Error:(1, 1) 錯誤: 非法字符: '\ufeff'」;
二、.mk文件,沒法正常編譯jni代碼;

4、關於部分控件的兼容性問題與新控件的介紹
Android的碎片化問題由來已久,每一個版本對同一控件的處理不盡相同,常常致使某個控件在A版本上運行正常,在B版本上卻運行異常。因此Android開發對控件進行兼容適配也是不小的工做量,限於篇幅,書中對部分控件的兼容性問題未作深刻闡述。另外,Android自5.0以後引入了大量新控件,雖然書中已經對其中經常使用的新控件進行描述(包括Toolbar、TabLayout、RecyclerView、SwipeRefreshLayout、camera二、DrawerLayout、CardView、Palette等等),可是仍有許多新控件未能在有限的篇幅中加以介紹。此外,Android6.0以後引入了新的權限管理和休眠模式,也對部分功能的開發形成必定影響。
爲了彌補缺憾,如今下面列出部分控件的兼容性問題說明,以及全部新控件的介紹:
一、對於RecyclerView的兼容性問題說明,可參見博文《 RecyclerView的各類版本兼容問題處理集錦》。
二、對於選項菜單、上下文菜單、溢出菜單的兼容性問題說明,可參見博文《 三種菜單控件的兼容性問題處理集錦》。
三、對於Android5.0以後新增的控件介紹,可參見博文《 Android5.0和6.0以後新增的控件說明》中的索引。
四、對於Android6.0的權限管理和休眠模式形成的影響,可參見博文《 Android6.0以後的權限機制對App開發的影響》。


勘誤記錄

下面對書中的筆誤之處進行更正說明:

一、第2頁「1.1  Android Studio簡介」一節的第三段話中,
「Android Studio當前的最新版本是2016年12月6日發佈的2.2.3」,這句話的本意是「本書使用的Android Studio爲2016年12月6日發佈的2.2.3版本」。

二、第4頁最後一行(「1.2.2  安裝依賴的軟件」一節),
「騰訊Bugly,地址:android-mirror.bugly.qq.com,端口:8080」,這行文字描述的地址已經失效,要換成另一個地址,即改成「mirrors.dormforce.net,端口:80」

三、第47頁「2.4.2 狀態列表圖形」一節的第三段,
「值爲true表示按下時顯示button_selected圖像」,此處的「button_selected」要改成「button_pressed」。

四、第48頁「2.4.3 形狀圖形」一節的「3.gradien」段落,
「gradien是shape的下級節點」,這裏的「gradien」末尾少了一個t,該段落裏的幾個「gradien」都要改成「gradient」。

五、第67頁「3.2.3 單選按鈕RadioButton」一節經常使用方法的第一個,
「setCheckedId:選中指定資源編號的單選按鈕。」,這裏的「setCheckedId」要改成「check」。

六、第437頁「11.4.1  上下滾動與左右滑動的衝突處理」一節「2. 下級視圖告訴滾動視圖可否攔截手勢」段落的第二段話中,
「Banner採用手勢監聽器就是重寫監聽器的onScroll方法」,爲準確表達,要改成「對於Banner採用手勢監聽器的狀況,可重寫監聽器的onScroll方法」。

七、第457頁「12.1.3  淡入淡出動畫」一節,
表12-1中第五行的「gradien」要改成「gradient」。

八、第463頁「12.2.2  補間動畫的原理」一節的倒數第二段,
「第一個參數爲插值時間逝去的時間的百分比」,這句話中間要加上「,即」,也就是改成「第一個參數爲插值時間,即逝去的時間所佔的百分比」。

九、第508頁「13.2.3  影視播放器——愛看劇場」一節「2. 定製MediaController的樣式」段落的第一段話中,
「由於媒體控制條的內部控件都是私有的,即便繼承了也沒法修改,所以只能本身寫一個全新的視頻控制條VideoController」,這裏使用了「因爲……,所以……」的句式,因此前面的「由於」要改成「因爲」。

十、第514頁「13.2.3  影視播放器——愛看劇場」一節的中間一段話中,
「音量對話框的實現過程參見第9章」,這裏的「第9章」要改成「第11章」。由於自定義的音量對話框來源於「11.1.3 音量調節對話框」,該節是在第11章,不是第9章。

十一、第541頁的「14.1.2  網頁視圖WebView」一節的最後一段話中,
「可是套用固定的代碼模板使用也不錯」,這裏的「不錯」應改成「不難」。

十二、第591頁「15.1.2  百度地圖」的開頭一段話中,
「進行測量時。還要在地圖上添加標記」,這裏的句號要改成逗號,即改成「進行測量時,還要在地圖上添加標記」。

1三、第598頁「15.2.2  微信分享」的第一段話中,
「儘管微信與QQ雖然都是騰訊公司開發」,這裏的「儘管」和「雖然」表達重複了,要改成「儘管微信與QQ都是騰訊公司開發」。

1四、第639頁「16.5.1  設計思路」一節的第一段話中,
「若是在SK卡找到圖片」,這裏的「SK卡」要改成「SD卡」。

 
1
相關文章
相關標籤/搜索