Android Studio最終篇

零零散散的寫了七八個月,以後更新看時間和心情,代碼,希望能幫到你。

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切換環境正常。

Android Studio最終篇 - 架構


附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 Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構Android Studio最終篇 - 架構
Android Studio最終篇 - 架構

總結:Android這四年的工作經驗都在這裡了,希望能幫到你,加油~

Android Studio最終篇 - 架構


分享到:


相關文章: