Saturday, May 25, 2013

Game Service串接注意事項(更新中)

文章攢寫時間︰2013/05/25 14:20

1.需要在Android Menifest.xml裡<application>和<activity>中間宣告
 

 
否則會遇到java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information. 的錯誤。

2.在values資料夾要放置ids.xml宣告你的app_id和成就以及排行榜相關的id

3.注意在Google Api Console的使用額度(quota)

Wednesday, May 22, 2013

Google I/O 2013 - Custom View筆記

文章攢寫時間︰2013/05/22 18:40

Google I/O 2013 - Custom View筆記

  1. View的繪製流程可以直接draw(),但也可以先onMeasure()再onLayout()再draw(),onMeasure()和onLayout()一定會是同步發生。
  2. 要客製化做出自已的View,一定是implements ViewGroup。
  3. ViewGroup不僅是一個容器,還是一個管理子View的控件。
  4. 客製View的第1個流程︰requestLayout() - 這個函式告訴系統你現在有一個View需要被計算和繪製。
  5. 把requestLayout()想成是一個草稿,在這個時間點你可以改變你的View大小、可以改變View在hierachy的層級⋯等等。
  6. 呼叫了requestLayout()後,對於整個View的層級影響是很大的,它可以影響到它的父視圖的計算、父父視圖的顯示⋯。
  7. 客製View的第2個流程︰實作onMeasure() - 用這個函式來決定你的View的大小,還有你這個View之後裝的子View的大小。
  8. onMeasure()是一個不斷循環的函式(recursive process)
  9. onMeasure()的責任是要去找出並量出子View的合適大小
  10. 量出View的大小的方法︰MeasureSpec
  11. MeasureSpec的第1種工具︰精確的指定大小(MeasureSpec.EXACTLY)
  12. MeasureSpec的第2種工具︰依子View的大小做判斷給出理想範圍(MeasureSpec.AT_MOST)
  13.  MeasureSpec的第3種工具︰不指定大小(MeasureSpec.UNSPECITIED),最常見的例子就是ScrollView和ListView。
  14. 客製View的第3個流桯︰onLayout() - 將你在onMeasure()裡定義好的大小,去計算所有子View即將存放的螢幕所在位置。
  15. ViewGroup專用的尺寸定義工具︰LayoutParams
  16. 如果沒有指定LayoutParams,如果你用的是FrameLayout,那麼系統會配予match_parent屬性。
  17. Drawing - Android的介面渲染工具。
  18. invalidate(),跟requestLayout()不同的地方在於,如果你的View有動畫、有變形...,可以使用這個函式來請求重繪。
  19. 使用Drawing渲染工具的方式 - 實作函式onDraw()
  20. 如果你的View都會由子View去繪圖,那麼就可以setWillNotDraw(true)讓系統去跳過onDraw()這個流程。
  21. dispatchDraw()被負責繪製子view,包含變形、動畫⋯等等的事件。
以上為聆聽筆記,如有誤煩請回應告知。

Monday, May 20, 2013

R檔不見了

R檔記錄了Android Project裡各種資源的位址,
是很重要的資料。
這份資料是自動產生的,
會存在於gen資料夾底下。

如果發現沒有R檔通常使用[Project]-->[Clean],
R檔都能回來。

如果仍然回不來,
請先確定res目錄底下的所有資源都沒問題了(沒有紅色xx),
再執行一次[Project]-->[Clean]。

R檔才會出現...