Android android-common 經常使用功能和工具集合

本文內容

  • 環境
  • android-common 項目結構
  • 演示 android-common
  • 參考資料

android-common 主要包括以下內容:html

  • 緩存,包括圖片緩存、預取緩存、網絡緩存。
  • 公共 View,即功能封裝好的部件,包括下拉得到最新和上拉加載更多 ListView、底部加載更多 ScrollView、滑動一頁 Gallery 等等。
  • 經常使用工具類,包括網絡、下載、資源操做、Shell、文件讀寫、Json、序列化/反序列化、隨機數、集合(Array、List、Map)、APK 包等等。

該演示能夠說是常見效果的集合,估計做者攢了很久,但做者將各個依賴的項目放獲得處都是,還要現找再引用才行。android-common 演示項目缺了三個項目的引用,真不知道他是無意,還有意。爲何不將完整的解決方案,放到 github 上。android

另外,做者還在 Demo 裏實現了一個廣告~shit~git

注意:全部項目中的 android-support-v4.jar 包版本要一致。github

下載 Demo

環境


  • Windows 2008 R2 64 位
  • Eclipse ADT V22.6.2,Android 4.4.2(API 19)
  • SAMSUNG GT-8618,Android OS 4.1.2

android-common 項目結構


下載 Demo 後,壓縮包包含以下文件夾。算法

1

圖 1 壓縮包內容數組

將這四個目錄 import 到 eclipse 中,會是五個項目,以下圖所示:緩存

    2-12-22-3

    圖 2 項目結構微信

    • android-auto-scroll-view-pager 是 auto-scroll-view-pager 項目。
    • library 和 ListSamples 是,ViewPagerIndicator 項目。
    • trinea-andorid-common 和 trinea-android-demo,是 android-common 庫及其演示項目。

    4

    圖 3 主程序,顯示全部演示的內容網絡

    演示 android-common


    緩存類

    • 主要特性
    1. 獲取及預取新圖片 ,包含二級緩存。
    2. 可選擇多種緩存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13種)或自定義緩存算法。
    3. 可方便的保存及初始化恢復數據。
    4. 省流量性能佳,僅有一個線程獲取圖片。
    5. 支持 HTTP 請求、header 設置及不一樣類型網絡處理。
    6. 根據系統配置初始化緩存。
    7. 支持等待隊列。
    8. 包含map的大多數接口。
    • 圖片緩存。適用獲取圖片較多,且圖片使用頻繁的應用,包含二級緩存,如新浪微博、twitter、微信頭像、美麗說、蘑菇街、花瓣、淘寶等等。

    6-0

    圖 4 圖片緩存dom

    • 圖片 SD 卡緩存。適用獲取圖片較多,且較大的狀況。而須要二級緩存及 ListView 或 GridView 圖片加載推薦使用上面的「圖片緩存」。

    5-0

    圖 5 圖片 SD 卡緩存

    • 網絡緩存。適用網絡獲取內容不大的應用,尤爲是 API 接口數據,如新浪微博、twitter 的 timeline、微信公衆帳號發送的內容等等。

    7-0

    圖 6 網絡緩存

    公用 View

    功能封裝好的部件。

    • 「下拉得到最新及上拉加載更多」 ListView

    8-0

    圖 7 「下拉得到最新及上拉加載更多」 ListView

    • 滑動(或項)的圖片庫

    9-0

    圖 8 滑動(或項)的圖片庫

    • 滑動到頂部或底部時響應的 ScrollView

    10-0

    圖 9 滑動到頂部或底部時響應的 ScrollView

    • ViewPager Multi Fragment

    13-0

    圖 10

    • ViewPager Demo

    14-0

    圖 11 ViewPager 演示

    工具類

    目前,包括 HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。

    • 下載管理 DownloadManager

    11-0

    圖 12 下載管理

    以及 Android root 權限及 APK root 靜默安裝、圖片工具類(Drawable、Bitmap、byte 數組相互轉換;根據 url 得到 InputStream、Drawable、Bitmap)等。

     

    參考資料


     

    下載 Demo

    相關文章
    相關標籤/搜索