1. 程式人生 > >android開發架構總結一——常用的第三方庫

android開發架構總結一——常用的第三方庫

android開發中,一般都會匯入一些第三方庫來實現一些複雜功能,而不用自己重複造輪子,以下是自己在開發過程中,一些常用的第三方庫:

1. 網路請求:

(1)Retrofit2.1.0

compile ‘com.squareup.retrofit2:retrofit:2.1.0’//retrofit主網路
compile ‘com.squareup.retrofit2:adapter-rxjava:2.1.0’//將Call型別轉成Observable
compile ‘com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0’//用於適配retrofit2, 實現CallAdapter.Factory

(2)rxjava2

compile ‘io.reactivex.rxjava2:rxjava:2.0.4’
compile ‘io.reactivex.rxjava2:rxandroid:2.0.1’

1) REST:
compile ‘com.squareup.retrofit2:converter-gson:2.1.0’//gson解析器

2) WebService:
compile(‘com.squareup.retrofit2:converter-simplexml:2.1.0’)//XML解析與封裝,需要把以下三個包排除,否則會有衝突
{
exclude module: ‘stax’
exclude module: ‘stax-api’
exclude module: ‘xpp3’
}

2. 通知資料重新整理、傳送廣播

RxBus(不用導包,直接用Rxjava特性)

3. 檔案選擇器(可自定義是選擇圖片(拍照)、資料夾檔案)

compile ‘com.droidninja:filepicker:1.0.8’

4. 友盟統計

compile ‘com.umeng.analytics:umeng-analytics:5.4.1’

5. 列表載入,上拉重新整理、下拉載入更多、側滑刪除、可自動義側滑刪除按鈕(結合了recyclerview-swipe,自己改造過的xrecyclerview)

compile ‘com.jcodecraeer:xrecyclerview:1.2.6’

6. 圖片載入

compile ‘com.github.bumptech.glide:glide:3.7.0’
圖片的縮放:compile ‘com.commit451:PhotoView:1.2.4’

7. 分包(有bug,需要研究動態載入)

compile ‘com.android.support:multidex:1.0.1’

8. PDF檔案預覽

compile ‘com.joanzapata.pdfview:android-pdfview:[email protected]

9. 選單欄(帶圖示,數字,多樣式)

compile ‘com.flyco.tablayout:FlycoTabLayout_Lib:[email protected]

10. android6.0許可權

compile ‘com.tbruyelle.rxpermissions2:rxpermissions:[email protected]

11. com.android.support

1) 沉浸式狀態列+新增按鈕浮動(下滑不顯示,上滑顯示等,標題欄等)
compile ‘com.android.support:design:25.3.0’
2) 卡片式佈局
compile ‘com.android.support:cardview-v7:25.3.0’
3) appcompat支援對Action Bar介面的設計模式、Material Design介面的實現等,核心類有ActionBar、AppCompatActivity、AppCompatDialog、ShareActionProvider等
compile ‘com.android.support:appcompat-v7:25.3.0’

12. DataBindig實現控制元件繫結與資料更新

dataBinding {
enabled = true
}

13. 時間選擇器(自己封裝的module)

包括DateTimePickerDialog(日期時間選擇)、DatePickerDialog(日期選擇)、TimePickerDialog(時間選擇)
DoubleDatePickerDialog(雙日期時間選擇,開始日期、結束日期)、DoubleTimePickerDialog(雙時間選擇,開始時間、結束時間)

14. 日曆選擇器(自己結合第三方庫CollapseCalendarView封裝成的module)

用於會議日程安排類,可按周、月切換,左右滑動切換上一週、下一週或上一月、下一月,有安排的天數下方顯示小紅點,下方顯示安排列表

15. 應用圖示數字提醒

compile ‘me.leolin:ShortcutBadger:[email protected]

16. 訊息推送(個推)

compile ‘com.getui:sdk:+’

17. retrolambda表示式使用

在project的build.gradle新增:classpath ‘me.tatarka:gradle-retrolambda:3.3.1’
在app的build.gradle頭部新增:apply plugin: ‘me.tatarka.retrolambda’

18. Activity, Fragment生命管理器(一般是和Rxjava結合使用)

compile ‘com.trello.rxlifecycle2:rxlifecycle:2.0.1’
compile ‘com.trello.rxlifecycle2:rxlifecycle-components:2.0.1’

19. commonlibrary(自己提取的基類)

baseadapter: BaseFragmentAdapter, BaseRecyclerViewAdapter, BaseRecyclerViewHolder
baseapp:BaseActivity, BaseFramgent, BaseRecyclerViewActivity, BaseRecyclerViewFragment

20. 記憶體洩漏

1) leakcanary
debugCompile ‘com.squareup.leakcanary:leakcanary-android:1.3’//debug包中注入檢測
releaseCompile ‘com.squareup.leakcanary:leakcanary-android-no-op:1.3’//release包中注入檢測
2) MAT

21. 加快android studio構建速度,快於instant run(但有時會出點問題)

1) 在project的build.gradle的dependencies閉包中新增:
classpath ‘com.antfortune.freeline:gradle:0.8.6’
2) 在app的builde.gradle的頭部新增:
apply plugin: ‘com.antfortune.freeline’

相關推薦

android開發架構總結——常用第三方

android開發中,一般都會匯入一些第三方庫來實現一些複雜功能,而不用自己重複造輪子,以下是自己在開發過程中,一些常用的第三方庫: 1. 網路請求: (1)Retrofit2.1.0 compile ‘com.squareup.retrofit2

Android開發學習總結()——搭建最新版本的Android開發環境

最近由於工作中要負責開發一款Android的App,之前都是做JavaWeb的開發,Android開發雖然有所瞭解,但是一直沒有搭建開發環境去學習,Android的更新速度比較快了,Android1.0是2008年釋出的,截止到目前為止Android已經更新Android

Android開發常用第三方混淆欄位

在Android開發中, 經常使用別人的第三方庫, 開發完成後, 我們需要對apk進行壓縮, 混淆, 這樣別人就很難看懂你的程式碼了, 就算反編譯過來也看不懂(大牛除外). 下面收集一些目前我正在使用的混淆欄位, 我有個專案apk是10M, 壓縮混淆後只有3.4

Android開發技巧之:QQ第三方登入(

使用的是Android_SDK_V2.9.1,建議使用最新版; 官方下載:SDK下載  Android studio 中新增到 然後在點選build.gradle檔案新增 配置AndroidManifest 在應用的Andr

.NET常用第三方(包)總結

序列化與反序列化 JSON.NET 應該是.NET平臺上使用最為廣泛的序列化/反序列化包了,ASP.NET和ASP.NET Core中預設序列化/反序列化包 Jil 官網上說效能優於JSON.NET 文字日誌記錄 NLog Log4Net 以上

Android常用第三方混淆規則集合

# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in D:\android-sdk-windows/too

ios開發常用第三方收集以及整理

1、RESideMenu 實現側邊欄選單 2、AFNetworking 實現網路通訊的第三方庫 3、一個有用的服務網站,提供各種JSON資料,包括天氣、電話號碼、身份證查詢等。。 4、Masony一個用來對VIEW進行佈局的三方庫 5、MBProgressHUD一個

Android開發問題總結

2016.09.08 io.reactivex.exception.UndeliverableException 如上圖所示,在使用okhttp時遇到的問題,原因是logging-inter

H5遊戲開發架構總結() 客戶端

【客戶端】 1.關於遊戲引擎 在15年3月開始準備做h5遊戲的時候,首先遇到的問題就是引擎選型的問題。 當時市面上的2d引擎主要有3個:白鷺egret,layabox和cocos2d-js。 一方面,是因為我以前用cocos2d-x(c++)做了一年多的手遊客戶端,所以,很

iOS專案中常用第三方超全總結

常用第三方 今天就給大家總結一下,我們在專案中用到最多的第三方,免去了大家花時間去搜索,在這裡大家進行了全面的總結. 1. 程式設計框架 2. 載入提示 3. 控制元件佈局 3. 圖片處理 4. 表單驗證 5. 網路檢查 6.圖表展示 7: 時間日曆

Python之常用第三方總結

licensed 需要 str code ron har 完全 bsp python 在使用python進行開發的時候,經常我們需要借助一些第三方庫,進行日常代碼的開發工作.這裏總結一些常用的類庫 1. requests Requests 是用Pyt

Python網路爬蟲中常用第三方總結

#options br.set_handle_equiv(True) #br.set_handle_gzip(True) br.set_handle_redirect(True) br.set_handle_referer(True) br.set_handle_robots(False) #Follows

[Android] 開發第十

const short ext ons button pan oncreate tle xmlns MainActivity.java 代碼如下: package com.oazzz.test9; import android.support.annotation.Nu

部署android開發環境總結

android 開發部署android開發環境總結Ubuntu 14.04.5 LTS \n \landroid-4.0.1_r1 source build/envsetup.shchoosecombo選擇 release, full, eng . 總體過程:sudo apt-get install git

Android系統架構

查詢 核心 手機 例如 ava 模塊 api 操作系統 運行   一、Android系統版本簡介   Android操作系統已占據了手機操作系統的大半壁江山,截至本文寫作時,Android操作系統系統版本及其詳細信息,已發生了變化,具體信息見下表,當然也可以訪問https:

Python常用第三方

encode pan util odi char 1.0 TE japan 圖像 Pillow圖像處理庫 requests 訪問網絡資源 chardet 用於檢測編碼 import chardet print(chardet.detect(b‘Hello,world‘

Android 開發:()安卓開發環境搭建與配置 (Windows和Mac )以及目錄結構介紹

(一)、windows版 一. 開發工具: 1.Android Studio:(http://www.androiddevtools.cn/) 2.Genymotion(虛擬機器):(http://www.genymotion.net/) (二)、Mac版 一

android可以嘗試的25個第三方

Lottie 這是一個動畫庫。通過Adobe After Effects做出動畫效果,然後通過Bodymovin(AE的外掛)匯出JSON資料,然後通過該庫生成原生動畫效果。 Github地址:https://github.com/airbnb/lottie-android 效果圖如下:

提高Android開發效率的款自動findViewById和設定監聽的實用外掛

今天來講一個外掛LayoutCreator,有了這個外掛,無疑,在開發中效率會大大提升... 下載後,重啟AS即可 介紹使用方法: 1.選中Activity所在的佈局右鍵; 選中LyoutCreator 點選後,可以發現,該外掛已經為我們找到控制元件id了(可以

Android開發技巧之:QQ第三方登入(二)

接 android QQ第三方登入(一)  獲取登入使用者名稱資訊,這邊先抱怨一下,官方API有點坑 Constants原始碼類下就是找不到GRAPH_SIMPLE_USER_INFO這個屬性!無語! 根據官方提供返回的的JSONObject資訊解析: