九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
《打造高質量Android應用:Android開發(fā)必知的50個訣竅》
《打造高質量Android應用:Android開發(fā)必知的50個訣竅》

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

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

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

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

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

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

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


本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用Visual Studio進行 Android開發(fā)的十大理由
Android應用程序漏洞防護措施打開的正確方式!
msdn官網(wǎng)入口
win10網(wǎng)絡只能找到一部分計算機,Win10系統(tǒng)局域網(wǎng)顯示計算機設備不全的解決方法...
跨平臺工具詳解:Appcelerator (Titanium)
LiveCode:讓每個人都能開發(fā)APP的開發(fā)平臺
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服