久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

《打造高質(zhì)量Android應(yīng)用:Android開發(fā)必知的50個訣竅》

 智能制造資訊網(wǎng) 2022-05-25 發(fā)布于山東
《打造高質(zhì)量Android應(yīng)用:Android開發(fā)必知的50個訣竅》

是目前唯一一本從開發(fā)技巧角度講解Android應(yīng)用開發(fā)的著作,,旨在迅速提高開發(fā)者解決各種疑難問題的能力,,從而打造出高質(zhì)量的Android應(yīng)用。作譯者都是經(jīng)驗豐富的Android開發(fā)工程師,,作者悉心總結(jié)Android應(yīng)用開發(fā)中會遇到的50個經(jīng)典問題,,這些問題涉及布局、動畫,、視圖,、工具、列表,、適配器,、實用庫、與其他編程語言的交互,、數(shù)據(jù)庫,、構(gòu)建工具、代碼復(fù)用,、避免代碼碎片化等多個方面,。本書以“問題/解決方案”的形式給出疑難問題的解決方案,同時結(jié)合示例代碼,,深入剖析這些實用的編程技巧和模式,,旨在幫助開發(fā)人員提高編程效率,改進代碼質(zhì)量,,打造高質(zhì)量的Android應(yīng)用,。
推薦序
Android是一個迅速向各個領(lǐng)域擴張的生態(tài)系統(tǒng)。每天都會有廠商發(fā)布新的設(shè)備和外觀設(shè)計,,每天都會有客戶購買和激活上百萬臺設(shè)備,,每天都會有用戶下載和試用新的應(yīng)用程序。開發(fā)美觀,、有吸引力并且令用戶滿意的應(yīng)用程序來豐富和完善這個生態(tài)系統(tǒng)是每一位開發(fā)者(希望也包括讀者本人)應(yīng)盡的責(zé)任,,只有這樣才能為用戶提供更好的交互體驗,。
Android是一個軟件開發(fā)平臺,它誕生于2003年年底,,由Danger公司(開發(fā)流行的Sidekick手機的公司)的前雇員開發(fā),。2005年,運營Android的Danger公司被Google公司收購,。三年后,,HTC Dream(G1)作為第一款運行Android操作系統(tǒng)的手機正式發(fā)布。此后三年,,雖然硬件與平臺發(fā)生了很大的更新和迭代,,但是Android依然保持為一個單純的手機操作系統(tǒng)。
2011年,,Google公司為Android添加了新的特性,,增加了對兩種設(shè)備的支持:平板電腦和電視。這不僅標(biāo)志著官方第一次擴充Android所支持設(shè)備的種類,,還激發(fā)了廠商對其他潛在支持設(shè)備的興趣?,F(xiàn)在,,Android已經(jīng)可以運行在筆記本電腦,、手表、視頻游戲機,、車載音響等多種設(shè)備上,。我相信在不久的將來Android會支持更多的設(shè)備。
作為應(yīng)用開發(fā)者,,理解平臺的多樣化和發(fā)展方向是非常重要的,。在Android上做開發(fā)已經(jīng)不像為豎屏手機設(shè)計軟件那么簡單了。盡管這意味著開發(fā)者開發(fā)應(yīng)用程序的工作量增加了,,但是,,最終結(jié)果卻是無論應(yīng)用程序運行在哪種設(shè)備上,都會為使用者提供良好的用戶體驗,。
在開發(fā)應(yīng)用程序的過程中,,除了個人創(chuàng)造力和開發(fā)意愿以外,開發(fā)者還需要具備三樣?xùn)|西:平臺開發(fā)文檔,、開源社區(qū)以及整合資源并融會貫通的能力,。平臺開發(fā)文檔比較容易獲取,最新版本托管在http://developer.網(wǎng)站上,。開源社區(qū)有GitHub,、Google Code、Stack Overflow以及其他類似網(wǎng)站,,這些網(wǎng)站提供了開源庫,、代碼片段以及能夠簡化程序開發(fā)的設(shè)計模式,。此外,開發(fā)者還需要具備把上述零散的知識整合到應(yīng)用中的能力,。這個整合的過程可不像搭積木一樣簡單,,如果那樣,任何人都可以開發(fā)應(yīng)用了,。本書便是一本分析如何整合資源的指南,。
本書以示例程序的形式分析如何解決Android開發(fā)過程中出現(xiàn)的常見問題。書中有些示例程序相對簡單,,有些示例程序相當(dāng)復(fù)雜,。這些示例程序分享了一些只有零散或者零星文檔可查但是卻經(jīng)常困擾開發(fā)者的問題。本書不僅僅是一本單純學(xué)習(xí)和掌握Android開發(fā)技巧的書,,更是一本填補空白的書,。
精心設(shè)計一個能夠動態(tài)支持所有Android設(shè)備的應(yīng)用是一項艱巨的任務(wù)。通過學(xué)習(xí)本書以及類似出版物和在線資源提供的知識,,我希望能提升讀者開發(fā)和發(fā)布應(yīng)用的能力,。除此之外,我跟讀者一樣,,也是一名開發(fā)者和熱心用戶,,我也在耐心等待下一個精彩應(yīng)用的出現(xiàn),或許讀者就是那個開發(fā)它的人,。
早在2009年我便開始研究Android,。當(dāng)時,Android 1.5剛剛發(fā)布并且顯示出巨大的發(fā)展?jié)摿Α?/section>
在2009年7月,,得益于澳大利亞的一位朋友,,我拿到了第一臺運行Android操作系統(tǒng)的設(shè)備,這臺設(shè)備就是運行Android 1.5的HTC Magic手機,。說實話,,這臺設(shè)備的運行速度比我想象的要慢,但是我依然通過它開始研究Android的API,,并且根據(jù)自己的需求開發(fā)應(yīng)用程序,,然后在這臺設(shè)備上運行這些應(yīng)用。當(dāng)時,,我預(yù)感到Android會獲得更多人的關(guān)注,,我相信如果我能為Android開發(fā)一款應(yīng)用程序,這款應(yīng)用程序一定能被許多人使用,。
事實證明,,我的預(yù)感是正確的。不久后,,Android開發(fā)的大幕便拉開了,,而且發(fā)展得越來越快,。一時間,許多支持Android平臺的工具和第三方開發(fā)庫便涌現(xiàn)出來,,從cocos2d-x這樣的游戲框架到Apache Maven這樣的編譯系統(tǒng),,幾乎無所不包。
2010年11月,,我受邀審閱Manning出版社出版的《Android in Practice》(www./collins/)一書,。當(dāng)深度參與到這項工作之后,我突然想到,,我可以用另一種方法寫一本Android開發(fā)的書,。我打算模仿Joshua Bloch所著的《Effective Java》
(www.amazon.com/Effective-Java2nd-Joshua-Bloch/dp/0321356683)一書的風(fēng)格,向讀者展示這些年來我在Android開發(fā)過程中總結(jié)的小竅門和開發(fā)模式,。
從根本上講,,我想在一本書里涵蓋開發(fā)過程中總結(jié)的我知道的所有小竅門,并為這些小竅門提供一定的解釋性文檔,。本書匯聚了開發(fā)與眾不同的Android應(yīng)用程序所需要的技巧和竅門,。
我喜歡《Effective Java》一書的原因是,這本書沒有特定的章節(jié)順序,,因此可以自由學(xué)習(xí)不同章節(jié)的內(nèi)容,。每隔一段時間,當(dāng)回顧此書時,,我總能為當(dāng)前項目找到一些不同的應(yīng)用程序,。在寫這本書的時候,,我一直牢記一個信條:我想象讀者在上班路上或者睡覺前會有興趣學(xué)習(xí)本書里的某個Hack,,并且從這個Hack中獲得對當(dāng)前項目有益的啟發(fā)。
我已經(jīng)在新項目中應(yīng)用了這本書的內(nèi)容,,我會在特定的工作任務(wù)中復(fù)用書中的示例代碼,,使用示例代碼向同事解釋特定的開發(fā)模式。實踐證明,,本書對我是十分有用的,,當(dāng)然,我也希望這本書對你同樣有用,。
撰寫本書以及書中的示例代碼時,,我把最小SDK版本設(shè)置為1.6。如非特別提及,,本書中多數(shù)技巧都適用于Android 1.6及其以上版本,。你會注意到,有一些技巧只適用于最新版本的Android,,但是多數(shù)建議和技巧都適用于所有版本,。每個Hack都提供一個圖標(biāo),,用來表示這個Hack適用的最低SDK版本。
那么接下來,,你就從本書的目錄中挑選自己感興趣的技巧開始學(xué)習(xí)吧,。希望你能從我寫的內(nèi)容中學(xué)到盡可能多的知識。
致謝
每當(dāng)讀到其他書的致謝時,,我總會驚訝作者感謝的人竟然如此之多?,F(xiàn)在終于明白為什么需要感謝這么多人,當(dāng)寫到這里的時候,,我很緊張,,生怕遺漏了某個人。
首先,,我要感謝的是編輯Cynthia Kane,,她幫助我加工整理整本書的內(nèi)容。她不僅指出本書中需要修改的每個地方,,還處理我英語語言上需要潤色的地方,,并且?guī)椭依斫鈭D書出版過程中的每個關(guān)鍵環(huán)節(jié)。修訂每一行文字,,修改她發(fā)現(xiàn)的每一個不足之處,,通過這個反復(fù)迭代的修正過程,終于完成了這本值得我驕傲的書,。
其次應(yīng)該感謝Nicholas Chase,,Nick負責(zé)支持Manning出版社的XML文檔結(jié)構(gòu)和創(chuàng)作工具。幸運的是,,每當(dāng)我有問題需要請教他時,,他的Skype總是在線。
Manning出版團隊的其他成員也參與了大量工作,。參與這項工作的有Ozren Harlovic,、Kevin Sullivan、Tara McGoldrick Walsh,、Benjamin Berg,、Katie Tennant、Candace Gillhoolley,、Martin Murtonen,、Michael Stephens以及Maureen Spencer。
感謝我的合著者:William Sanville(Hack 40和Hack 41),、Chris King(Hack 26)以及Christopher Orr(Hack 50),。他們分享了在這些領(lǐng)域的專業(yè)知識。
感謝Cyril Mottier,,他深入閱讀了本書,,并且毫不保留地指出書中他不喜歡或者認為需要改進的地方,。他始終對本書保持高要求,我很喜歡跟他合作,。非常感謝,!
感謝我在NASA Trained Monkeys公司的合作伙伴們。他們幫助我審閱了書中大部分內(nèi)容,,并提出很多建設(shè)性意見,。大部分很酷的Hack標(biāo)題都來源于他們豐富的想象力。
感謝Android社區(qū),,特別感謝那些對開源軟件庫有貢獻的人們,。(這里只提及幾個人的名字,他們是:Michael Burton,、 Manfred Moser,、Matthias K.ppler、Jake Wharton,、Jeremy Feinstein,、cocos2d-x團隊、Jan Berkel,、Jeff Gilgelt,、Xavi Rigau、Chris Banes,、James Brechtel和Dmitry Skiba),。
感謝審閱本書的每一個人。你們的審閱意見幫助我及時發(fā)現(xiàn)疏漏的地方以及需要強化的主題,。從我敬佩的人那里獲得正面的評價是很有意義的事情,。感謝以下審閱者,你們在百忙之中審閱本書,,我也希望這本書對你們有一些啟發(fā),,這些人是:Adam Koch、Alberto Pose,、Bill Cruise、Christian Badenas,、Frank Ableson,、Ignacio Luciani、Jeff Goldschrafe,、Joshua Skinner,、Matthias
K.ppler、Maximiliano Gomez Vidal,、“Ming”,、Octavian Damiean,、Paul Butcher、Robi Sen,、Roger Binns,、Shan Coster、Suzanne Alexandra和Will Turnage,。
感謝我的家人和朋友——你們給予我巨大的支持,。
最后要感謝Mili,你的工作同樣重要,,每當(dāng)我需要幫助的時候,,你總是在我身邊。我愛你,。
關(guān)于本書
Android是一個發(fā)展勢頭很好的項目,。Android的第一個正式版本(Android 1.0)發(fā)布于2008年9月23日,截至2010年年底,,Android已經(jīng)發(fā)展成為首要的智能手機平臺,。
每當(dāng)有新版本發(fā)布,Android都會引入一組新的API和新特性,。盡管在Android 1.5[1]的時期,,市場上只有HTC Dream手機運行Android系統(tǒng),但是發(fā)展至今,,Android系統(tǒng)不僅可以運行在從手機到電視等多種設(shè)備上,,還可以運行在不同屏幕大小的平板電腦和筆記本電腦上。
上述情況給Android開發(fā)者帶來了兩個不小的難題,。第一個難題是開發(fā)者必須面對和適配Android支持的不同類型的設(shè)備,。雖然有很多方法處理不同的屏幕尺寸和像素密度,但是開發(fā)者必須開發(fā)出能夠運行在各種設(shè)備上并且顯示正常的應(yīng)用,。另外,,需要對各種Android設(shè)備可能導(dǎo)致的用戶體驗不一致的情況做出處理。用戶對手機和電視的使用習(xí)慣是不同的,。
第二個難題是Android的版本更新問題,。這個難題是周而復(fù)始的:使用新版本的Android系統(tǒng),意味著開發(fā)者可以使用新的API,,新的API可以為應(yīng)用程序增加優(yōu)秀的功能,;但是開發(fā)者必須同時支持舊的Android版本,因為并不是每個用戶都會升級系統(tǒng),,而且目標(biāo)用戶獲取和認可應(yīng)用程序也需要一定時間,。
開發(fā)者需要在兩者之間做出選擇:要么使用新的API功能并發(fā)布一個特定版本的應(yīng)用,滿足那些使用新版本Android系統(tǒng)的用戶;要么采取折中的方法,,保證一些新的功能只適用于新版本的Android系統(tǒng),。
上述選擇最終都由Android開發(fā)者決定,因此我寫這本書的目的是幫助開發(fā)者解決這個難題,。本書以“問題/解決方案”的形式提出開發(fā)過程中遇到的問題并給出其解決方法,,并對一些已有問題提供了進一步的處理方案。
什么是Android
Android是一個基于Linux內(nèi)核的開源操作系統(tǒng),。起初,,Android只支持手機設(shè)備,但是發(fā)展到現(xiàn)在,,Android可以運行于平板電腦,、電視、電腦甚至汽車音響等多種設(shè)備,。Android在移動領(lǐng)域贏得了巨大的發(fā)展空間,,到目前為止,50%以上的移動設(shè)備運行了Android操作系統(tǒng),。
運行在Android操作系統(tǒng)上的應(yīng)用通常使用Java語言開發(fā),,Android提供了一個強大的SDK(軟件開發(fā)工具包)供開發(fā)者開發(fā)不同類型的應(yīng)用程序。Android允許開發(fā)者定制幾乎所有模塊,,例如,,開發(fā)者可以開發(fā)定制的墻紙、鍵盤,、桌面以及在其他平臺上想都不敢想的功能,。
本書讀者對象
本書適用于已經(jīng)學(xué)習(xí)過Android開發(fā)的程序員,并且假定讀者已經(jīng)熟悉Java編程語言,,并理解Android平臺的基本概念,。
本書不僅提供適用于Android初學(xué)者的技巧,還提供適用于高級開發(fā)者的技巧,。如果讀者正在開發(fā)Android應(yīng)用程序,,我相信通過本書,你可以學(xué)到很多有幫助的知識,。
通過以下幾個問題,,讀者可以知道本書是否適合自己:
你是一個Android應(yīng)用程序開發(fā)者嗎?
你正在絞盡腦汁思考更好的解決方案嗎,?
你正在尋找新的方法解決編程中出現(xiàn)的問題嗎,?
你想知道其他人是如何解決類似問題的嗎?
如何使用本書
我的建議是:在讀者學(xué)習(xí)每一條Hack前,,先編譯并運行示例代碼,這樣有助于讀者更好地理解每個案例,。此外,,讀者不需要按照特定順序?qū)W習(xí)本書,,讀者可以隨時跳轉(zhuǎn)到自己感興趣的章節(jié)開始學(xué)習(xí)。
本書結(jié)構(gòu)
雖然讀者可以靈活選擇自己感興趣的部分學(xué)習(xí),,不會因為前后章節(jié)順序的原因出現(xiàn)閱讀困難,,但是讀者仍然可以按順序閱讀本書。各章節(jié)的概要內(nèi)容如下:
第1章包含4個Hack,,講解布局相關(guān)的小竅門,。
第2章包含4個Hack,介紹動畫處理相關(guān)的小竅門,。
第3章包含9個Hack,,涵蓋與View相關(guān)的小竅門。
第4章包含兩個Hack,,概括除IDE以外的可用工具,。
第5章包含4個Hack,提供適用于Android開發(fā)的模式示例,。
第6章包含7個Hack,,提供一組適用于ListView和Adapter類的小竅門。
第7章包含兩個Hack,,解釋如何在應(yīng)用中使用第三方庫,。
第8章包含兩個Hack,通過一些例子,,解釋如何用Java以外的編程語言為Android編寫程序,。其中一個Hack分析如何與Objective-C語言交互,另一個Hack分析如何與Scala語言交互,。
第9章包含6個Hack,,提供一些可以復(fù)用的代碼片段。
第10章包含3個Hack,,展示一些使用數(shù)據(jù)庫的高級技巧,。
第11章包含4個Hack,展示如何令應(yīng)用程序運行在不同的Android版本上,。
第12章通過最后3個技巧提供如何構(gòu)建應(yīng)用的小竅門,。
代碼規(guī)范和下載
本書所有示例代碼都以monospace字體顯示。注釋直接寫在代碼中,,對于較長的注釋,,使用數(shù)字編號標(biāo)識。

本書所有示例代碼都可以從出版社網(wǎng)站下載,,出版社網(wǎng)址是www./50AndroidHacks[2],。讀者也可以從Google公司的code項目中下載源代碼,下載最新示例代碼的方法列在附錄中。此外,,示例代碼托管在GitHub中,,讀者還可以

從https://github.com/Macarse/50AH-code下載。

如果要運行本書的示例代碼,,讀者需要安裝以下工具:
Eclipse
Android SDK
Eclipse Android插件
如果讀者不知道如何安裝,,我建議首先訪問http://developer./sdk/installing/index.html,這里提供了配置開發(fā)環(huán)境的簡單步驟,。
作者在線支持
Manning出版社運營的網(wǎng)上論壇為本書提供免費的在線支持,。讀者可以通過該論壇發(fā)表關(guān)于本書的意見和建議,也可以提問技術(shù)問題,,還可以從作者和其他讀者處得到幫助和支持,。訪問和訂閱該論壇的方法很簡單,讀者只需要在瀏覽器中輸入以下網(wǎng)址:www./50AnroidHacks,。這個網(wǎng)頁提供了論壇注冊后的注意事項,、讀者服務(wù)以及論壇規(guī)則等信息。
Manning出版社對讀者的承諾是:提供一個在讀者和讀者之間,,以及讀者和作者之間可以產(chǎn)生良好互動的交流場所,。出版社并不能保證作者有充足的時間與讀者互動,因為作者完全是自愿且免費為論壇服務(wù)的,。我們建議讀者多向作者提問一些有挑戰(zhàn)的問題,,以激發(fā)作者答疑的興趣。
本書出版后,,讀者可以從出版社的網(wǎng)站訪問作者在線支持論壇查看已有的討論帖,。
關(guān)于作者
Carlos Sessa不僅是一位充滿激情的全職Android開發(fā)者,同時,,他也是一家移動開發(fā)公司的創(chuàng)始人,,公司名稱為NASA Trained Monkeys,位于阿根廷的布宜諾斯艾利斯,。他的公司專注于為Android和iOS等移動開發(fā)平臺提供解決方案,。

