組件化common功能介紹
一. base 主要是封裝activity、view、fragment、presenter 基類
1.BaseActivity
getPresenter() 獲取Presenter對象
getLayoutId();統一初始化
initView();初始化view
initLoad(); 加載數據
setListener(); 設置監聽事件
setCreateView(); 統一管理fragment
initImmersionBar();初始化沉浸式狀態欄
isImmersionBarEnabled();是否開啓沉浸式狀態欄
showLoadingDialog();顯示加載的動畫
closeLoadingDialog()關閉加載的動畫
2.BaseFragment
getPresenter() 獲取Presenter對象
getLayoutId();統一初始化
initView();初始化view
initLoad(); 加載數據
setListener(); 設置監聽事件
setCreateView(); 統一管理fragment
initImmersionBar();初始化沉浸式狀態欄
isImmersionBarEnabled();是否開啓沉浸式狀態欄
showLoadingDialog();顯示加載的動畫
closeLoadingDialog()關閉加載的動畫
3.BaseView
showProgressDialog();顯示動畫
void dimissProgressDialog();隱藏動畫
errorMessage(String msg)錯誤碼信息
4.BasePresenter
attachView(T t); 綁定View
detachView();銷燬View
二.imageloader 主要是有關圖片框架的封裝 以及對圖片的處理(Glide4.0版本以上)
1. ImageLoaderManager
loadImage(); 加載圖片,分爲默認加載、帶有佔位圖以及錯誤圖片加載
loadFileImage();加載文件圖片,分爲默認加載、帶有佔位圖以及錯誤圖片加載
loadResourceImage();加載本地資源圖片,分爲默認加載、帶有佔位圖以及錯誤圖片加載
loadCircleImage();加載圓形圖片
loadRoundImage();加載圓角圖片
loadSizeImage();加載自定義尺寸圖片
loadBlurImage();加載高斯圖片
loadGifImage();加載Gif動圖
2.imageUtils
bitmap2Bytes();、bytes2Bitmap(); bitmap、bytes 互轉
drawable2Bitmap();、bitmap2Drawable(); bitmap、drawable互轉
drawable2Bytes();、bytes2Drawable(); byte、drawable互轉
view2Bitmap(); view轉換爲bitmap
getBitmap(); 獲取bitmap
drawColor(); bitmap進行着色
scale(); 縮放
clip(); 剪裁
skew(); 傾斜
rotate();旋轉
getRotateDegree();獲取旋轉角度
toRound(); 轉化爲圓形圖片
toRoundCorner(); 轉化爲圓角圖片
addCornerBorder(); 添加圓角邊框
addCircleBorder(); 添加圓形邊框
addReflection(); 添加倒影
addTextWatermark(); 添加文字水印
addImageWatermark();添加圖片水印
toAlpha(); 轉化爲帶有透明度
toGray();轉化帶有灰度的圖片
fastBlur(); 快速模糊
renderScriptBlur(); 模糊
save(); 保存
isImage(); 判斷是否是圖片
getImageType(); 獲取圖片類型
compressByScale(); 按照縮放進行壓縮
compressByQuality(); 按質量進行壓縮
compressBySampleSize(); 按採樣大小進行壓縮
getSize(); 獲取圖片尺寸大小
calculateInSampleSize(); 返回樣本的大小
三. net 網絡工具類
1.ApiUtils
ApiUtils(); 構造函數
getOkHttpClient(); 返回OkHttpClient對象,內部參數配置,根據項目自行配置。
getRetrofit(); 獲取Retrofit對象,設置Retrofit參數,根據項目自行配置
getInstance(); 創建單例模式
getService(); 通過java反射獲取對象(獲取業務對象)
getApiService(); 獲取api業務對象,根據項目需要自行更改
2.BaseEntity
網絡返回數據 基類 支持泛型
code 響應碼 message 信息 data 對象根據自己項目需求進行更改
3.BaseObserver
Observer基類,網絡請求根據不同響應碼做出相關的處理
4.InterceptorUtil
LogInterceport(); 日誌攔截器
HeaderInterceptor(); 網絡攔截器 可以自行添加請求頭,根據項目需求來定
5.OnSuccessAndFaultListener
監聽網絡請求數據成功與錯誤
onSuccees(); 成功返回的實體
onCodeError(); 錯誤返回的實體
6.RxSchedulerHepler
進行主線程與子線程切換
使用方法可以連貫調用
ApiUtils.getInstance().getApiService() .方法名() .compose(RxSchedulerHepler.io_main()) .subscribe(new BaseObserver<Bean>(view, new OnSuccessAndFaultListener() { @Override public void onSuccees(BaseEntity t) { view.showData(t); } @Override public void onCodeError(BaseEntity t) { view.errorCodeBean(t); } }));
四. permission權限相關的
1.annotations
HasPermission 有權限被授權的註解
NoPermission 有權限被拒絕的註解
2.base
PermissionActivity Activity權限的基類
3.bean
Permission 權限清單
PermissionInfo 權限信息的實體類
4.call
OnRequestCallBack 權限請求回掉接口
hasPermission(); 有權限被授權時回掉
noPermission(); 有權限被拒絕時回掉權限
5.request
EasyPermissions 回調接口請求權限
EasyPermissions(); 構造函數 不允許被實例化
request(); 請求權限
onRequestPermissionsRequest(); 在Activity或者是Fragment中的同名同參方法調用此方法
PermissionUtils 請求權限工具類
gotoPermissionSettings(); 跳轉到應用權限頁面
isHasPermission(); 檢查某些權限是否全部授權了
isOverMarshmallow(); 判斷是否是android6.0以上
checkPermissionPermanentDenied(); 檢查某個權限是否被永久拒絕
executeSucceedMethod(); 執行成功的方法
executeFailMethod(); 執行失敗的方法
getFailPermissions(); 獲取沒有授權的權限
getSucceedPermissions(); 獲取已授權的權限
getActivity(); 獲取Activity 對象
requestPermissions(); 申請權限
checkObject(); 檢測對象是否符合要求
isCorrectObject(); 檢查對象是否是Activity或者Fagment
isEmptyPermissions();檢查權限是否爲空
arrayConversion();數組轉換,將String數組轉換爲PermissionInfo集合
SimplePermissions 通過註解的方法請求權限
SimplePermissions();構造函數,不能被實例化
request(); 請求權限
onRequestPermissionsResult(); 回掉方法
五.photoutil 打開相機相冊
1. PhotoHelp 對相冊、相機進行操作
PhotoHelp 注意PhotoHelp中打開相冊,provider
根據自己androidManifest指定的進行配置,否則項目會報錯
applyForCameraPermission(); 獲取相機權限打開相機
cameraPermissionResult(); 相機權限的回調
showCameraAction(); 跳轉相機
autoObtainStoragePermission(); 獲取相冊權限,打開相冊
xiangCepermissionResult(); 相冊的權限回調
xiangceResult(); 獲取相冊選取的圖片
getFilePath(); 獲取文件路徑
2.PhotoUtils 相機相冊相關工具類
hasSdcard(); 檢查設備是否存在SD卡
openPic(); 打開相冊請求
getBitmapFromUri(); 讀取uri 所在的圖片
getPath(); 根據Uri 獲取路徑
六. update 升級app
1.UpdateApp
showUpdateDialog(); 點擊下載彈窗
downFile(); 下載文件
installAPK();下載到本地後執行安裝
七. utils 常用的工具類
ActivityUtils Activity管理類
AnimationUtils 動畫相關工具類
AppUtils App相關工具類
ArgbUtils 顏色漸變工具類
ClickUtils 點擊相關的工具類
Colors 一些常用的顏色色值
ColorsUtils 顏色相關的工具類
CountDown 倒計時工具類
DateUtils 日期操作相關的工具類
DeviceUtils 手機設備相關的工具類
DialogUtils 對話框相關的工具類
EncryptUtils 加密相關的工具類
FileIoUtils 文件相關 有關流讀取工具類
FileUtils 文件相關工具類
FragmentUtils Fragment管理工具類
GsonUtils Gson相關工具類
HtmlUtils 主要給字符串添加html
KeyboardUtils 鍵盤相關
LanguageUtils 語言相關
LocationUtils 定位相關服務
LogUtils Log日誌相關工具類
LoopTimer 循環定時器相關工具類
PackageUtils 包信息相關工具類 類似AppUtils
PhoneUtils 手機相關工具類
PreferencesUtils sp保存信息相關工具類
ShellUtils shell工具類 檢查系統root權限 並在shell或者root用戶下執行命令
SpanUtils SpannableString 相關工具類
StringUtils String相關工具類
ToastUtils Toast相關工具類
TransitionTime 用來顯示時間多久之前
WebViewManager WebView管理器,提供常用的設置
八. view 自定義加載中動畫
九. 三方依賴 需要API引入 是解決其他的Module可以直接導入
// V7支持包 版本:28.0.0
api 'com.android.support:appcompat-v7:28.0.0'
//約束佈局 版本:1.1.3
api 'com.android.support.constraint:constraint-layout:1.1.3'
// V4支持包 版本:28.0.0
api 'com.android.support:support-v4:28.0.0'
//RecyclerView 版本:28.0.0
api 'com.android.support:recyclerview-v7:28.0.0'
// Design,版本28.0.0
api 'com.android.support:design:28.0.0'
//okhttp3網絡框架 版本:3.14.0
api 'com.squareup.okhttp3:okhttp:3.14.0'
//Okhttp,Log插件 網絡請求框架 版本:3.14.0
api 'com.squareup.okhttp3:logging-interceptor:3.14.0'
//GOSN JSON解析框架 版本:2.8.5
api 'com.google.code.gson:gson:2.8.5'
//Retrofit網絡請求框架 版本:2.6.0
api 'com.squareup.retrofit2:retrofit:2.6.0'
//Retrofit與GSON整合依賴包 版本:2.6.0
api 'com.squareup.retrofit2:converter-gson:2.6.0'
//Retrofit與Rxjava2整合依賴包 版本號:2.6.0
api 'com.squareup.retrofit2:adapter-rxjava2:2.6.0'
//RxJava2一種響應式編程框架 版本號:2.+
api 'io.reactivex.rxjava2:rxjava:2.+'
//RxJava2與Android整合依賴包 版本號:2.+
api 'io.reactivex.rxjava2:rxandroid:2.+'
//Glide圖片加載框架 版本號:4.10.0
api 'com.github.bumptech.glide:glide:4.9.0'
//Glide自動編譯器 版本:4.10.0
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
//EventBus依賴包
api 'org.greenrobot:eventbus:3.1.1'
//強大靈活的適配器 版本號:2.+
api 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.+'
//自動查找ID 版本號:8.8.1
api 'com.jakewharton:butterknife:8.8.1'
//自動查找ID自動編譯器 版本:8.8.1
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
// 沉浸式狀態欄
api 'com.gyf.immersionbar:immersionbar:3.0.0'