android dev 藍芽 logcat filter 開發用到藍芽的 Android Apps 時,會發現很多來自 BluetoothAdapter 的 log: 06-08 09:18:07.369 13434-7392/hk.gov.ekeo.app.debug D/BluetoothAdapter: stopLeScan() 06-08 09:18:07.373 13434-7392/hk.gov.ekeo.app.debug D/BluetoothAdapter: STATE_ON 06-08 09:18:07.386 13434-7392/hk.gov.ekeo.app.debug D/BluetoothAdapter:
android dev Android 7.0 Locales 中文的處理 若用戶的地區語選擇了香港的話,是會使用 values-zh 的資源的。就算 official document 也是這樣寫的,但在 Android 7.0 (SDK 25)上的實際測試結果卻不是如此。 以往在 TargetSDK=24 時,任何 values-zh-HK、values-zh-TW、values-zh-MO中找不到的話,都會 fallback 去 values-zh。但到 TargetSDK=25 時,卻只會 fallback 去 values, 而不是 values-zh。所以要在 Android 7.0 顯示正體中文(香港)的話,需將文字放在 values-zh-rHK 或 values-zh-rTW 下! 有興趣了解多一點的可看看以下
android dev Parcelable 幫手 在 Android ,要將 object 由 Activities 或 services 之間傳送,必須將其放進 intent 中。除了 primitive types 外,object 必須 implement Parcelable 才能放在 intent。Implement Parcelable,不是難,而是麻煩,例如以下的 Foo Class: public class Foo { private String myString; private int myInt; public Foo() { } } 變成 Parcelable 的話: public class Foo implements Parcelable { private String
android dev Gradle 與不同 buildTypes 若想同時安裝 development 版本和 production 版本到同一的 Android 機上,應如何做? 因為 applicationId 相同,不能同時安裝兩種版本。想用一個 overwrite 另一個,以便保留 setting 嗎?但因為 certificate 不同,Android 規定必須刪掉重裝。打算自己改 application Id 嗎?抱歉,必須連 package 名一起改,天知道會不會做成更多問題啊。 buildTypes 現在有 gradle ,我們可以簡單做到。在 debug buildTypes 加進 applicationIdSuffix 和 versionNameSuffix 便會自動修改 debug build 的 applicationId。 android { ... defaultConfig
android dev Material Design Pattern (7) - TabLayout 使用 TabLayout 的方法很簡單。 在 activity.onCreate(): TabLayout tabLayout = (TabLayout)findViewById(R.id.tab_layout); tabLayout.addTab(tabLayout.newTab(
android dev Quick Note: Toolbar Style 不知為何經常忘記,為免每次要再 search 過,所以 mark down for my own reference: layout/toolbar.xml values/style.xml: