Profile

Cover photo
梁瑋哲
112,337 views
AboutPostsPhotosYouTube

Stream

梁瑋哲

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 開發 (一百零八) 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 開發(一百零四) what's new in andorid studio 1.4 preview
先看一下下面這張圖 這代表什麼? 代表或許在android studio 1.4 正式release 之後,或許就可以支援 使用vector 產生圖檔了!! 有興趣的人可以先去下載新版的android studio 1.4 beta 然後將build.gradle的 gradle版本改成1.4.0-beta1 buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.an...
 ·  Translate
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(一百零二) 利用annotation 處理 enum
在java 中我們常常會使用enum處理多種type,不過android 官方說這種寫法是非常expensive (可能是效率或memory其實我沒有多做研究)所以官方推薦我們利用另外一種寫法,使用annotation來處理 先讓我們看一下下面的程式碼 public class MyMode {     @IntDef({SUCCESS, NETWORK_FAIL, DATA_ERROR})     @Retention(RetentionPolicy.SOURCE)     public @interfac...
 ·  Translate
在java 中我們常常會使用enum處理多種type,不過android 官方說這種寫法是非常expensive (可能是效率或memory其實我沒有多做研究)所以官方推薦我們利用另外一種寫法,使用annotation來處理 先讓我們看一下下面的程式碼 public class MyMode {     @IntDef({SUCCESS, NETWORK_FAIL, DATA_ERROR})     @Retention(RetentionPol...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發 (一百) What's New in M Permission
在M的版本關於permission做了一個很大幅度的修改,原本的permission在下載時會出現如下方的提示 使用者看到這個提示一定會問的問題是,為什麼需要那麼多權限,你是不是拿了這些權限去做了其他奇怪的事情? 這對app的下載造成了一定的阻礙 還有另一個問題就是,假設新版本比舊版本多了一個權限那麼app就無法自動更新下載,必須使用者確認才有辦法更新app 舉個例子來說 我新增了一個很強大的功能,而且我也如期完成了這個功能,我們行銷打算開始跑新功能的活動,由於我新增了一個權限造成這個版本的普及率要多一個月甚...
 ·  Translate
在M的版本關於permission做了一個很大幅度的修改,原本的permission在下載時會出現如下方的提示 使用者看到這個提示一定會問的問題是,為什麼需要那麼多權限,你是不是拿了這些權限去做了其他奇怪的事情? 這對app的下載造成了一定的阻礙 還有另一個問題就是,假設新版本比舊版本多了一個權限那麼app就無法自動更新下載,必須使用者確認才有辦法更新app 舉個例子來說 我新增了一個很強大的功能,而且我也如期完成了這個功能,我們行銷打算開始跑...
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 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
arvin z's profile photo
Add a comment...

梁瑋哲

Shared publicly  - 
 
由於最近有點空閒,所以花了點時間看了一下retrofit & rxjava 搭配起來可以做到什麼成果 在講解之前,不知道大家有沒有一樣的經驗,在寫project時,api的code總是跟UI code綁在一起,造成程式邏輯上很複雜,舉個例子來說,例如 https://api.github.com/repos/square/retrofit/contributors 這隻api ,我希望針對回來的json,filter 出login field為J...
2
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(一百零三) dex-method-counts
今天要講的是app 的method counts 為什麼我們要注意method counts? 因為android 有65536的method count的限制 如果app的method數超過了65536就會無法build成功, 所以為了提早發現提早治療,所以我們必須常常觀察method數是否超出預期 從前並沒有方便的工具去觀察method數,不過最近觀察到github上有人提供了簡單的檢驗方式 https://github.com/mihaip/dex-method-counts 小弟依照了上面的方式稍微檢...
 ·  Translate
今天要講的是app 的method counts 為什麼我們要注意method counts? 因為android 有65536的method count的限制 如果app的method數超過了65536就會無法build成功, 所以為了提早發現提早治療,所以我們必須常常觀察method數是否超出預期 從前並沒有方便的工具去觀察method數,不過最近觀察到github上有人提供了簡單的檢驗方式 https://github.com/mihaip...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發(一百零一) google play Service Invite friend Api
google play service 在新版本推出了invite friend api ,讓你可以邀請google 上的朋友, 做法其實很簡單,         Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))                 .setMessage(getString(R.string.invitation_message))                ...
 ·  Translate
google play service 在新版本推出了invite friend api ,讓你可以邀請google 上的朋友, 做法其實很簡單,         Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))                 .setMessage(getString(R.string.invi...
1
Add a comment...

梁瑋哲

Shared publicly  - 
 
Android 開發 (九十八) android studio 1.13 databinding part2
上一篇有提到,databinding的介紹,今天這篇要介紹的是, 假設model變更時,要如何讓view也跟著改變呢? 其實方法很簡單,android 有提供新的class BaseObservable 如下圖 public class User extends BaseObservable { private String firstName ; private String lastName ; @Bindable public String getFirstName () { return firstN...
 ·  Translate
上一篇有提到,databinding的介紹,今天這篇要介紹的是, 假設model變更時,要如何讓view也跟著改變呢? 其實方法很簡單,android 有提供新的class BaseObservable 如下圖 public class User extends BaseObservable { private String firstName; private String lastName; @Bindable public String ...
1
Add a comment...
People
Apps with Google+ Sign-in
  • Dragon Hills
  • Ultimate Briefcase
  • Pocket Mine 2
  • Tiny Survivor
  • Jungle Jump
  • 킥 히어로
  • Lonely One : Hole in One
  • Tap Tap Dash
  • Defense of Fortune 2
  • Tentacle Wars
  • OPUS: The Day We Found Earth
  • Kill Shot
  • Sudden Bonus
  • GOLFINITY
  • Super Muzzle Flash
  • 鬥陣護主公
  • Tiki Taka Soccer
  • Rust Bucket
  • Clash of Clans
  • Dr. Parking 4
  • Brain Dots
Basic Information
Gender
Male
Links
YouTube
Contributor to