原创 Android自定義View--垂直ViewPager加跑馬燈

背景 不多說,直接看此圖。 關鍵技術 ViewPager有個setPageTransformer方法可以設置頁面切換時的動畫: public void setPageTransformer(boolean reverse

原创 Activity切換動畫效果

背景 參考網易新聞,打開新頁面時,是從右側切換過來,關閉時是切換回右側。網上有很多方法,但是使用後都感覺不滿意,決定自己寫一個。 打開新Activity 其中的activity_open_in是新打開的Activity的進入

原创 Java基礎--Android中泛型的應用(二)

背景 感謝並參考[怪盜kidou]的《搞定Gson泛型封裝》 。 上一篇《 Java基礎–Android中泛型的應用(一)》介紹了泛型在Android開發中解析服務端回來json數據的使用,減少了許多冗餘代碼,但我們仍然不知道

原创 Android 相機或相冊選擇圖片裁剪

背景 這是一個我們經常使用的功能,比如上傳頭像、身份證,本功能可選擇相機或相冊圖片後,進入裁剪頁面,並可返回Bitmap格式的圖片。 工具類SelectPicUtil public class SelectPicUtil {

原创 Android開發中需要注意的坑

背景 此文純粹總結開發Android以來遇到的一些坑,一來爲了防止再次掉坑,二來是希望後面的朋友能躲開這些坑。另外還編寫了《 Android開發中常犯的錯誤》。 包名重複問題 由於Google Palyer沒有在中國登陸,中

原创 Android本地存儲目錄研究

背景 所有Android設備都有兩個文件存儲區域:內部存儲和外部存儲 儘管app默認安裝在內部存儲中,但可以在manifest文件中指定 android:installLocation 的屬性,這樣app便可安裝在在外部存儲中。

原创 Android自定義View--加載動畫

背景 一直覺得Android系統自帶的加載動畫過於簡單,看久了容易產生視覺疲勞,所以有時候有必要定義一些有趣的動畫;也因爲平時我們開發時多集中在業務與性能上的處理,對動畫這一塊使用得比較少;下面就來介紹一個加載動畫代碼的編寫。最

原创 Android Drawable--Shape

背景 繼上一篇《Android Drawable Resources》,這裏來分析shape的使用,值得注意的是此shape可以作爲之前各Drawable裏item的元素,所以可以讓Drawable Resources更加多變。

原创 Java基礎--Android中泛型的應用(一)

背景 之前我們知道泛型在Java中意味着什麼特性,但貌似在項目中很少應用到它,如果應用恰當,能夠減少許多冗餘的代碼,也能讓你的代碼變得更加安全。下面會通過解析服務端返回來的json格式數據來講解它的作用。 再次科普 泛型可以

原创 代碼管理--Git提交代碼免輸入密碼

背景: 最近使用了BitBucket作爲遠程倉庫管理代碼,因每次push代碼的時候都需要輸入賬號密碼,它們提供了SSH協議使push代碼不需要再輸入賬號密碼。 如何使用: Mac只需要在~/.ssh生成私鑰和公鑰,然後將你的公鑰上傳到B

原创 Android Drawable--總覽

背景 App很多頁面都要顯示一些圖標,我們也經常使用@drawable直接引用圖標,但是Android提供更多對drawable進行定義的方式,讓顯示更加多樣化,下面將一一對這些技術進行介紹。 總覽 繪圖資源(Drawa

原创 使用Intent傳遞對象的好處

背景 在某些情況下,我們需要使用到Intent去傳遞一個自定義對象,這樣能夠減少許多不必要的代碼。查閱一下,傳遞的對象類需要實現Serializable接口或Parcelable接口,下面我們來介紹一下如何選擇,及如何傳遞。 S

原创 Android 無線調試設備

背景 我們都知道使用USB線連接手機是非常麻煩的事情,經常要拔插拔插,對硬件接口也是有損傷的,以下介紹兩種在同一局域網下調試設備的方法,其實原理都是一樣的,只是第二種方法會比較方便。 通過adb命令連接 手機要聯到電腦同一局域

原创 Android自定義View--定義屬性

背景 很多時候,我們的App裏面存在一些重複使用的佈局,每次都需要使用大量xml代碼去佈局,特別是遇到要整體修改的時候,那就得一個一個去修改,即使使用了通用的style,也會有大量要修改的情況。比如以下佈局: 以上佈局的每一

原创 真正解決App啓動時白屏/黑屏

背景 過去點擊App圖標時,App啓動時總會出現短暫的白屏/黑屏,這是一個非常不好的體驗,下來我們就一起來解決這個問題。 爲什麼 在點擊App圖標後,系統會首先加載AndroidManifest.xml裏Activity所