[1] 代號Cupcake,紙杯蛋糕,?!g者注

[2] 截止本書翻譯時,該網(wǎng)址已經(jīng)更改為http://www./sessa/,?!g者注

關(guān)于原書封面插圖
本書英文版封面插圖中的人物是一個樵夫。這幅插圖取自Sylvain Maréchal所著的四卷《區(qū)域服飾習(xí)俗概要》,,該書于19世紀(jì)在法國出版,。書中每幅插圖都經(jīng)過精心繪制和手工著色,。通過大量豐富多彩的圖片,Maréchal向我們生動地展示了如何從文化上區(qū)分200年前世界上不同的城鎮(zhèn)和地區(qū),。由于彼此隔絕,,不同地區(qū)的人們說著不同的方言和語言,。無論是在街道還是在鄉(xiāng)間,,我們可以僅僅根據(jù)服飾區(qū)分出人們生活的區(qū)域、職業(yè)以及狀況,。
此后,,著裝要求和區(qū)域服飾的多樣化發(fā)生了變化,當(dāng)時豐富多彩的服飾也逐漸消失?,F(xiàn)在已經(jīng)很難區(qū)分不同大陸的居民,,就更不用說區(qū)分不同的城鎮(zhèn)和地區(qū)的居民了?;蛟S,,我們以文化的多樣性為代價換來了豐富多彩的個人生活,當(dāng)然,,換來的是更多樣,、更快節(jié)奏的科技生活。
當(dāng)計算機書籍千篇一律,,讀者很難一次就區(qū)分出不同的計算機書籍的時候,,Manning出版社贊賞計算機業(yè)務(wù)部門通過圖書封面呈現(xiàn)多樣性的創(chuàng)造思維和主動性,本書便以Maréchal描繪的兩個世紀(jì)前不同區(qū)域的豐富多彩和活靈活現(xiàn)的生活寫照來體現(xiàn)這種多樣性,。
德國靠裝備,日本靠人,,美國靠數(shù)據(jù),,中國制造業(yè)靠什么?
編寫高質(zhì)量代碼改善C#程序的157個建議


    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多