Profile

Cover photo
梁瑋哲
128,305 views
AboutPostsPhotosYouTube

Stream

梁瑋哲

Shared publicly  - 
 
Android 開發(118) FAB material design with viewpager
根據material design 的 best practice 要求如果在每個頁面的icon不同, 必須出現animation的動作如下 這是很合理的行為 但是.... google 的sample 卻沒有教我們怎麼實做這個方法 今天花了一點時間研究了一下該如何實作出這樣的效果(以現有api,而不去使用自幹animation的方法) 其實就是在viewpager 的 onPageSelected的時候 直接call fab.hide() 然後在fab 消失的時(onHidden被call的時候)再將新的圖...
 ·  Translate
根據material design 的 best practice 要求如果在每個頁面的icon不同, 必須出現animation的動作如下 這是很合理的行為 但是.... google 的sample 卻沒有教我們怎麼實做這個方法 今天花了一點時間研究了一下該如何實作出這樣的效果(以現有api,而不去使用自幹animation的方法) 其實就是在viewpager 的 onPageSelected的時候 直接call fab.hide(...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(116) what's new in N - resizeable activity
Android N 在最近這幾天出了preview版,身為一個android 開發人員當然要嘗鮮一下 今天要介紹的是 resizeableActivity 大家先看一下圖 簡單的說就是可以在一個頁面下開兩個activity ,你只需要長按就可以將有支援的activity 放在另一個視窗 今天就要來說明我們該如何實作 首先你必須將 gradle 升級到N 外加N的模擬器or 手機 接著你必須將gradle的設定先升到N preview的版本 注意 compilesdk, buildTool, minsdk, t...
 ·  Translate
Android N 在最近這幾天出了preview版,身為一個android 開發人員當然要嘗鮮一下 今天要介紹的是 resizeableActivity 大家先看一下圖 簡單的說就是可以在一個頁面下開兩個activity ,你只需要長按就可以將有支援的activity 放在另一個視窗 今天就要來說明我們該如何實作 首先你必須將 gradle 升級到N 外加N的模擬器or 手機<br /> 接著你必須將gradle的設定先升到N preview...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發 (114) retrofit with rxjava = callback hell?
最近有機會研究了一下retrofit + rxjava ,使用起來真的很方便 不過實際套用到project裡之後,發現了一些可怕的東西 首先我們先看一下下面這段code 我在某個頁面必須發送兩個api,而第二隻api 必須根據前一隻api的結果從相對應的動作, 這樣看起來似乎還好,還算看得懂,雖然中間的if else 有點看不出來是哪隻api的 但是當有三隻四隻五隻互相相依的api那會變怎樣? 上面的程式碼還沒有加上if else 還有一些邏輯.... 我相信大部分的人看到這樣的程式碼加上一堆if else ...
 ·  Translate
最近有機會研究了一下retrofit + rxjava ,使用起來真的很方便 不過實際套用到project裡之後,發現了一些可怕的東西 首先我們先看一下下面這段code 我在某個頁面必須發送兩個api,而第二隻api 必須根據前一隻api的結果從相對應的動作, 這樣看起來似乎還好,還算看得懂,雖然中間的if else 有點看不出來是哪隻api的 但是當有三隻四隻五隻互相相依的api那會變怎樣? 上面的程式碼還沒有加上if else 還有一些...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發 (112) Cloud Test Lab
相信有在做測試的大家常常會遇到一個問題,測試跑在自己的機台上,好花時間而且我的機台又不夠多,更不用說android 4.4 5.0 6.0 版本的問題了 現在google 提供了一個solution,你只需要上傳你的測試apk 點選你想要的device 和version,然後按下測試,接著去泡杯咖啡,之後report就會自動產生出來囉!! 先看一下該如何設定 首先必須先將 android studio 升級到1.3+以上 接著前往test case 設定的地方,點選Target 到 Cloud Test La...
 ·  Translate
相信有在做測試的大家常常會遇到一個問題,測試跑在自己的機台上,好花時間而且我的機台又不夠多,更不用說android 4.4 5.0 6.0 版本的問題了 現在google 提供了一個solution,你只需要上傳你的測試apk 點選你想要的device 和version,然後按下測試,接著去泡杯咖啡,之後report就會自動產生出來囉!! 先看一下該如何設定 首先必須先將 android studio 升級到1.3+以上 ...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(一百零九) Robotium 開發
最近在研究自動測試相關的工具,恰巧看到了一個不錯的工具 Robotium http://robotium.com/products/robotium-recorder 他的目標就是... 我們不需要會寫test case 我們只需要知道怎麼錄test case 就可以了 錄完之後test case 自動就會幫你產生code,多麼的方便啊!! 下面來看一下實際運作方式 (由於牽涉公司的程式碼,所以不能夠給大家看到class name部份) 可以看到隨著操作就可以產生步驟,之後按下save就自動生成code了 真...
 ·  Translate
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發 (一百零八) MVP 概念
前陣子聽了幾個高手的影片,讓我又重新開始看MVP這個程式架構, 然後這個禮拜花了點時間將這個功能實作了一下, 先說明一下MVP MVP 就是 model - View - Presenter 通常的架構分法會是,將api 的資料分成一個class 然後presenter負責邏輯 而view 就是負責ui 的呈現 舉個簡單的例子 當點擊加入購物車的時候,會發送一個api request ,然後這時候ui 會呈現一個progressing 的樣式,當api request 回來並且是加入成功的狀態,則將按鈕狀態改...
 ·  Translate
前陣子聽了幾個高手的影片,讓我又重新開始看MVP這個程式架構, 然後這個禮拜花了點時間將這個功能實作了一下, 先說明一下MVP MVP 就是 model - View - Presenter 通常的架構分法會是,將api 的資料分成一個class 然後presenter負責邏輯 而view 就是負責ui 的呈現 舉個簡單的例子 當點擊加入購物車的時候,會發送一個api request ,然後這時候ui 會呈現一個progressing 的樣式,當...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
retrofit 是個非常方便開發的library,利用它我們可以快速開發,而且快速測試,但是該怎麼做? 今天就要來稍微說明一下,2015 Android Dev Summit提到的做法. 在說明如何測試之前,必須先說明一下gradle flavor,如果不知道gradle flavor的可以參考一下之前的文章 Gradle Flavor ,flavor 的好處是,假設今天我們有兩種flavor, normalMode & mockMode,當我...
2
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(117) what's new in N - java8 - Default and static interface methods
Android N 支援了java8部份的語法,今天要介紹的是 Default and static interface methods, 熟悉interface的大家應該都知道interface 只能定義"行為"不像是abstract class 除了定義行為之外還可以實作相關的內容,舉個最簡單的例子 這是我們熟悉的interface 只能定義"行為" 這是我們熟悉的abstract class 可以定義相關實作內容 不過這件事情在java8出現了改變 在java8 你可以針對interface 定義預設的...
 ·  Translate
Android N 支援了java8部份的語法,今天要介紹的是 Default and static interface methods, 熟悉interface的大家應該都知道interface 只能定義"行為"不像是abstract class 除了定義行為之外還可以實作相關的內容,舉個最簡單的例子 這是我們熟悉的interface 只能定義"行為" 這是我們熟悉的abstract class 可以定義相關實作內容 不過這件事情在java...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(115) new Design lib bottomSheet
最新發佈的support library 23.2.0 多了一個新的ui bottomSheet 算是一種蓋半頁的ui,常常可以在電商的app裡看到類似的用法 以前要做這種ui真的是要自己想辦法處理,現在google提供了新的方案 讓我們可以輕鬆做到這個功能 接下來讓我們看看這個lib 實際運作的樣子 要怎麼做到? 方法其實很簡單 只要在想要使用bottomsheet的 layout 上面加上 app:layout_behavior="android.support.design.widget.BottomS...
 ·  Translate
最新發佈的support library 23.2.0 多了一個新的ui bottomSheet 算是一種蓋半頁的ui,常常可以在電商的app裡看到類似的用法 以前要做這種ui真的是要自己想辦法處理,現在google提供了新的方案 讓我們可以輕鬆做到這個功能 接下來讓我們看看這個lib 實際運作的樣子 要怎麼做到? 方法其實很簡單 只要在想要使用bottomsheet的 layout 上面加上 app:layout_behavior="an...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發 (113) Best Practices for Unique Identifiers
最近在逛android developer的時候,無意間發現了這個頁面 http://developer.android.com/intl/zh-tw/training/articles/user-data-ids.html 裡面說明了各種用來辨識user的情境,以及可以用什麼資料來判斷才是正確的解法, 舉例來說,以前我們總是利用 //Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA...
 ·  Translate
最近在逛android developer的時候,無意間發現了這個頁面 http://developer.android.com/intl/zh-tw/training/articles/user-data-ids.html 裡面說明了各種用來辨識user的情境,以及可以用什麼資料來判斷才是正確的解法, 舉例來說,以前我們總是利用 //Returns the unique device ID, for example, the IMEI for ...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(110) dagger 實作概念
最近由於在研究架構方面的程式,所以又把dagger 的code拿出來讀了一遍, 今天就稍微解釋一下dagger幫我們省略掉的那些步驟吧! 首先,用過dagger的人都會看到類似這樣的code getComponent().inject(this) 然後上方的 mainpresent就莫名的創建好了,所以立刻拿來用. 這麼神奇的code到底是怎麼做到的? 其實看完他的程式碼之後就會發現,他其實使用了ioc的原理, 將MainActivity 塞到 創建出來的code之後直接access field 從code ...
 ·  Translate
1
York Wu's profile photo
York Wu
 
過來人的經驗是... 如果舊專案是一個人開發可以衝, 多人開發的話請三思...
 ·  Translate
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android Studio hotkey 筆記
.settext -> .setColor 可以用tab不要用enter
Bitmap b = null;
想要看更多可能的提示 control + shift + space 可能可以看到更多有用的提示

alt + 上 or 下 可以協助選取


alt + enter 可以將constructor直接建立field 並且sign

也可以直接將instanceof 直接轉型

fori => live template

list.fori => for(int i = 0; i< list...
 ·  Translate
.settext -> .setColor 可以用tab不要用enter Bitmap b = null; 想要看更多可能的提示 control + shift + space 可能可以看到更多有用的提示 alt + 上 or 下 可以協助選取 alt + enter 可以將constructor直接建立field 並且sign 也可以直接將instanceof 直接轉型 fori => live template list.fori => fo...
1
1
Add a comment...
People
Apps with Google+ Sign-in
  • Ultimate Briefcase
  • Apensar
  • Beneath The Lighthouse
  • Dr. Parking 4
  • Lonely One : Hole in One
  • MOBIUS FINAL FANTASY
  • City 2048
  • Tap Tap Dash
  • Defense of Fortune 2
  • Tentacle Wars
  • OPUS: The Day We Found Earth
  • Sudden Bonus
  • GOLFINITY
  • Only One
  • Clash of Clans
  • Rust Bucket
Basic Information
Gender
Male
Links
YouTube
Contributor to