零零散散的寫了七八個月,以後更新看時間和心情,代碼,希望能幫到你。
github地址:
https://github.com/geeklx/myappkuangjia20190806/tree/master/yun_kuangjia2019
博客:http://blog.51cto.com/liangxiao
Android業務組件庫:http://blog.51cto.com/liangxiao/2146536
APP框架2019年版本
多渠道打包和閉包,支持分包安裝,UI獨立,網絡請求獨立 此項目還有一些不完善的地方,可以留言或如有疑問請看地址:
https://blog.csdn.net/qibin0506/article/details/71307301
另外新增:支持androidx,版本號到最新:28 28.0.3 3.4.2 5.1.1
1.支持美團walle多渠道
不會的看地址:
https://www.jianshu.com/p/c516cf9138ea 地址:
https://blog.csdn.net/yinxing2008/article/details/82588075
2.支持tinker1.9.3.2多渠道熱修復
不會的看地址:
http://v.qq.com/vplus/bugly
3.支持護眼模式:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\huyan
4.支持類網易雲播放器後臺保活:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\playermusic
5.支持HIOS3.0版本,支持scheme協議
不會的參考地址:
https://www.cnblogs.com/whoislcj/p/5825333.html 地址:
https://www.jianshu.com/p/57f79fc83233 地址:
https://www.cnblogs.com/zhang-cb/p/7093769.html 地址:
https://blog.csdn.net/cheng545/article/details/80099137地址:
https://www.cnblogs.com/whoislcj/p/5825333.html
6.支持電話,第三方語音視頻打斷音樂:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\broadcastreceiver
7.支持打分星星和半星:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\ratingstarview
8.支持一行集成支付寶,微信,銀聯支付:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\pop\bottompay
9.支持一行分享到第三方:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\pop\share
10.支持截長圖到bitmap:D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\utils\cutimg\ShareBitmapUtils.java
11.支持藍牙傳輸數據交互:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\videoplay\bt
12.支持GSY播放器:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\videoplay\gsy
13.支持餃子播放器:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\videoplay\jiaozi 附:全局搜索查看demo用法:JZVideoPlayerStandard
14.支持XCL-Charts曲線圖:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\videoplay\quxiantu
15.支持EvenBus(全局搜索:EventBus.getDefault())
16.支持LxCoolViewPager:優化100頁卡頓,滑動翻書效果
附:D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\viewpager\LxCoolViewPager.java
17.支持打字效果:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\widgets\dazi
18.支持圖片懶加載:D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\widgets\recyclerviewnice\XRecyclerView.java
19.支持圖片四個角圓形自定義:D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\widgets\CustomRoundAngleImageView.java
20.支持EasyPermission權限:D:\githubproject\yun_kuangjia2019\geeklibs\slbappcomm\src\main\java\com\example\slbappcomm\base\EasyPermissionMainFragment.java
21.支持自定義webview2.0:新增js退出交互操作
D:\githubproject\yun_kuangjia2019\geeklibs\libwebview
22.支持一行jpush推送:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappjpush
23.支持一行jpush統計:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappstatistics
24.支持一行Umeng統計:
D:\githubproject\yun_kuangjia2019\geeklibs\slbappumengstatistics
25.支持Glide4.9.0:
D:\githubproject\yun_kuangjia2019\geekcommonlibs\libglide47
26.支持自定義升級:
D:\githubproject\yun_kuangjia2019\geekcommonlibs\libupdateapputils
27.支持bugly升級:
https://github.com/BuglyDevTeam/Bugly-Android-Demo/issues
28.支持Cmake最新NDK寫法:
D:\githubproject\yun_kuangjia2019\geekapp1libs\geekapp1\build.gradle
29.支持LottieAnimationView:全局搜索:LottieAnimationView
附:打版方式:
APP打版步驟: 1.切換publish_config下的0 1 2 : defaultVariantIndex = 2 // 測試,預生產,線上 variants = ['BXNT_101_NATION', 'BXNY_101_NATION', 'BXN_101_NATION']
2.在Terminal中執行順序: gradlew chVar gradlew publishDefault或publish 前者是打一個 後者是全量
3.每個獨立lib下面的// /*rep/implementation (name:'
biz-identification_bxn_nation', ext:'aar') 引用都不能換行,保證aar切換環境正常。
附demo用法
地址:
https://github.com/geeklx/MyApplication 地址:
https://github.com/geeklx/myapplication2018
此類放置自定義View和第三方控件集合:(按順序)
anroomcrash:驗證APP崩潰和內存溢出的方法
assetsfitandroid:1.拍照上傳
2.複製assets目錄到本地緩存cache目錄文件
3.訪問assets/cache中的文件方法
4.緩存購物車寫法 寫入txt到緩存
bannerview:防止OOM寫法的bannerview
bannerviewquan:市面大部分bannerview寫法
baseactivitys:加了堆棧管理和678android權限的base類
cacheutil:清除緩存方法
caranimation:購物車添加動畫(防止多次點擊的OOM)
changelanguage:切換語言
common:BaseApp BaseAppManager BaseViewHelper
emptyview:正在加載 暫無數據 有數據 無網絡 佈局切換
expandableview:非常好用的Expandableview
fileprovider:鴻洋的6.0 7.0 8.0 權限管理類
flowlayout:鴻洋的FlowLayout(支持標籤佈局選中)
glidenetpicpressnormal:支持後臺返回兩張圖片 touch顯示不同的圖片效果
handleralluse:面試必會的handler所有用法
likebutton:點贊效果
loading:加載中(防止OOM)
musicutils:播放raw util
networkview:根據WIFI開關來廣播切換佈局 鬥魚視頻聯網播放功能
qcode:高斯生成二維碼效果
recycleviewalluses:最強RecycleView寫法(待更新)
recycleviewgallery:炫酷的RecycleView Gallery
recycleviewmultitype:一個比較好的第三方RecycleView寫法 很穩定
ringutil:系統聲音(待優化)
scrollview:黑暗之魂3閱讀條文效果
shoppingcar:非常好用 仿餓了麼購物車一套代碼
size:dp轉換px工具類
smartbar:返回|主頁 工具類 一行解決你的問題
splash:歡迎頁仿獵聘
statusbar:浸透式topbar
tablayout:最全tablayout
toasts:棄用(可參考)
toasts2:豐富多彩的Toast
updateapk:XML配置升級APK
uploadpic:最強微信圖片上傳(無bug版 修改了loaderManager兩次finish的問題)
usersdk:登錄回調處理邏輯跳轉
widget: 1.AlertView:仿IOS彈窗
2.AutofitTextView:自適應的textview
3.CircleImageView:圓形ImageView
4.CircularSeekBar:中規中矩的SeekBar 圓形進度條
5.SmoothCheckBox:中規中矩的CheckBox
6.SwitchButton:中規中矩的開關
zothers:
1.AutoHideInputMethodFrameLayout:非常好用的鍵盤隱藏工具layout
6.SpannableStringUtils:給textview設置超鏈接
((TextView) helper.getView(R.id.brademo1_tweetText)).setText(SpannableStringUtils.getBuilder(item.getText()).
append("點擊查看博客鏈接").setClickSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Uri url = Uri.parse("http://blog.51cto.com/liangxiao");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(url);
mContext.startActivity(intent);
}
}).create());
2.ClickableMovementMethod:給textview設置超鏈接
((TextView) helper.getView(R.id.brademo1_tweetText)).setMovementMethod(ClickableMovementMethod.getInstance());
helper.getView(R.id.brademo1_tweetText).setFocusable(false);
helper.getView(R.id.brademo1_tweetText).setClickable(true);
helper.getView(R.id.brademo1_tweetText).setLongClickable(false);
3.DaojishiUtil:非常好用倒計時的工具類
4.NoDoubleClickListener:防止double click
5.SimpleTagImageView:給ImageView打標籤
7.StartHiddenManager:點A B兩點跳轉邏輯方法
zuni:非常好的阻尼效果
下面是部分效果圖:更多用法請移步:
http://blog.51cto.com/liangxiao
總結:Android這四年的工作經驗都在這裡了,希望能幫到你,加油~