今天稍微翻了一下 Pro Android Games 的目錄,裏面有提到不少 NDK 的東西,如果你有需要用到 NDK 的話,不妨買來作為參考。

不過這本書最主要還是在教你怎麼寫遊戲,所以有提到 2D/3D(OpenGL) 繪圖以及加速的技巧,同時也提供了一個 3D 射擊遊戲的 prototype。

elleryq 發表在 痞客邦 留言(0) 人氣()

Chapter 16 Activity Lifecycle

要查一下 onSaveInstanceState() / onRestoreInstanceState(),印象中一般比較少提到這兩個 event。

Chapter 17 Preference

主要有三種:
  • getPreference():存取Activity獨有的。
  • getSharedPreference():可跟其他 activity 共用。
  • getDefaultSharedPreference():全域的。

三種都是回傳 SharedPreference
Preference 也可以在 xml 裡設計,Framework 有提供便結的方法可以讀取並產生畫面 (addPreferencesFromResource())

Chapter 18 Accessing File

有提到用 DocumentBuilder 去 parse XML。

IinputStream/InputStreamReader/OutputStreamWriter ... 等,基本上跟 Java 一樣。

Chapter 19 Resources

介紹各種 Resource 格式以及存取方法。

Chapter 20 Database

用 DatabaseHelper 拿回 Readable、Writable 的 db 之後,再呼叫 execSQL 或其他 function 作業。

query、rawQuery() 傳回 cursor,差別在參數。也可以用 SQLiteQueryBuilder 丟必要東西進去,然後 query。

Cursor 跟 ASP.Net 的 DataTable 很接近。

Chapter 21 Libraries

source code 直接丟到 src 裡,jar archives 丟到 libs 裡。

有介紹 BeanShell 用法,可是作者不建議用,除了效能考量之外,也有檔案大小的考量。

elleryq 發表在 痞客邦 留言(0) 人氣()

借閱日期:忘了,應該是 2010 年初
閱畢日期:2010/5/3

車禍跟推理有什麼關係?一開始就是一個車禍,一個家庭主婦因此死亡。

慎吾是本書的主角,職業是調酒師,某天的晚上他被打昏了,因此喪失了對車禍的記憶,出院以後,他覺得無論如何都要想起這個車禍,其實如果換成是我,我也會設法回想起來。所以為了找回這些失落的碎片,他開始設法去追問,套出線索,然後回想,這個過程很明顯的就是推理。

最後是慎吾回想起了整件車禍的經過,但結局有些出人意料,而且呼應了書名。原來慎吾的老闆是這場車禍的肇事者,他為了三千萬,決定替老闆頂罪。車禍裡的另一輛車,真正撞死受害者的車,則是由未婚夫替他的未婚妻頂罪。但他們目睹了受害者死亡的過程,而未婚妻則受到受害者瀕死眼神的影響,精神狀態發生了很大的變化,以為她自己就是受害者再生,並且展開了復仇。復仇是成功的,結局令人小錯愕。

相當不錯看的一本書。

我記得明明就是我妹借給我的,可是我問她時,她卻又說不是,那,這本書到底是誰的?不管了,反正丟還給我妹就對了。

More about 瀕死之眼

買書可以到博客來
比價可以到Findbook

elleryq 發表在 痞客邦 留言(0) 人氣()

購買日期:2010
閱讀日期:2010
閱畢日期:2010/4

我從 c# 1.0 以後,只有斷斷續續地在看 c# 2.0、c# 3.0 的東西,到現在已經 4.0 了,c# 這幾年演進的速度真是飛快。對 c# 2.0 的印象是有了 generic 跟 enumerator,至於 3.0 只知道有 LINQ,4.0 則是 dynamic。

這是一本專注在 c# 的書,我認為它好的地方在於它很詳細第說明了 c# 個版本的語法特色,並且將為何有這些新特色說明的很清楚,畢竟新的語法特色都是為了要解決舊有問題,才被發展出來的。這樣的說明方式很容易讓人理解新語法誕生的原因,不過令人抱憾的是,這本書出版時,4.0 尚未定案,要不然我就可以一舉掌握4個版本的 c# 特色了,沒關係,再找時間來看 c# 4.0 的 What's new 好了。

More about 精通C#

想買此書可以到博客來
想比價可以到Findbook

elleryq 發表在 痞客邦 留言(0) 人氣()

讀書時應該要問自己的幾個基本問題:
  1. 這本書在講些什麼?
  2. 細部說了什麼?怎麼說的?
  3. 有道理嗎?全部有道理還是部份有道理?
  4. 跟我有什麼關係?資訊有何意義?啟發了我什麼?而我又接收了哪些資訊??

elleryq 發表在 痞客邦 留言(0) 人氣()

Chapter 11 Menu

Option menu 有分長按跟短按,短按會出 icon mode,此時若超過 6 buttons,第六個 button 會是 more。長按則是 expand mode。

一般來說 onCreateOptionsMenu() 是建 menu 的起始點,有特殊需要可以用 onPrepareOptionsMenu()。
點選後會 trigger onOptionsItemSelected()
Menu 可以設 checked 或 group checked,也可以有 submenu,對,submenu 也是在 onCreateOptionsMenu() 裡去建。

ContextMenu 基本上跟 Option menu 一樣,但需要在 onCreate() 時先呼叫 registerContextMenu()
onCreateContextMenu()、onContextItemSelected() 見文知意,跟 OptionMenu 差不了多少。

Menu 也可以用 XML 來設計,設計好以後,在 onCreateXXXXMenu() 裡用 new MenuInflater( getApplication() ).inflate( R.menu.xxx, menu ); 來解出來。

Chapter 12 Font

Android 基本上只有提供 Sans, Serif, Monospace 三種字型,只要指定 typeface 即可。

自訂字型的話 (custom),要把 ttf 放在 assets/fonts 目錄下。用的時候要先用 Typeface = Typeface.createFromAsset( getAssets(), "fonts/xxx.ttf" ); 拿出來,再用 view.setTypeface( face ) 指定。
此時有可能會有 exception,使用時最好要處理。

Chapter 13 Webkit

webview.loadUrl("http://www.google.com.tw"); 就這麼簡單。
用時,記得要開 user-permission (INTERNET)。

也可以載入自己寫的 html:loadData( "html-code", "text/html", "utf-8" );
另可以 override 特定的 protocol 讓本地端來處置,也可以讓裡面的 javascript 跟 java 的物件溝通。

Chapter 14 pop messages

Toast 是會自動消失的 dialog,而 AlertDialog 會等 user 反應才關閉。

Chapter 15 Thread

這裡介紹 Handler,Handler 有 sendMessage()、sendMessageAtFrontOfQueue()、sendMessageAtTime()、sendMessageDelayed() 用來送 message,需要實作 handleMessages() 用來收 message。
另外有提到使用 Thread 的注意事項。

elleryq 發表在 痞客邦 留言(0) 人氣()

Chapter 9

ListView 跟 override getView 時的技巧,像是避免重複配置跟用 holder pattern,相當重要的一章。
然後我發現我之前抄 code 的時候,原來就已經都用到了。

Chapter 10

介紹其他好用又炫的控制項:日期跟時間的 picker、時鐘、Tab...

ViewFlipper 讓我覺得比較陌生,基本上放在 ViewFlipper 裡的 View,可以呼叫 startFlipping() 來順序播放,除了可以設定 FlipInterval 以外,也可以用 setInAnimation/setOutAnimation 來指定要用什麼過場特效。

elleryq 發表在 痞客邦 留言(0) 人氣()

介紹 Adapter,相對於 .Net 的 DataSource,

然後介紹了 Spinner/Dropdown、GridView、AutoCompleteTextView、Gallery。

咦?看起來 GridView 只能往下捲動?

scrollbars 看來可以決定 scrollbar 是 vertical 或是 horizontal 的。

不過,事情看來棘手,GridView 似乎真的是只能往下捲動。

進度緩慢,只看完第八章。

elleryq 發表在 痞客邦 留言(0) 人氣()

Chapter 6

這一章簡單介紹幾種常用 View(Widget/Control) 的用法。

Chapter 7

這一章介紹 Layout,以及 View 在 Layout 裡的呈現。

LinearLayout:

  • orientation:表示要往下撐開還是往右撐開。
  • layout_widget、layout_height:
    • wrap_content:當超過寬度時,該如何呈現。
    • fill_parent:決定是否要填滿 parent view
  • gravity:相當於 align,預設都是靠左。
  • padding:跟 css 一樣。

RelativeLayout:

  • layout_alignParent 開頭的,都是跟 View(Widget) 本身所在的 Container 有關係,基本上表示 Align 要不要跟著 Container 走。
  • layout_ 開頭的,則是表示跟其他 View(Widget) 的關係。

TableLayout:

  • 如果沒有 row,那就跟往下長的 LinearLayout 一樣。
  • Stretch、Shrink 跟 Collapsed,用來設定 cell/row 的樣子。
這一章的最後也提到了 ScrollView。

<ndk>/docs/system/libc/overview.txt

sys/properties.h 中有定義讀取 system properties 的 function 以及相關定義。

沒有 /etc/passwd 以及 /etc/group,此部份可參考 bionic/libc/bionic/stubs.c

沒有 /etc/services,此部份內嵌在 library 裡。

/etc/resolv.conf 改在 /system/etc/resolv.conf,另外也可以從 system properties 裡讀取 DNS 設定:net.dns1、net.dns2...也可以有 per-process DNS:net.dns.<pid>....

沒有 C++ exception support...

pthread 也跟一般的 pthread 不同。

elleryq 發表在 痞客邦 留言(0) 人氣()

一開始的三章是介紹歷史跟概念,跳過安裝 Eclipse + ADT 以及 SDK 的步驟,作者假設這些你都已經從官方網站上取得了。

Chapter 4

開始介紹程式設計部份。

有提到用 SDK 提供的 script,所以才知道原來有提供可以用來建立空 project 的 script:tools/activitycreator

用法:activitycreator --out /path/to/my/project/dir com.my.android.Sample

有提到用 emulator 開模擬器,也有提到用 adb 安裝 .apk,但就是沒提到怎麼在命令列下去 build project.

Chapter 5

介紹 XML base 的 layout 設計。

裡面有提到 DroidDraw,一個簡單的 Android IDE,但好像沒辦法寫 code,只能設計畫面。


elleryq 發表在 痞客邦 留言(0) 人氣()

買這本書好幾年了,可我從來沒認真讀過,因為每次才翻開第一章,就覺得好深奧,於是就放棄。

昨天終於認真的開始看了,但卻是從後面記憶體管理那兒開始看。這本書著實不錯,除了提出問題問你以外,也說明答案,告訴你這樣做為什麼不好。但是真的是需要本來就對 C++ 有相當程度了解的人來看,會比較容易看懂。

所以,我的程度還不夠。 (淚奔)

elleryq 發表在 痞客邦 留言(0) 人氣()

又隔了好幾天才記。

有大致翻了一下Google!Android手機應用程式設計入門的前言,裏面有提到第3版跟前幾版的差異,個人認為很重要的一章是講 Unit test 那一章,因為大部分的 Android 書都不會提到這一點,但這一點其實相當重要,能夠讓軟體自動化地測試,是進行大規模重構的基礎建設。

C# in depth 已經快要翻完了,幫我自己加油!

20 世紀少年也在前兩天看完,我應該花了一個月的時間斷斷續續地看完吧,這真是一部相當精彩的漫畫,也難怪會有人想翻拍成電影。看的過程還邊看第一神拳跟其他的書,真是...嘖嘖嘖...

elleryq 發表在 痞客邦 留言(0) 人氣()

這一章講 LINQ 與 LINQ to Object,主要是說明 LINQ 會分解成什麼樣的 code。

基本上每個 clause 都會呼叫到對應的 Function,像 select 會對應到 Select、where 會對應到 Where...。後面的 join ... into、group into 會比較不容易理解,可能要多加練習才會比較容易了解。

另外,join 是有陷阱的,如果要效能好,最好讓右邊的集合數量不要太多,因為右邊的集合會放到緩衝區裡。

看到這裡,也快把這本書翻完了,剩下約 1/5。

elleryq 發表在 痞客邦 留言(0) 人氣()

親愛的不知道什麼東西:

前兩天翻了物理之美,雖然費曼先生試圖以比較簡單的文字來說明物理,但是對我來說,看起來仍嫌小累,因為我總是需要花時間去理解他以數學表達的東西,截至目前為止,我才看完第一章跟第2章的前半而已,會不會我沒有機會看完這本書?

翻了前言,幸好作者有說明,看起來Google! Android手機應用程式入門第3版跟第1版差異不是非常大,所以我應該針對這些差異去讀就可以了,應該很快就可以讀完。讀完以後,再來想第1版要做何處置好了。只怪我太衝動,看到第1版五折就下手,應該先看看是否有新版的,下次要記住了。

省時工作力這本書很輕薄短小,花不到兩個小時就翻完了,與其說省時工作力,我想書名改為如何不加班或許會更符合書裡的內容,明天再來寫。

elleryq 發表在 痞客邦 留言(0) 人氣()

購買日期:2010/3/16
閱讀日期:2010/3/18
閱畢日期:2010/3/22

這本書實在是很好讀,這也是為甚麼我沒兩三天就翻完的原因。對於初學者來說,可以很快的了解怎麼去下手,每一章都只針對一個主題來下手去作,讓你不會分心。除此之外,作者也提到一些重構的概念,這是在學校時,老師不會提到的。

後面講 dummynote 的兩、三章有點小筆誤,實作的時候要注意,或者是直接下載範例程式。

要深入的話,你得再多找些資料。

因為打五折的關係,我才買下這本書,但買完之後,我才發現這本書已經有了第三版,所以,我又買了第三版...

More about Google!Android手機應用程式設計入門

要比價可以到 Findbook
要購買可以到 博客來

elleryq 發表在 痞客邦 留言(0) 人氣()