導航:首頁 > 操作系統 > android開發秘籍第2版

android開發秘籍第2版

發布時間:2022-06-29 11:48:44

⑴ 求 Google android開發入門指南.pdf 第2版中文版 蓋索林寫的 真的很急

還好吧v幹活

⑵ 請問安浪Android開發秘籍里代碼用的什麼字體

windows 系統和CAD的字體是怎麼編寫成的?(注意:不是下載別人做好的字體包放到FONS文件夾)我想設置自己簽名的字體,怎樣編寫?求高手詳細講解

這是別人是字體,我想知道怎樣編寫成的

2013-11-25 21:42提問者採納
首先自己把所有的字寫一遍 總之好麻煩 我這是復制別人的希望可以幫到你
打造你自己的字體 Ⅰ
你是個才華橫溢的設計師,一個技藝精湛的書法大師,並已學習了所有關於Serif(襯線)、side-bearings(側架/預留空間),kerning(字距調整)的知識。現在你打算製作一款屬於你自己的字體了(什麼!你還不知道什麼是襯線、側架和字距調整?好吧,在你著手製作字體之前,務必先把 iLT 上面所有的文章都讀過一遍!如果你真的希望成功,你應該竭盡所能掌握盡可能多的相關知識。如果你不是什麼天才的設計師或書法大師,那也不必擔心,你一樣能創造出漂亮的字體——條件是小小的努力,大量的知識,還加上一點點靈感。)
秘密武器:字體編輯軟體

前面所說的出色的設計、漂亮的書法作品以及深厚的字體知識等等,這些東西仍然無法讓你做出字體,你還需要把你的作品轉換為一種計算機能夠理解的格式,所以你的手頭還需要配備一款優秀的字體編輯軟體。這些軟體的功能和價格各異,運行的平台也不同。下面是一些大牌角色:
字體編輯軟體
FontLab Studio 這是我用來製作字體的軟體。在某種程度上已經成為了行業標准,所以也價格不菲,要賣649美刀。提供30天的免費試用版本,你可以在購買前先試用一下。PC和Mac平台的版本都有。FontLab Studio是我頻繁使用的軟體,我可以向你擔保它的優秀,同時其用戶社區也頗有人氣。
FontForge 基本上,FontLab能做的,FontForge都可以完成,並且它還是免費和開源的。也因為開源,在Windows下安裝FontForge並不是一件簡單的事(你必須先安裝Cygwin)。同時,它的文檔也不象FontLab那樣完備。最近在Typophile 論壇有一個關於FontForge的有趣話題,你可以去看看,以決定是否投身於開源的懷抱。FontForge可用於PC、Mac和linux。如果你是個Linux用戶,FontForge可能是你唯一的選擇。
那些在鈔票中打滾的人可以考慮一下DTL FontMaster,具備FontLab的全部功能,甚至還要多,但相當的昂貴。FontMaster由幾套不同的模塊組成,我覺得很酷,但是也挺嚇人的。適用PC和Mac平台。
FontCreator 是另外一個選擇,價格比FontLab更平易近人。但只能處理TrueType 和 OpenType格式的字體——不能處理Type 1字體,並且只有Windows版本。
TypeTool 同樣來自FontLab的一款入門級產品,和FontCreator是同一個等級。按官方的說法:TypeTool是為那些「偶爾需要創造或修改字體的學生、字體設計愛好者和專業創意人士」 所設計的。PC和Mac。
Fontographer 字體編輯軟體曾經的真正王者,因廠商停止開發,被封印多年之後幾乎絕跡,直到被FontLab收購了源代碼之後,才於近期發布了Mac上的升級版本。由於它最後的更新版本上顯示的日期已經是上世紀90年代末了,所以我真心的希望Fontlab能對這個新版本做一個令人耳目一新的重寫。它的價格只有FontLab Studio的一半,不過沒有試用。PC和Mac平台都可以運行,但最新的版本目前只有Mac用戶可以享用。
所有這些軟體的運作流程都一樣,只是在具體細節、界面以及選項和能力上有所區別。所以你在購買之前要做一些研究——下載並試用一些演示版本,聽聽用戶的評價和爭論,然後決定哪個字體編輯軟體最適合你。聽說有些人的做法是,從TypeTool起步,先判斷自己是否真的喜歡字體設計,然後當TypeTool的限制真的成為一個障礙的時候,他們才最後升級到FontLab Studio。
當你有了一款優秀的字體編輯軟體之後,你可以有三種不同的基本流程來創建一種字體。
方法1:在紙上繪制
需要的工具:
一支好用的鋼筆
白紙
尺子(可選)
Scanner 掃描儀
Adobe Photoshop(或其他類似的圖像編輯軟體)
ScanFont 字體掃描軟體
字體編輯軟體

你有藝術天分嗎?寫得一手的好字?好,拿一支好用的鋼筆,一打白紙,開始寫你的字母。(別忽視筆的選擇。如果你希望你的字體筆畫粗重飽滿,試試Sharpied(三角帆)的馬克筆。如果你想寫鋼筆書法,那就亮出你的書法鋼筆套裝。希望筆畫纖細而微妙,那就挑一支尖細的精確鋼筆來寫。)字寫大一些,以便於獲得更多的細節。所有字母的高度盡可能一致(可能需要你先用鉛筆在紙上打好格線)。好的字體是一套完整的字元集,所以別漏掉了什麼——比如說標點符號,波浪線,重音符號,圓括弧和方括弧以及數字。你可能還想包括一些罕見的字元,比如古英語和古歐洲語系中出現的一些字母。在你落筆之前,可以先在字體編輯軟體中創建一個新字體,看看一個字體的標准字母表中包含哪些字元。其中有些字元可能是你從未聽說過的,但專業的排印人員可能會希望在你的字體中看到它們。

把你的漂亮作品掃描進Photoshop,然後把圖片轉為點陣圖格式(不包含灰度的黑白模式)。

差不多了。在FontLab的字體掃描軟體ScanFont中打開你的點陣圖。這個很棒的小軟體(Mac版本的FontLab Studio中免費附送一套ScanFont——幸運的Mac用戶!)允許你導入點陣圖圖片,然後轉換成字體中的字元。(字體編輯軟體只對輪廓進行操作,如Illustrator中所用的基本的矢量線條。掃描儀和Photoshop之類的軟體只處理點陣圖。ScanFont則是溝通這兩種媒體格式的一座橋梁。)掃描完成後,你可以在ScanFont中保存你的字體,或是從ScanFont拷貝單個字元到FontLab Studio中去,開始你漫長而充滿艱辛與樂趣的字體編修工作,直至完美。
方法2:用繪圖板繪制
需要的工具:
Wacom Tablet Wacom繪圖板
Adobe Illustrator
字體編輯軟體
如果你有一塊Wacom的繪圖板,就可以省卻上面的不少步驟,因為你可以在矢量繪圖軟體中直接繪制你的字體,FontLab Studio支持從Adobe Illustrator中直接復制粘貼矢量數據。

方法3:直接在字體編輯軟體中繪制
需要的工具:
滑鼠
字體編輯軟體
鐵手,以及神一般的耐性
我曾經製作了兩款字體,完全在FontLab Studio中完成,靠的就是我的滑鼠,一隻堅定的鐵手,以及數量可觀的Undo命令。這種方法是絕對可行的,相比在軟體之外繪制然後導入的方式,這種方式能夠生成更精確的字體。如你所預計的,字體編輯軟體中包含著大量的工具相互協作以完成一系列的工作:這些工具可以生成完美的直線和曲線,並有向導輔助你以極高的精度來對齊任何東西。

打造你自己的字體 Ⅱ
MyFonts.com上銷售的字體總數已經超過55,000個。現有字體的巨大數量表明了一個事實:我們在設計一個字體時,要面臨著近乎無限的選擇。有些選擇是很基本的,比如說:襯線還是無襯線(當然兩者下面都有著大量的子類);手寫體還是精確的印刷級字體;寬體還是窄體;粗體還是細體。但除了這些明顯的選擇之外,還有一些你可能從未聽說過的術語:
封閉的、半封閉的還是開放的4?
三筆還是兩筆的Y?
有下伸部還是位於基線的J?
雙層還是單層架構的g?
雙層還是單層架構的a?
交叉的、連接的、還是圓角的W?

你可以多對照一些你喜歡的字體,來理解上面的這些細節區別,或者更多的,比如說——三筆的Y 對你來說更傳統一些嗎?你的新字體中准備採用這種結構嗎?一個有下伸部的J 更適合你的字體嗎,或是你決定不讓它超出基線?
你可能還有更多需要斟酌的事項:
你的e 中水平橫杠的高度
你的*(星號)應該有幾瓣?(譯註:我對照了一下,4、5、6瓣的都有)
你的# 號的傾角
你的y 和q 有沒有尾巴?
如果一開始就陷入這些細節中無法動彈,那你永遠無法開始實際的字體設計。但在你動手設計之前,的確應該對它們有所考慮。在字體設計軟體之外多花的一點時間,可能會讓你在正式設計時避免花費大量的時間來反復的修改或是返工重做字元。
Vertical Metrics 垂直量度
還有一系列需要你把握的決定,比如說垂直量度——決定你字元各種高度的一系列尺寸。下面為你准備了相關的術語:
上沿線,定義小寫字母的頂部位置(通常為小寫b 的最高點)
大寫高度,定義大寫字母的高度(通常取大寫H 的高度)
x 高度,大部分小寫字母的高度,如v 。
基線,字元所「坐」位置的假想線。
下沿線,定義小寫字母的底部位置(通常取小寫p 的底部)
在開始設計字體之前你必須解決好以下這些與垂直量度有關的問題:
你最高的小寫字母的上沿是否會高於大寫字母高度?(許多字體都會超過,但並非全部。)
你的x高度應該有多高?(僅僅是把「標準的」x高度提高或者降低一些,就足以產生有趣的效果。)
下沿線應該定義多低?
在為你的字體決定垂直量度時,還有一些基本原則需要考慮。

底部為曲線的字元往往會稍稍低於基線。同樣的,頂部為曲線的字元也經常會稍稍的超出標準的x高度或大寫高度。

之所以有這些基本原則,是因為這些有曲線的字元如果不稍微的高於或低於那些方形的字元,它們看起來就要稍微小一些。我的意思是,法律並沒有規定你一定要遵循這條規則。如果你的字體採用絕對相同的基線和高度時效果更好,那你就這樣做。但假如是由於你自己都不清楚是否這樣做更好,就給它們定義相同的高度,這實在不是什麼好主意。
Horizontal Metrics 水平量度
為字體定義水平量度需要花費你大量的時間。主要的水平量度—kerning/字距調整(下面會詳述)—需要你許多個小時的艱難而細致的工作才能完成。(我想你之前一定讀過了 Johno關於kerning的文章 了吧?沒有?! 你實在應該讀的。去吧,我會在這里等你。)不過在我們討論字距調整之前,我們應該先來想想sidebearing(預留空間,或者更簡潔的翻譯:「側架」)。
正確的設置側架(sidebearing,以下同),能讓之後的字距調整更簡單,節省你為優化水平量度所花費的大量寶貴時間。

