永久域名美女,heyzo一本久久综合无码,超碰在线亚洲无码
360doc--codingSmart的文章
http://bbzoh.cn/rssperson/77427489.aspx
360doc (http://bbzoh.cn)
zh-cn
360doc--個人圖書館
-
ARouter 攔截器之多 module 獨立運行
http://bbzoh.cn/content/21/1022/09/77427489_1000804729.shtml
2021/10/22 9:17:53
ARouter 攔截器之多 module 獨立運行。<application android:allowBackup="true" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".CircleActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" />
-
ARouter 在多 module 項目中實戰(zhàn)
http://bbzoh.cn/content/21/1022/09/77427489_1000804727.shtml
2021/10/22 9:17:53
紅色線條: 業(yè)務(wù)需要,,從work模塊可以直接進入直播間,,那么work模塊就必須依賴live模塊;看一下跳轉(zhuǎn)home模塊的代碼:// 跳轉(zhuǎn)home模塊頁面mainBinding.jumpHomePage.setOnClickListener(v -> { if (mainBinding.cbHome.isChecked()) { Bundle bundle = new Bundle(); bundle.putInt(KEY_TYPE, 500); bundle.putString(KEY_NAME, "home module"); bundle.putString(KEY_WEIXIN, "is home module~");
-
個推推送 SDK 集成之 Device Token
http://bbzoh.cn/content/21/1022/09/77427489_1000804725.shtml
2021/10/22 9:17:53
個推推送 SDK 集成之 Device Token.個推Android集成官方文檔:https://docs.getui.com/getui/mobile/android/androidstudio/廠商token有如下兩種查看方式,,這兩種方式并不在集成文檔里,,而是在Android常見問題里,手機連接電腦,,手機需開啟開發(fā)者調(diào)試模式,,打開APP,在androidstudio編譯器logcat中過濾"Assist_",,若成功打印token信息則表示廠商集成正常,。應(yīng)該在Android集成文檔里面提及到多廠商集成,或者至少加個超鏈接吧,。
-
遲來的一份總結(jié):2020合集
http://bbzoh.cn/content/21/1022/09/77427489_1000804724.shtml
2021/10/22 9:17:52
往期匯總Android經(jīng)驗相關(guān)Android技術(shù)Android動態(tài)IDE相關(guān)其他技術(shù)其他總結(jié)往期匯總,。很多開發(fā)者其實做的項目都是在國內(nèi)市場,而國內(nèi)的軟件設(shè)計或者說是產(chǎn)品大多都是自成一派,,總體上國內(nèi)的軟件沒有共同遵循的設(shè)計原則和產(chǎn)品體驗感,,隨著 Google 的不斷推進手機系統(tǒng)升級,,而國內(nèi)幾乎全是一片定制的天下,而這正是開發(fā)者和產(chǎn)品之間最大的隔閡:產(chǎn)品不關(guān)心Google動態(tài),,開發(fā)者認為產(chǎn)品的設(shè)計不遵循Google規(guī)范,。
-
Android 開發(fā)都有哪些好書值得一讀?
http://bbzoh.cn/content/21/1022/09/77427489_1000804723.shtml
2021/10/22 9:17:52
Android 開發(fā)都有哪些好書值得一讀,?code小生 一個專注大前端領(lǐng)域的技術(shù)平臺公眾號回復(fù)Android加入安卓技術(shù)群,。2020 很多移動開發(fā)技術(shù)被推向了高潮期,相比大家都看得到,,今年幾乎看不到了去年吵得火熱的“三化”技術(shù)和架構(gòu)模式,,取而代之的是 JetPack 技術(shù)以及 Kotlin 和 Flutter 如何選擇的問題。第二,、Android開發(fā)入門到中級,,再到高級,哪些書是可以一讀的,?以上 7 本書除了第二本外,,剩下的每個 Android 開發(fā)者都應(yīng)該讀一讀。
-
探索 Glide 原理
http://bbzoh.cn/content/21/1022/09/77427489_1000804721.shtml
2021/10/22 9:17:52
Glide 圖片加載選項,??赐炅私獯a任務(wù)啟動流程,下面我們來看下當(dāng) DecodeJob 獲取到圖片數(shù)據(jù)后是怎么處理這些數(shù)據(jù)的,,在文章的開頭已經(jīng)講過 Glide 解碼大致的 5 步,,這里再補充一個,就是在把圖片加載到 Target 后,,DecodeJob 會通過 ResourceEncoder 把圖片保存到本地,。Glide 使用了三級緩存機制,圖片的緩存分為內(nèi)存,、磁盤和來源,,也就是從內(nèi)存獲取不到圖片時,再去磁盤獲取圖片,,從磁盤獲取不到圖片時,,再從圖片來源獲取圖片。
-
JetPack系列 Paging 3.0學(xué)習(xí)
http://bbzoh.cn/content/21/1022/09/77427489_1000804719.shtml
2021/10/22 9:17:52
// 這部分是一個底部loadmore的item,,包含一個進度條以及重試按鈕class LoadmoreView( parent: ViewGroup, loadState: LoadState, val retrycallback: () -> Unit) : RecyclerView.ViewHolder( LayoutInflater.from(parent.context)!!.inflate(R.layout.item_loadmore, parent, false) ) {
-
Android Bitmap 詳解:關(guān)于 Bitamp 你所要知道的一切
http://bbzoh.cn/content/21/1022/09/77427489_1000804718.shtml
2021/10/22 9:17:52
Android Bitmap 詳解:關(guān)于 Bitamp 你所要知道的一切,。一、Bitmap 的創(chuàng)建二,、Bitmap 的顏色配置信息與壓縮方式信息三,、Bitmap 的轉(zhuǎn)換與保存四、Bitmap 的文件大小五,、Bitmap 占用內(nèi)存的大小六,、影響 Bitmap 占用內(nèi)存大小的因素七,、Bitmap 的加載優(yōu)化與壓縮八、Bitmap 的其他操作一,、Bitmap 的創(chuàng)建,。fun bitmapToByteArray(bitmap: Bitmap): ByteArray { val baos = ByteArrayOutputStream() bitmap.compress(Bitmap.
-
2019 年終總結(jié),245+篇,,已分類整理
http://bbzoh.cn/content/21/1022/09/77427489_1000804716.shtml
2021/10/22 9:17:51
code小生 一個專注大前端領(lǐng)域的技術(shù)平臺公眾號回復(fù)Android加入安卓技術(shù)群按照慣例,,是每年都會有年度總結(jié)文章的,2019也不例外,。Android_Jetpack組件---Naviagtion源碼解析,。Jetpack源碼解析—Navigation為什么切換Fragment會重繪?Jetpack源碼解析---用Lifecycles管理生命周期,。Jetpack源碼解析--ViewModel基本使用及源碼解析,。Android 架構(gòu)。讓程序員崩潰的瞬間(非程序員勿入)
-
Android開發(fā)架構(gòu)設(shè)計演變
http://bbzoh.cn/content/21/1022/09/77427489_1000804714.shtml
2021/10/22 9:17:51
Android開發(fā)架構(gòu)設(shè)計演變,。出自《移動開發(fā)架構(gòu)設(shè)計實戰(zhàn)》流行架構(gòu) 進階架構(gòu)架構(gòu)的演變很快,我們其實完全不必糾結(jié)于自己實用的架構(gòu)是否過時,,而更應(yīng)該關(guān)注架構(gòu)是否適合業(yè)務(wù),,剩下的我們關(guān)注演變過程即可,就像下圖羅列的,,如果我們一個勁地去使用,,恐怕每天都是在重構(gòu)...《移動開發(fā)架構(gòu)設(shè)計實戰(zhàn)》點擊可購書小生專屬福利《移動開發(fā)架構(gòu)設(shè)計實戰(zhàn)》*4在本文留言:說說你在日常開發(fā)中哪些花費在項目架構(gòu)方面的“傷心事”;
-
探索 Android 內(nèi)存優(yōu)化方法
http://bbzoh.cn/content/21/1022/09/77427489_1000804713.shtml
2021/10/22 9:17:51
這時我們就把線程 A 叫做線程 B 的父線程,,把線程 B 叫做線程 A 的子線程,。寫線程1獲取了寫鎖寫線程1開始執(zhí)行操作寫線程1釋放了寫鎖寫線程2獲取了寫鎖寫線程2開始執(zhí)行操作寫線程2釋放了寫鎖讀線程1獲取了讀鎖讀線程1開始執(zhí)行操作讀線程2獲取了讀鎖讀線程2開始執(zhí)行操作讀線程1釋放了讀鎖讀線程2釋放了讀鎖6.6 volatile 關(guān)鍵字 volatile 變量讀寫操作.png.wait() 方法的執(zhí)行線程叫等待線程,notify() 方法執(zhí)行的線程叫通知線程,。
-
探索 Android 多線程優(yōu)化
http://bbzoh.cn/content/21/1022/09/77427489_1000804711.shtml
2021/10/22 9:17:51
這時我們就把線程 A 叫做線程 B 的父線程,,把線程 B 叫做線程 A 的子線程。寫線程1獲取了寫鎖寫線程1開始執(zhí)行操作寫線程1釋放了寫鎖寫線程2獲取了寫鎖寫線程2開始執(zhí)行操作寫線程2釋放了寫鎖讀線程1獲取了讀鎖讀線程1開始執(zhí)行操作讀線程2獲取了讀鎖讀線程2開始執(zhí)行操作讀線程1釋放了讀鎖讀線程2釋放了讀鎖6.6 volatile 關(guān)鍵字 volatile 變量讀寫操作.png.wait() 方法的執(zhí)行線程叫等待線程,,notify() 方法執(zhí)行的線程叫通知線程,。
-
JetpackNote---基于Jetpack的學(xué)習(xí)筆記APP
http://bbzoh.cn/content/21/1022/09/77427489_1000804710.shtml
2021/10/22 9:17:51
我為什么要學(xué)習(xí)Jetpack呢?在Android Developers官網(wǎng)上,,Jetpack作為一個Tab和Kotlin,、Android Studio等一樣的地位也同樣占據(jù)了一個模塊,Jetpack里目前包含的內(nèi)容,,未來想必也是谷歌大力維護和擴展的東西,,所以我打算對Jetpack深入學(xué)習(xí)一番,其實Google Play商店中很多APP都已經(jīng)開始使用Android Jetpack了,,國內(nèi)目前也有一些公司在使用了,,雖然我很少聽到,,但是就目前關(guān)于Jetpack的一個帖子上面的內(nèi)容經(jīng)常會有人提到。
-
6. Jetpack---Paging你知道怎樣上拉加載嗎,?
http://bbzoh.cn/content/21/1022/09/77427489_1000804709.shtml
2021/10/22 9:17:50
分頁庫Pagin Library是Jetpack的一部分,,它可以妥善的逐步加載數(shù)據(jù),幫助您一次加載和顯示一部分數(shù)據(jù),,這樣的按需加載可以減少網(wǎng)絡(luò)貸款和系統(tǒng)資源的使用,。PageList會通過DataSource加載數(shù)據(jù),通過Config的配置,,可以設(shè)置一次加載的數(shù)量以及預(yù)加載的數(shù)量,。PageListAdapter繼承自RecycleView.Adapter,和RecycleView實現(xiàn)方式一樣,當(dāng)數(shù)據(jù)加載完畢時,,通知RecycleView數(shù)據(jù)加載完畢,,RecycleView填充數(shù)據(jù);
-
5. Jetpack源碼解析--ViewModel基本使用及源碼解析
http://bbzoh.cn/content/21/1022/09/77427489_1000804707.shtml
2021/10/22 9:17:50
下面我們看創(chuàng)建VM時的get()方法@NonNull @MainThread public <T extends ViewModel> T get(@NonNull String key, @NonNull Class<T> modelClass) { //在ViewModelStore中拿到VM實例 ViewModel viewModel = mViewModelStore.get(key);//添加非中斷Fragment boolean addRetainedFragment(@NonNull Fragment fragment) { return mRetainedFragments.add(fragment); }
-
Retrofit 動態(tài)管理和修改 BaseUrl,,從未如此簡單
http://bbzoh.cn/content/21/1022/09/77427489_1000804706.shtml
2021/10/22 9:17:50
研究retrofit的源代碼我們知道,,retrofit最終發(fā)起請求是從OkHttpCall里面,createRawCall 方法創(chuàng)建最終的okhttp3.Call對象,,下面是代碼private okhttp3.Call createRawCall() throws IOException { okhttp3.Call call = callFactory.newCall(requestFactory.create(args)); if (call == null) { throw new NullPointerException("Call.Factory returned null."); } return call;}
-
3. Jetpack源碼解析---用Lifecycles管理生命周期
http://bbzoh.cn/content/21/1022/09/77427489_1000804704.shtml
2021/10/22 9:17:50
原來它繼承了Lifecyclepublic class LifecycleRegistry extends Lifecycle3.2 Lifecycle和LifecycleRegistry.private void dispatch(Lifecycle.<provider android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer" android:authorities="com.hankkin.reading_aac.lifecycle-process" android:exported="false" android:multiprocess="true" /> </application>
-
Retrofit 結(jié)合 Lifecycle, 將 Http 生命周期管理到極致
http://bbzoh.cn/content/21/1022/09/77427489_1000804703.shtml
2021/10/22 9:17:50
首先定義一個 LifecycleProvider類,如下/** * 統(tǒng)一分發(fā)Activity和 Fragment的生命周期時間. */public interface LifecycleProvider { /** * Adds an observer to the list. The observer cannot be null and it must not already * be registered. * * @param observer the observer to register * @throws IllegalArgumentException the observer is null */ void observe(Observer observer);
-
1. Android_Jetpack組件---Naviagtion源碼解析
http://bbzoh.cn/content/21/1022/09/77427489_1000804702.shtml
2021/10/22 9:17:50
<fragment android:id="@+id/fragment_home" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" app:navGraph="@navigation/navigation_main"/> </LinearLayout>
-
Flutter 與原生交互總結(jié)
http://bbzoh.cn/content/21/1022/09/77427489_1000804700.shtml
2021/10/22 9:17:49
Flutter學(xué)習(xí)訣竅,,F(xiàn)lutter一切皆組件!原生傳遞給Flutter數(shù)據(jù),,這個方式可以避免一中的在路由里面處理數(shù)據(jù),,Android代碼如下: new EventChannel(flutterView, CHANNEL_POST).setStreamHandler(new EventChannel.StreamHandler() { @Override public void onListen(Object o, EventChannel.EventSink eventSink) { eventSink.success("原生傳遞參數(shù)"); }