今天稍微翻了一下 Pro Android Games 的目錄,裏面有提到不少 NDK 的東西,如果你有需要用到 NDK 的話,不妨買來作為參考。
不過這本書最主要還是在教你怎麼寫遊戲,所以有提到 2D/3D(OpenGL) 繪圖以及加速的技巧,同時也提供了一個 3D 射擊遊戲的 prototype。
- May 12 Wed 2010 02:17
2010-05-11 Pro Android games
- May 07 Fri 2010 16:38
2010-05-07 Beginning Android 16~21
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 用法,可是作者不建議用,除了效能考量之外,也有檔案大小的考量。
- May 04 Tue 2010 14:00
瀕死之眼
借閱日期:忘了,應該是 2010 年初
閱畢日期:2010/5/3
車禍跟推理有什麼關係?一開始就是一個車禍,一個家庭主婦因此死亡。
慎吾是本書的主角,職業是調酒師,某天的晚上他被打昏了,因此喪失了對車禍的記憶,出院以後,他覺得無論如何都要想起這個車禍,其實如果換成是我,我也會設法回想起來。所以為了找回這些失落的碎片,他開始設法去追問,套出線索,然後回想,這個過程很明顯的就是推理。
最後是慎吾回想起了整件車禍的經過,但結局有些出人意料,而且呼應了書名。原來慎吾的老闆是這場車禍的肇事者,他為了三千萬,決定替老闆頂罪。車禍裡的另一輛車,真正撞死受害者的車,則是由未婚夫替他的未婚妻頂罪。但他們目睹了受害者死亡的過程,而未婚妻則受到受害者瀕死眼神的影響,精神狀態發生了很大的變化,以為她自己就是受害者再生,並且展開了復仇。復仇是成功的,結局令人小錯愕。
相當不錯看的一本書。
我記得明明就是我妹借給我的,可是我問她時,她卻又說不是,那,這本書到底是誰的?不管了,反正丟還給我妹就對了。
買書可以到博客來
比價可以到Findbook
- May 04 Tue 2010 02:45
C# in depth
購買日期: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 好了。
想買此書可以到博客來
想比價可以到Findbook
- Apr 24 Sat 2010 15:33
2010-04-24 如何閱讀一本書-小記(1)
讀書時應該要問自己的幾個基本問題:
- 這本書在講些什麼?
- 細部說了什麼?怎麼說的?
- 有道理嗎?全部有道理還是部份有道理?
- 跟我有什麼關係?資訊有何意義?啟發了我什麼?而我又接收了哪些資訊??
- Apr 22 Thu 2010 18:07
2010-04-21 Beginning Android 11~15
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 的注意事項。
- Apr 16 Fri 2010 11:08
2010-04-16 Beginning Android (Chapter 9,10)
Chapter 9
ListView 跟 override getView 時的技巧,像是避免重複配置跟用 holder pattern,相當重要的一章。
然後我發現我之前抄 code 的時候,原來就已經都用到了。
Chapter 10
介紹其他好用又炫的控制項:日期跟時間的 picker、時鐘、Tab...
ViewFlipper 讓我覺得比較陌生,基本上放在 ViewFlipper 裡的 View,可以呼叫 startFlipping() 來順序播放,除了可以設定 FlipInterval 以外,也可以用 setInAnimation/setOutAnimation 來指定要用什麼過場特效。
- Apr 14 Wed 2010 17:57
2010-04-14 Beginning Android Chapter 8
介紹 Adapter,相對於 .Net 的 DataSource,
然後介紹了 Spinner/Dropdown、GridView、AutoCompleteTextView、Gallery。
咦?看起來 GridView 只能往下捲動?
scrollbars 看來可以決定 scrollbar 是 vertical 或是 horizontal 的。
不過,事情看來棘手,GridView 似乎真的是只能往下捲動。
進度緩慢,只看完第八章。
- Apr 13 Tue 2010 17:54
2010-04-13 Beginning Android (6,7) 與 Bionic overview 讀後記
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 不同。
- Apr 12 Mon 2010 15:20
2010-04-12 Beginning Android 1~5
一開始的三章是介紹歷史跟概念,跳過安裝 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,只能設計畫面。
- Apr 08 Thu 2010 18:57
2010-04-08 Exceptional C++
買這本書好幾年了,可我從來沒認真讀過,因為每次才翻開第一章,就覺得好深奧,於是就放棄。
昨天終於認真的開始看了,但卻是從後面記憶體管理那兒開始看。這本書著實不錯,除了提出問題問你以外,也說明答案,告訴你這樣做為什麼不好。但是真的是需要本來就對 C++ 有相當程度了解的人來看,會比較容易看懂。
所以,我的程度還不夠。 (淚奔)
- Apr 06 Tue 2010 00:48
2010-04-05 隨記
又隔了好幾天才記。
有大致翻了一下Google!Android手機應用程式設計入門的前言,裏面有提到第3版跟前幾版的差異,個人認為很重要的一章是講 Unit test 那一章,因為大部分的 Android 書都不會提到這一點,但這一點其實相當重要,能夠讓軟體自動化地測試,是進行大規模重構的基礎建設。
C# in depth 已經快要翻完了,幫我自己加油!
20 世紀少年也在前兩天看完,我應該花了一個月的時間斷斷續續地看完吧,這真是一部相當精彩的漫畫,也難怪會有人想翻拍成電影。看的過程還邊看第一神拳跟其他的書,真是...嘖嘖嘖...
- Mar 28 Sun 2010 04:29
2010-03-28 C# in depth Chapter 11
這一章講 LINQ 與 LINQ to Object,主要是說明 LINQ 會分解成什麼樣的 code。
基本上每個 clause 都會呼叫到對應的 Function,像 select 會對應到 Select、where 會對應到 Where...。後面的 join ... into、group into 會比較不容易理解,可能要多加練習才會比較容易了解。
另外,join 是有陷阱的,如果要效能好,最好讓右邊的集合數量不要太多,因為右邊的集合會放到緩衝區裡。
看到這裡,也快把這本書翻完了,剩下約 1/5。
- Mar 25 Thu 2010 04:16
2010-03-24 記事
親愛的不知道什麼東西:
前兩天翻了物理之美,雖然費曼先生試圖以比較簡單的文字來說明物理,但是對我來說,看起來仍嫌小累,因為我總是需要花時間去理解他以數學表達的東西,截至目前為止,我才看完第一章跟第2章的前半而已,會不會我沒有機會看完這本書?
翻了前言,幸好作者有說明,看起來Google! Android手機應用程式入門第3版跟第1版差異不是非常大,所以我應該針對這些差異去讀就可以了,應該很快就可以讀完。讀完以後,再來想第1版要做何處置好了。只怪我太衝動,看到第1版五折就下手,應該先看看是否有新版的,下次要記住了。
省時工作力這本書很輕薄短小,花不到兩個小時就翻完了,與其說省時工作力,我想書名改為如何不加班或許會更符合書裡的內容,明天再來寫。
- Mar 23 Tue 2010 11:50
Google!Android手機應用程式設計入門