Time of Update: 2017-02-27
如果需要注入某個參數化型別,比如List<String>:class Example { @Inject void setList(List<String> list) { ... } }可以使用TypeLiteral 來建立這個綁定。TypeLiteral 為一特殊類型 可以用於表示參數化型別。@Override public void configure() { bind(new TypeLiteral<List&
Time of Update: 2017-02-27
記得我之前參與開發過一個華為的項目,要求程式可以支援好幾種終端裝置,其中就包括Android手機和 Android Pad。然後為了節省人力,公司無節操地讓Android手機和Android Pad都由我們團隊開發。當時項目 組定的方案是,製作兩個版本的App,一個手機版,一個Pad版。由於當時手機版的主體功能已經做的差不多
Time of Update: 2017-02-27
記得在前面的文章中,我帶大家一起從源碼的角度分析了Android中View的事件分發機制,相信閱讀過的 朋友對View的事件分發已經有比較深刻的理解了。還未閱讀過的朋友,請先參考 Android事件分發機 制完全解析,帶你從源碼的角度徹底理解(上) 。那麼今天我們將繼續上次未完成的話題,從源碼的 角度分析ViewGruop的事件分發。首先我們來探討一下,什麼是ViewGroup?它和普通的View有什麼區
Time of Update: 2017-02-27
其實我一直準備寫一篇關於Android事件分發機制的文章,從我的第一篇部落格開始,就零零散散在好多地 方使用到了Android事件分發的知識。也有好多朋友問過我各種問題,比如:onTouch和onTouchEvent有什麼 區別,又該如何使用?為什麼給ListView引入了一個滑動菜單的功能,ListView就不能滾動了?為什麼圖片 輪播器裡的圖片使用Button而不用ImageView?等等……對於這些問題,我並沒有給出非常詳細的回答,因為
Time of Update: 2017-02-27
首先題外話,今天早上起床的時候,手滑一下把My Phone甩了出去,結果陪伴我兩年半的摩托羅拉裡程碑 一代就這麼安息了,於是我今天決定怒更一記,紀念我死去的愛機。如果你是網購達人,你的手機上 一定少不了淘寶用戶端。關注特效的人一定都會發現,淘寶不管是網站還是手機用戶端,首頁上都會有一個 圖片滾動播放器,上面展示一些它推薦的商品。這個幾乎可以用淘寶來冠名的功能,看起來還是挺炫的,我 們今天就來實現一下。實現原理其實還是之前那篇文章Android滑動菜單特效實現,仿人人用戶端側
Time of Update: 2017-02-27
Android下面使用命令列截圖。因為工作調試用的機器,沒法串連USB,所以用不了一般的截圖方法,後來查了一下,Android4.0以後都內建了截圖命令。可以使用下面命令截取螢幕。screencap /mnt/card/test.png這是我在linux
Time of Update: 2017-02-27
人人用戶端有一個特效還是挺迷人的,在主介面手指向右滑動,就可以將菜單展示出來,而主介面會被 隱藏大部分,但是仍有左側的一小部分同菜單一起展示。據說人人用戶端的這個特效是從facebook客 戶端模仿來的,至於facebook是不是又從其它地方模仿來的就不得而知了。好,今天我們就一起來實現這個 效果,總之我第一次看到這個特效是在人人用戶端看到的,我也就主觀性地認為我是在模仿人人用戶端的特 效了。雖然現在網上類似這種效果的實現也非常多,可是我發現實現方案大都非常複雜,並不容易理
Time of Update: 2017-02-27
之前我向大家介紹了史上最簡單的滑動菜單的實現方式,相信大家都還記得。如果忘記了其中的實現原理 或者還沒看過的朋友,請先去看一遍之前的文章 Android滑動菜單特效實現,仿人人用戶端側滑效果,史上 最簡單的側滑實現 ,因為我們今天要實現的滑動菜單架構也是基於同樣的原理的。之前的文章中在 最後也提到了,如果是你的應用程式中有很多個Activity都需要加入滑動菜單的功能,那麼每個Activity都 要寫上百行的代碼才能實現效果,再簡單的滑動菜單實現方案也沒用。因此我們今天要實現一個滑動菜單的
Time of Update: 2017-02-27
本篇文章主要內容來自於Android Doc,我翻譯之後又做了些加工,英文好的朋友也可以直接去讀原文。http://developer.android.com/training/displaying-bitmaps/index.html高效載入大圖片 我們在編寫Android程式的時候經常要用到許多圖片,不同圖片總是會有不同的形狀、不同的大小,但 在大多數情況下,這些圖片都會大於我們程式所需要的大小。比如說系統圖片庫裡展示的圖片大都是用手機
Time of Update: 2017-02-27
最近項目中需要用到ListView下拉重新整理的功能,一開始想圖省事,在網上直接找一個現成的,可是嘗試了 網上多個版本的下拉重新整理之後發現效果都不怎麼理想。有些是因為功能不完整或有Bug,有些是因為使用起來 太複雜,十全十美的還真沒找到。因此我也是放棄了在網上找現成代碼的想法,自己花功夫編寫了一種非常 簡單的下拉重新整理實現方案,現在拿出來和大家分享一下。相信在閱讀完本篇文章之後,大家都可以在自己的
Time of Update: 2017-02-27
照片牆這種功能現在應該算是挺常見了,在很多應用中你都可以經常看到照片牆的身影。它的設計思路其 實也非常簡單,用一個GridView控制項當作“牆”,然後隨著GridView的滾動將一張張照片貼在“牆”上,這 些照片可以是手機本地中儲存的,也可以是從網上下載的。製作類似於這種的功能的應用,有一個非常重要 的問題需要考慮,就是圖片資源何時應該釋放。因為隨著GridView的滾動,載入的圖片可能會越來越多,如
Time of Update: 2017-02-27
最近二維碼真是越來越火了,隨便電視上、網路上、商場裡,到處都是二維碼。而內嵌二維碼掃描功能的 軟體也越來越多,QQ、微信、UC瀏覽器等等應用都可以對著二維碼掃一掃,感覺我們自己的應用裡不加上二 維碼掃描功能,都跟不上時代潮流了。所以今天我就將帶著大家一起,在我們自己的程式裡加入二維碼掃描 的功能。不過,二維碼功能如果真要做起來還是非常複雜的,從零開始實現不太現實,比較好的做法 就是藉助現有的開源項目。目前在二維碼這一領網域名稱氣最大的開源項目就是ZXing了(Zebra
Time of Update: 2017-02-27
在上一篇文章中我帶著大家一起實現了Android瀑布流照片牆的效果,雖然這種效果很炫很酷,但其實還 只能算是一個半成品,因為照片牆中所有的圖片都是只能看不能點的。因此本篇文章中,我們就來對這一功 能進行完善,加入點擊圖片就能瀏覽大圖的功能,並且在瀏覽大圖的時候還可以通過多點觸控的方式對圖片 進行縮放。如果你還沒有看過 Android瀑布流照片牆實現,體驗不規則排列的美感 這篇文章,請盡 量先去閱讀完再來看本篇文章,因為這次的代碼完全是在上次的基礎上進行開發的。那我們現在就開
Time of Update: 2017-02-27
Android給每個APK進程分配一個單獨的使用者空間,其manifest中的userid就是對應一個Linux使用者(Android 系統是基於Linux)的.所以不同APK(使用者)間互相訪問資料預設是禁止的.但是它也提供了2種APK間共 享資料的形式:1. Share Preference. / Content ProviderAPK可以指定介面和資料給任何其他 APK讀取. 需要自己實現介面和Share的資料.2. Shared User id通過Shared User
Time of Update: 2017-02-27
要做一個優秀的Android應用,使用到網路通訊技術是必不可少的,很難想象一款沒有網路互動的軟體最 終能發展得多成功。那麼我們來看一下,一般Android應用程式裡都是怎麼實現網路互動的,這裡拿一個 Boook對象為例:如上圖所示,首先在手機端產生一 個Book對象,裡麵包含書名、作者、價格等資料。為了要將這些資料發送到伺服器端,我們要從Book對象中 把資料取出,然後組裝成XML格式的字串。接著通過網路API,把組裝好的XML字串發送到伺服器端。服務
Time of Update: 2017-02-27
我們都知道,Android上的介面展示都是通過Activity實現的,Activity實在是太常用了,我相信大家都 已經非常熟悉了,這裡就不再贅述。但是Activity也有它的局限性,同樣的介面在手機上顯示可能很 好看,在平板上就未必了,因為平板的螢幕非常大,手機的介面放在平板上可能會有過分被拉長、控制項間距 過大等情況。這個時候更好的體驗效果是在Activity中嵌入"小Activity",然後每個"小
Time of Update: 2017-02-27
上周Google版Galaxy S4(GT-I9505)的Android 4.3 Jelly Bean刷機包流出,也讓我們初步瞭解了Android 4.3的一些新特性。那麼,Android 4.3究竟更新了什嗎?下面是我們已經發現的Android 4.3新特性。相機從技術上講,這個相機應用UI變化不大,少許變化主要體現在設定欄上,從以前的圓形設定欄變成半圓設定欄,可惜的是,該相機應用在功能上還是不及HTC
Time of Update: 2017-02-27
新的系統保留了原來Jelly Bean 名字,整體使用者體驗並沒有太大的改動,不過一些新的功能還是值得大家關注的。Google Now 更新在新的Google Now 中,它可以索引你郵件裡關於機票、訂餐、酒店、包裹、入場券等資訊,在合適的時間提醒你。不過這些功能需要使用者授權,如果你有所擔心,那麼這些新的功能對你來說就沒有任何意義了。同時Google Now也增加了電影、音樂會、股票以及新聞的顯示。鍵盤手勢輸入功能如果你使用過Swype IME又或者看過SwiftKey Flow
Time of Update: 2017-02-27
Android應用程式訪問android的根檔案系統中的檔案時,由於應用程式的權 限限制,無法訪問這些檔案,怎麼辦?這時就要用到NDK編程了,既用 C/C++代碼實現訪問系統檔案,並將其產生本地庫,供android中的java代碼調用 ,這樣就可以在java代碼中通過調用C/C++編寫的庫的介面來實現對系統檔案的 訪問。為何要用到NDK?概括來說主要分為以下幾種情況:1. 代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯 難度較大。2. 在NDK中調用第三方C/C++庫,
Time of Update: 2017-02-27
Android的SDK工具包中,有很多十分有用的工具,可以協助程式員開發與測試Android應用程式,大大提高其工作效率。其中的一款叫Hierachy Viewer的可視化調試工具,可以很方便地協助開發人員分析,設計,調試和調整UI介面,提高開發效率。本文將以一個實際例子講解如何使用該款工具運用在Android的開發過程中。1 設計介面在我們的這個例子中,有三個不同的介面,以方便我們示範使用Hierarchy Viewer。每一個介面都使用了LinearLayout和FrameLayout布局,