側架是字元左右預留的空間。上圖中,字母U的左右定義了相同的側架。這是常見的情形,但不是必須的。有時候,側架可以是一側是正的而另一側是負的——這意味著,側架有可能位於字元之內。

注意 j 的左側架(LSB),已經是位於字元實際邊界之內了——相當於削去了部分的字元。為什麼要這樣做?好,我們來看看j和其他字母相遇時候的情形。

內部的側架告訴計算機在渲染j的時候要比標准間距更靠近左邊相鄰的字元。如果左右的側架定義成一樣的,那麼j 和左邊鄰居之間的空間就變得大而呆板。

字距調整一樣能解決這個問題,但如果 j 總是(或經常)要靠近左邊相鄰的字元,那麼定義一個負的側架能讓你減少你字距調整的工作,並且,對於那些不使用字距調整的用戶(很不幸,大部分字處理軟體中,字距調整選項默認是關閉的),能得到更好的字母間距。
Kerning 字距調整
讀完 Johno關於kerning的文章 ,你已經能跟上這些基礎課程了吧?下面是關於kerning的一些細節,你作為一個字體設計師應該知道的。
良好的側架設置就好比擁有一個主教練,他對於比賽有一個很好的總體計劃,可以讓你的字體在用戶不使用字距調整的大多數情況下,也可以得到比較像樣的結果。但是在某些具體的場合,為了獲得完美的結果,你還必須有一個優秀的進攻協調員在場上組織具體的進攻——那就是字距調整。
在完成側架設置之後,我喜歡把字體中的字元對列印出來,檢查哪些地方出了問題,需要進行字距調整的輔助。實際上,我寫了一個腳本來將這些字元對生成一個Open Office 文檔,你可以在這里下載這份文檔 。然後你就可以在 Open Office 中打開這份文檔,選擇所有文本,變為你自己的字體之後,列印出來檢查。

發現那些有問題的字元對之後,你就得弄臟雙手親自對它們進行修理了。這里是我一個字體的範例,顯示了設置了側架而還未進行字距調整的V-e 配對。注意兩個字元中的空隙是多麼巨大。

然後是字距調整之後:

我們要做的是讓字母自然的從一個流向下一個。我常常會想,字距調整就彷彿是讓我的字元們彼此偎依在一起。
在做字距調整的時候要注意的幾個問題:
如果你發覺對每一對字元你都要做字距調整,那麼很可能是你的側架設置出了問題。好的側架設置通常意味著有一部分的字元對已經設置完成,不再需要單獨的字距調整。
會有人告訴你,你只需對最常用的字元對做字距調整。比如對於q,你只需要做qu 以及qa 的字距調整,而qz 則不必要—在實際印刷中誰會用到qz 啊?可是我就是一個例外,我堅持為全部的字元對做字距調整,不管那些組合是多麼的不可理喻。那些純粹主義者可能又要暈倒或是嚇到呼吸困難了。但我為什麼要限制我字體的用戶,讓他們只有在使用標准字元對的時候才擁有漂亮的字距調整?如果有人想列印qz,那就應當讓他們列印出一個漂亮的qz 。
大部分的字體編輯軟體都有一個自動字距調整的功能。這是一個好的開端,但明智的做法是,在自動調整之後你還應該親自進行逐個的檢查和調整。沒有什麼演算法能超過人的眼睛。
Scratching the Surface 劃破皮膚
到這里為止,我們才剛剛劃破皮膚。如果不及時處置的話,就可能會引發「字體狂熱症」。我的確希望如此。即便是在從事字體設計這么多年之後,每一次打開FontLab Studio 在其中奮戰,都依然會讓我學到一點新的東西。
打造你自己的字體 Ⅲ
永遠都在尋覓字體設計的靈感。夏天過後,我買了一套便宜的書法鋼筆,說服自己,它會讓我的雞爬字產生脫胎換骨的變化。在浪費了一個星期和幾打白紙之後,我還是沒得到什麼有趣的或是有稍微藝術氣息的東西。最後,在一天晚上,疲倦而失望的我,在用完了黑色墨水之後,插入了一支紅色的筆芯,然後寫下了下面這一套字母表——之後它變成了我的 Joules字族 。我想,如果我在這個案例研究中把它如何變成字體的過程寫出來,大家也許會感興趣。
下面是那天晚上我寫下的好多張草圖之一:

特寫:

超級特寫:我迫不及待想使用的一個大寫A。

從草圖到字體
從草圖創建Joules字體的過程,一如我之前的 兩篇文章中所寫的,我將草圖掃描輸入,下面是掃描稿在Photoshop裡面轉為黑白點陣圖模式之後的樣子。

注意原稿點陣圖中包含的粗糙雜點:

通常,我會把這些點陣圖處理干凈之後才導入Fontlab,但這次例外。下面是第一個步驟,將點陣圖導入ScanFont:

在ScanFont中的一個特寫:

我把這個新字元復制到FontLab中的正確位置。為了給你體驗一下在FontLab中是如何進行調整的,下面放大顯示了導入進來的粗糙的A。我選擇了一個有問題的部分。

然後開始刪去那些令人不快的節點:

在FontLab中調節字元的時候,我們必須在兩種誘惑中做一個平衡:一方面要使得輪廓盡量的平滑,另一方面,又應該盡可能的留下一些粗糙的節點,以保留字體的趣味。我發覺,對書法字體而言,不應該平滑掉所有的粗糙節點,在某種程度上,那等於剝奪了它們書法的感覺。
救人危難的字元合成
FontLab的一個便捷之處,是它可以自動的合成字元。本例中我先創建了一個A,然後又建了一個「重音符」:

然後我雙擊這個「A-重音符」的小格…

…FontLab就創建了一個合成字元:

這時候,如果你編輯這個A或者那個重音符,變化會立即的自動更新到那個合成的「A重音符」上。
側架
我前面幾篇關於字體設計的文章中也提到了,設置合適的側架是一個重要的步驟。(一個原因是,恰當的側架會讓字距調整變得簡單!)先為字元做粗調,我粗略設置了一個很小的、正的側架。在初始編輯時,這個y的側架顯示如下:

這樣設置會有什麼問題,在初始字距設置中看a和y的配對就能看出來了。

其實我可以保留這個y的側架不變,然後在字距配對調整中,調節y靠近a,然後依此類推,在每一個字距配對中都調節y靠近其他的字元。但很明顯,為這個y的左側設置一個負的側架的做法要更簡單,也更明智:

下面就是改進後的留白設置在默認字距調整情況下的樣子:

Kerning 字距調整
天,為這個字體設置字距花了我幾個小時的時間!其中的煩人細節…我還是放過你好了。但這里還有另外一個字距調整的實例。在調整前是這樣的:

調節後:

Ligatures 連字
我在Joules中創建了相當數量的連字,使用者在排版時可以手動選擇應用它們。

下面舉一個實例說說我是如何創建這些連字的。首先,我們先來看看這個z和a原始的連排效果。

其實我可以在字距配對的時候讓它們以一種時髦的方式漂亮的重疊在一起,但更負責的做法還是做一個z-a的連字。第一步,創建一個空白字元,然後把z和a復制進來:

第二步,切開它們的輪廓,讓它們能在合適的位置結合:

第三步,刪除多餘的部分:

第四步,移動字元讓它們靠近:

第五步,連接節點:

智能連字
Joules的第一個版本中並沒有包含智能連字:這種技術是我最近才學會的。(這意味著 TrueType字體的末日 ,因為智能連字技術必須在 OpenType 字體 中才能實現。)其中的細節我就不嘮叨了,但可以告訴你的是,需要在Fontlab中打開一個特殊的OpenType面板,並且通常還要寫一些腳本,這樣才能在一些能夠識別連字的軟體中激活你所創建的連字。大體上看起來是這個樣子:

完成
這就是經過了無數次修整和字距調整之後的最終結果

⑶ 有關 Android 開發的書籍有哪些

有好多啊以前在遠標老師推薦我十本Android開發暢銷書籍:
1. 《Android基礎教程》本書是一部關於 android開發的基礎教程,採用由淺入深、循序漸進的方式討論android。書中還結合數獨游戲等實例更加形象生動地講解了 android開發的基本流程,且每章最後都有一個 「快速閱讀指南 」,更加方便了讀者的閱讀。. 本書內容完整豐富,具有較強的通用性,讀者都能通過本書快速學習 android開發,提高相關技能。
2. 《Android應用開發揭秘》(累計印刷6次,內容已更新至Android 2.2,版權輸出至台灣)這是一本參考手冊,內容的完整性和系統性幾乎無可挑剔,可作為廣大Android開發者的案頭必備書;這是一部權威指南,基礎知識部分翔實而豐富,高級知識部分深入且飽含最佳實踐,能從本質上提升開發者對Android的理解和開發水平。尤為值得一提的是,Android 2.0中新增了大量激動人心的新特性,不僅支持多點觸摸設備、軟鍵盤,而且還支持多賬戶在線管理、藍牙……作為國內第一本基於Android 2.0的著作,本書可謂極具前瞻性,第一時間將這些新特性完美地呈現給了廣大讀者。
3. 《Google Android SDK開發範例大全》(09年度暢銷榜NO.10)(台灣天瓏書局09年超級暢銷書)本書以android手機應用程序開發為主題,通過130多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。. 全書共分10章,主要以範例集的方式來講述android的知識點,詳細介紹了開發android的人機交互界面、android常用的開發控制項、使用android手機收發簡訊等通信服務、開發android手機的自動服務功能和娛樂多媒體功能以及整合android與aoogle強大的網路服務等內容,隨書光碟中包括了所有範例的程序代碼。
4. 《Google Android SDK開發範例大全(第2版)》 本書在上一版的基礎上,以android手機應用程序開發(採用android sdk 2.1)為主題,通過160多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。全書共分10章,主要以範例集的方式來講述android的知識點,詳細介紹了開發android的人機交互界面、android常用的開發控制項、使用android手機收發簡訊等通信服務、開發android手機的自動服務功能和娛樂多媒體功能以及整合android與aoogle強大的網路服務等內容。隨書光碟中包括了所有範例的程序代碼。本書講述由淺入深,由android的基礎知識到實際開發應用,結構清晰、語言簡潔,非常適合android的初學者和android的進階程序開發者閱讀參考。
5. 《Android/OPhone開發完全講義》(此書版權已經輸出到台灣)‍推薦這本書有兩個原因:一是移動開發的廣闊前景,使得越來越多的企業、開發者投入其中。相比iPhone而言,Android平台的開放性以及國內市場的廣闊性,使得它更有代表性;二是作者李寧,他寫作的理論性和實踐性兼備,以及對技術的孜孜追求,使得這本書在Android開發的實戰方面很具代表性。也希望讀者朋友和我一樣能從這本書中獲益。
6. 《Android系統原理及開發要點詳解》 本書全面介紹開放的行動電話平台android系統,包括android系統中的linux驅動、本地框架、java框架和java應用4個層次。本書內容以知識性內容為綱,重點關注開發要點,各個部分內容注重相互照應,按照清晰的思路向讀者介紹整個android系統的原理和開發方法。本書按照android系統的框架和各個子系統的主線,重點介紹開發android應用程序和構建硬體抽象層。其內容涵蓋了android應用程序開發和android系統移植構建手機系統兩大方面。本書既適合從事android各個層次開發的工程師閱讀,也適合通用嵌入式linux系統的學習者使用。
7. 《深入淺出Google Android》(示例生動豐富,理論和實踐完美結合)本書是國內最早的android開發團隊的集體智慧結晶,真正完全基於android最新的sdk 1.5,內容詳實,示例生動豐富,包含大量示例代碼,可操作性強。它不僅涵蓋了android平台從基礎概念到高級應用的所有主題,而且深入淺出地介紹了幾種常見的android項目,具有很強的參考價值。特別是在本書的第10、11章重點介紹了android sdk 1.5引入的最為重要的三個特性,即桌面部件、實時文件夾、虛擬鍵盤與輸入法應用的開發方法。.. 通過本書,讀者可以迅速掌握android平台來構建應用程序,成為android開發高手,躋身新技術的弄潮兒。
8. 《Google Android開發入門與實戰》(09年度暢銷榜TOP50)(附贈400分鍾高清教學視頻,涵蓋5大商業案例完整源代碼)本書內容上涵蓋了用android開發的大部分場景,從android基礎介紹、環境搭建、sdk介紹、market使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個android平台下的完整綜合實例及源代碼分析,分別是rss閱讀器、基於google map的個人gps、豆瓣網(web 2.0)客戶端、在線音樂播放器、手機信息查看助手。本書注重對實際動手能力的指導,在遵循技術研發知識體系的嚴密性同時,在容易產生錯誤、不易理解的環節配以了翔實的開發情景截圖,並將重要的知識點和開發技巧以「小實驗」、「小提醒」、「小知識」、「注意」等的活潑形式呈現給讀者。在程序實例的講解方面,主要將實例安插在android開發的精髓知識章節,這為初學者學習與實踐結合提供了很好的指導。. 本書配套有400多分鍾的全程開發視頻光碟,指導讀者快速、無障礙地學通android實戰開發技術。
9. 《精通Android游戲開發》(將本地PC游戲輕松移植到Android的秘技) 本書討論如何將pc 上的3d 游戲移植到android 平台。作者從必備的技能和軟體工具入手,逐步介紹如何從頭構建純java 游戲,如何混合使用opengl 3d 圖形和jni,並以真實的pc游戲wolfenstein 3d和doom為例,介紹如何融合java 的優雅設計和c 的強大功能,使混合游戲達到最佳性能。本書適合熟悉android 平台的開發人員閱讀。
10. 《人人都玩開心網:Ext JS+Android+SSH整合開發Web與移動SNS》 本書的主旨為,以開心網為例實現web版和android版的sns應用。本書分為四篇,前三篇主要實現了web版的開心網系統。其中重點介紹了ext js技術,包括ext js的核心組件、對話框、表單組件、布局、數據校驗、表格、菜單、樹組件等技術。本書的最後一篇實現了android版的開心網,並介紹了與android版開心網相關的技術,包括button、textview、edittext、imageview、gridview等android組件。本書適於以下幾類人群:了解傳統的web應用程序的開發,希望使用ext js開發web程序的開發人員;了解基本的ext js程序的開發方法,想增加實踐經驗的開發人員;對ext js感興趣,想進一步提高ext js開發技能的讀者;對android感興趣,想從事android開發的讀者;想開發基於android客戶端的c/s程序,但對開發流程不了解的讀者。

⑷ 求《android應用案例開發大全第二版》PDF和源碼

Google Android SDK開發範例大全,源代碼已經增加附件。

⑸ 關於Android開發的一些書籍

Android編程入門教程andbook
andbook是我看到的最簡單但最好的Android程序開發入門書籍,內容僅有60多頁,圖文並茂,如果你從來沒有接觸過Android開發,也完全可以通過閱讀此書了解程序開發過程,甚至對APK程序的基本原理和Android UI界面開發有個清晰的認識,相信你花上幾個小時讀過後,一定會躍躍欲試加入Android開發行列,心動吧,那就行動吧。。。

Android應用開發詳解

Android應用開發詳解是一本Android應用開發書籍,既適合Android初學者,也適合具備了一定Android開發經驗但需要開發案例的高級讀者。 該書分為三個部分,共18章,由淺入深地詳細介紹了Android的每個開發細節。 該書基礎翔實,實例豐富,案例真實。從基礎到案例覆蓋了Android應用開發的三大領域:基礎應用、網路應用和游戲應用。讀者所需要學習的,正是該書描述的。

深入淺出Android–Google手持設備應用程序設計

入門書籍,作者寫的很不錯,可以在閱讀SDK的同時閱讀這本書,中間的一些使用介紹的非常清楚,最重要的是中文版的

Google Android應用框架原理與程式設計36技

最早介紹Android的中文書籍,台灣人寫的繁體版的,看得有些影響,不過還是值得耐心閱讀的

Android A Programmer』s Guide

多個專家寫的介紹Android的書籍,內容寫的很不錯,Ask the Expert部分針對一些問題作了詳細的說明

Android Essentials

對Android介紹的比較全面,從安裝到開發,應該有新版本了。

Google Android SDK開發範例大全(第2版)

以Android手機應用程序開發(採用AndroidSDK2.1)為主題,通過160多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。

Google Android開發入門與實戰

內容上覆蓋了用Android開發的大部分場景,從Android基礎介紹、環境搭建、SDK介紹、Market使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個Android平台下的完整綜合實例及源代碼分析,分別是RSS閱讀器、基於Google Map的個人GPS、豆瓣網(Web 2.0)客戶端、在線音樂播放器、手機信息助手,為初學者學習與實踐結合提供了很好的指導。

Android平台開發之旅

涵蓋了Android平台1.5到2.2版本的主要功能特性,立足實際的開發案例,介紹了Android手機平台開發的基礎概念、實用技術和應用模式。主要內容包括:平台基礎、開發環境搭建、程序框架、高級界面和底層界面設計、文件系統管理、網路通信、無線通信、多媒體編程、個人信息管理、電話系統、資料庫應用、XML應用和地圖應用。開發實例多達120例。

如何成為Android高手
成為一名真正的Android 高手必須掌握和遵循的一些准則:
1,學會懶惰
2,精通Android 體系架構、MVC、常見的設計模式、控制反轉(IoC)
3,編寫可重用、可擴展、可維護、靈活性高的代碼
4,高效的編寫高效的代碼
5,學會至少一門伺服器端開發技術

Android開發指南中文版之應用程序框架
Android SDK1.5版的英文開發資料Android Development Guide中應用程序框架部分的翻譯PDF文件。

⑹ Android底層開發技術實戰詳解 第2版 怎麼樣

Android底層開發技術實戰詳解 第2版不建議買
Android系統移植和驅動開發強些

⑺ 有哪些android開發技巧

1、android:clipToPadding

意思是控制項的繪制區域是否在padding裡面。默認為true。如果你設置了此屬性值為false,就能實現一個在布局上事半功陪的效果。先看一個效果圖。

上圖中的ListView頂部默認有一個間距,向上滑動後,間距消失,如下圖所示。

如果使用margin或padding,都不能實現這個效果。加一個headerView又顯得大材小用,而且過於麻煩。此處的clipToPadding配合paddingTop效果就剛剛好。

同樣,還有另外一個屬性也很神奇:android:clipChildren,具體請參考:【Android】神奇的android:clipChildren屬性

2、match_parent和wrap_content

按理說這兩個屬性一目瞭然,一個是填充布局空間適應父控制項,一個是適應自身內容大小。但如果在列表如ListView中,用錯了問題就大了。ListView中的getView方法需要計算列表條目,那就必然需要確定ListView的高度,onMesure才能做測量。如果指定了wrap_content,就等於告訴系統,如果我有一萬個條目,你都幫我計算顯示出來,然後系統按照你的要求就new了一萬個對象出來。那你不悲劇了?先看一個圖。

假設現在ListView有8條數據,match_parent需要new出7個對象,而wrap_content則需要8個。這里涉及到View的重用,就不多探討了。所以這兩個屬性的設置將決定getView的調用次數。

由此再延伸出另外一個問題:getView被多次調用。

什麼叫多次調用?比如position=0它可能調用了幾次。看似很詭異吧。GridView和ListView都有可能出現,說不定這個禍首就是wrap_content。說到底是View的布局出現了問題。如果嵌套的View過於復雜,解決方案可以是通過代碼測量列表所需要的高度,或者在getView中使用一個小技巧:parent.getChildCount == position

@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (parent.getChildCount() == position) {
// does things here
}

return convertView;
}

3、IllegalArgumentException: pointerIndex out of range

出現這個Bug的場景還是很無語的。一開始我用ViewPager + PhotoView(一個開源控制項)顯示圖片,在多點觸控放大縮小時就出現了這個問題。一開始我懷疑是PhotoView的bug,找了半天無果。要命的是不知如何try,老是crash。後來才知道是android遺留下來的bug,源碼里沒對pointer index做檢查。改源碼重新編譯不太可能吧。明知有exception,又不能從根本上解決,如果不讓它crash,那就只能try-catch了。解決辦法是:自定義一個ViewPager並繼承ViewPager。請看以下代碼:

/**
* 自定義封裝android.support.v4.view.ViewPager,重寫onInterceptTouchEvent事件,捕獲系統級別異常
*/
public class CustomViewPager extends ViewPager {

public CustomViewPager(Context context) {
this(context, null);
}

public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException e) {
LogUtil.e(e);
} catch ( e) {
LogUtil.e(e);
}
return false;
}
}

把用到ViewPager的布局文件,替換成CustomViewPager就OK了。

4、ListView中item點擊事件無響應

listView的Item點擊事件突然無響應,問題一般是在listView中加入了button、checkbox等控制項後出現的。這個問題是聚焦沖突造成的。在android裡面,點擊屏幕之後,點擊事件會根據你的布局來進行分配的,當你的listView裡面增加了button之後,點擊事件第一優先分配給你listView裡面的button。所以你的點擊Item就失效了,這個時候你就要根據你的需求,是給你的item的最外層layout設置點擊事件,還是給你的某個布局元素添加點擊事件了。

解決辦法:在ListView的根控制項中設置(若根控制項是LinearLayout, 則在LinearLayout中加入以下屬性設置)descendantFocusability屬性。

android:descendantFocusability="blocksDescendants"

官方文檔也是這樣說明。

5、getSupportFragmentManager()和getChildFragmentManager()

有一個需求,Fragment需要嵌套3個Fragment。基本上可以想到用ViewPager實現。開始代碼是這樣寫的:

mViewPager.setAdapter(new CustomizeFragmentPagerAdapter(getActivity().getSupportFragmentManager(), subFragmentList));

導致的問題是嵌套的Fragment有時會莫名其妙不顯示。開始根本不知道問題出現在哪,當你不知道問題的原因時,去解決這個問題顯然比較麻煩。經過一次又一次的尋尋覓覓,終於在stackoverflow上看到了同樣的提問。說是用getChildFragmentManager()就可以了。真是這么神奇!

mViewPager.setAdapter(new CustomizeFragmentPagerAdapter(getChildFragmentManager, subFragmentList));

讓我們看一下這兩個有什麼區別。首先是getSupportFragmentManager(或者getFragmentManager)的說明:

Return the FragmentManager for interacting with fragments associated with this fragment's activity.

然後是getChildFragmentManager:

Return a private FragmentManager for placing and managing Fragments inside of this Fragment.

Basically, the difference is that Fragment's now have their own internal FragmentManager that can handle Fragments. The child FragmentManager is the one that handles Fragments contained within only the Fragment that it was added to. The other FragmentManager is contained within the entire Activity.

已經說得比較明白了。

6、ScrollView嵌套ListView

這樣的設計是不是很奇怪?兩個同樣會滾動的View居然放到了一起,而且還是嵌套的關系。曾經有一個這樣的需求:界面一共有4個區域部分,分別是公司基本信息(logo、名稱、法人、地址)、公司簡介、公司榮譽、公司口碑列表。每部分內容都需要根據內容自適應高度,不能寫死。鄙人首先想到的也是外部用一個ScrollView包圍起來。然後把這4部分分別用4個自定義控制項封裝起來。基本信息和公司簡介比較簡單,榮譽需要用到RecyclerView和TextView的組合,RecyclerView(當然,用GridView也可以,3列多行的顯示)存放榮譽圖片,TextView顯示榮譽名稱。最後一部分口碑列表當然是ListView了。這時候,問題就出來了。需要解決ListView放到ScrollView中的滑動問題和RecyclerView的顯示問題(如果RecyclerView的高度沒法計算,你是看不到內容的)。

當然,網上已經有類似的提問和解決方案了。

給一個網址:

四種方案解決ScrollView嵌套ListView問題

ListView的情況還比較好解決,優雅的做法無非寫一個類繼承ListView,然後重寫onMeasure方法。

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}

ListView可以重寫onMeasure解決,RecyclerView重寫這個方法是行不通的。

說到底其實計算高度嘛。有兩種方式,一種是動態計算RecycleView,然後設置setLayoutParams;另外一種跟ListView的解決方式類似,定義一個類繼承LinearLayoutManager或GridLayoutManager(注意:可不是繼承RecyclerView),重寫onMeasure方法(此方法比較麻煩,此處不表,下次寫一篇文章再作介紹)。

動態計算高度如下:

int heightPx = DensityUtil.dip2px(getActivity(), (imageHeight + imageRowHeight) * lines);
MarginLayoutParams mParams = new MarginLayoutParams(LayoutParams.MATCH_PARENT, heightPx);
mParams.setMargins(0, 0, 0, 0);
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(mParams);
honorImageRecyclerView.setLayoutParams(lParams);

思路是這樣的:服務端返回榮譽圖片後,由於是3列顯示的方式,只需要計算需要顯示幾行,然後給定行間距和圖片的高度,再設置setLayoutParams就行了。

int lines = (int) Math.ceil(totalImages / 3d);

至此,這個奇怪的需求得到了解決。

可是在滑動的時候,感覺出現卡頓的現象。聰明的你肯定想到是滑動沖突了。應該是ScrollView的滑動干擾到了ListView的滑動。怎麼辦呢?能不能禁掉ScrollView的滑動?

網路一下,你肯定能搜索到答案的。先上代碼:

/**
* @author Leo
*
* Created in 2015-9-12
* 攔截ScrollView滑動事件
*/
public class CustomScrollView extends ScrollView {

private int downY;
private int touchSlop;

public CustomScrollView(Context context) {
this(context, null);
}

public CustomScrollView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}

public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}

@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
int action = e.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
downY = (int) e.getRawY();
break;
case MotionEvent.ACTION_MOVE:
int moveY = (int) e.getRawY();
if (Math.abs(moveY - downY) > touchSlop) {
return true;
}
}
return super.onInterceptTouchEvent(e);
}
}

只要理解了getScaledTouchSlop()這個方法就好辦了。這個方法的注釋是:Distance in pixels a touch can wander before we think the user is scrolling。說這是一個距離,表示滑動的時候,手的移動要大於這個距離才開始移動控制項,如果小於此距離就不觸發移動。

看似很完美了。

但是還有另外一個問題:我每次載入這個界面花的時間太長了,每次由其它界面啟動這個界面時,都要卡上1~2秒,而且因手機性能時間不等。並不是由於網路請求,取數據由子線程做,跟UI線程毫無關系。這樣的體驗自己看了都很不爽。

幾天過去了,還是那樣。馬上要給老闆演示了。這樣的體驗要被罵十次呀。

難道跟ScrollView的嵌套有關?

好吧,那我重構代碼。不用ScrollView了。直接用一個ListView,然後add一個headerView存放其它內容。因為控制項封裝得還算好,沒改多少布局就OK了,一運行,流暢順滑,一切迎刃而解!

本來就是這么簡單的問題,為什麼非得用ScrollView嵌套呢?

stackoverflow早就告訴你了,不要這樣嵌套!不要這樣嵌套!不要這樣嵌套!重要的事情說三遍。

ListView inside ScrollView is not scrolling on Android

當然,從android 5.0 Lollipop開始提供了一種新的API支持嵌入滑動,此時,讓像這樣的需求也能很好實現。

此處給一個網址,大家有興趣自行了解,此處不再討論。

Android NestedScrolling 實戰

7、EmojiconTextView的setText(null)

這是開源表情庫com.rockerhieu.emojicon中的TextView加強版。相信很多人用到過這個開源工具包。TextView用setText(null)完全沒問題。但EmojiconTextView setText(null)後就悲劇了,直接crash,顯示的是null pointer。開始我懷疑時這個view沒初始化,但並不是。那就調試一下唄。

@Override
public void setText(CharSequence text, BufferType type) {
SpannableStringBuilder builder = new SpannableStringBuilder(text);
EmojiconHandler.addEmojis(getContext(), builder, mEmojiconSize);
super.setText(builder, type);
}

EmojiconTextView中的setText看來沒什麼問題。點SpannableStringBuilder進去看看,源碼原來是這樣的:

/**
* Create a new SpannableStringBuilder containing a of the
* specified text, including its spans if any.
*/
public SpannableStringBuilder(CharSequence text) {
this(text, 0, text.length());
}

好吧。問題已經找到了,text.length(),不空指針才怪。

text = text == null ? "" : text;
SpannableStringBuilder builder = new SpannableStringBuilder(text);

加一行判斷就行了。


先想到這么多,以後再補充。

⑻ 《第一行代碼:Android(第2版)Android》epub下載在線閱讀,求百度網盤雲資源

《第一行代碼:Android(第2版)》(郭霖)電子書網盤下載免費在線閱讀

鏈接:https://pan..com/s/1avd0IkGburAbRxMJwPXLcQ

提取碼:xwhf

書名:第一行代碼:Android(第2版)

作者:郭霖

豆瓣評分:8.6

出版社:人民郵電出版社

出版年份:2016-12-1

頁數:570

內容簡介:

本書被廣大Android 開發者譽為「Android 學習第一書」。全書系統全面、循序漸進地介紹了Android軟體開發的必備知識、經驗和技巧。

第2版基於Android 7.0 對第1 版進行了全面更新,將所有知識點都在最新的Android 系統上進行重新適配,使用 全新的Android Studio 開發工具代替之前的Eclipse,並添加了對Material Design、運行時許可權、Gradle、RecyclerView、百分比布局、OkHttp、Lambda 表達式等全新知識點的詳細講解。

本書內容通俗易懂,由淺入深,既是Android 初學者的入門必備,也是Android 開發者的進階首選。

作者簡介:

郭霖

Android軟體開發工程師。從事Android開發工作6年,有著豐富的項目實戰經驗,負責及參與開發過多款移動應用與游戲,對Android系統架構及應用層開發有著深入的理解。

2013年3月開始,在CSDN上發表Android技術相關博文,很快獲得了大量網友的好評。目前博客訪問量已超過500萬次,評論超過10000條。榮獲CSDN認證專家,並被連續評選為CSDN 2013、2014、2015年度博客之星。

⑼ android開發權威指南 第2版 pdf

我有「Android_開發從入門到精通_IBM.pdf」
android經典開發案例60個(源碼類).rar
(第二部分:智能機Android平台操作入門).ppt
視頻等

⑽ 求android開發權威指南第二版源碼

這個就是了 上傳 不容易 多給個 財富值吧,兄弟!

閱讀全文

與android開發秘籍第2版相關的資料

熱點內容
oraclelinux安裝目錄 瀏覽:133
安卓系統可以安裝編譯器嗎 瀏覽:570
javajson實體類 瀏覽:690
板加密鋼筋是否取代原鋼筋 瀏覽:66
學習編程的思路 瀏覽:230
app易語言post怎麼學 瀏覽:965
地梁的箍筋加密區位置 瀏覽:302
二分法排序程序及編譯結果 瀏覽:679
日語命令形和禁止型 瀏覽:285
安裝軟體用管理員解壓 瀏覽:505
編譯原理代碼塊 瀏覽:400
小孩可以用壓縮面膜嗎 瀏覽:14
錐形倒角怎麼計演算法 瀏覽:882
java合並鏈表 瀏覽:507
pic單片機編譯器 瀏覽:805
麗水四軸加工中心編程 瀏覽:691
國產系統怎麼解壓 瀏覽:552
戰雙程序員 瀏覽:483
him觸摸編程軟體 瀏覽:931
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852