原创 探究 jetpack ViewModel、lifecycles、LiveData

簡介:jetpack是一個開發組件工具集,它的主要目的的幫助我們編寫出更加簡潔的代碼,並簡化我們的開發過程 一.ViewModel:專門用來存放與界面相關的數據 ViewModel生命週期比Activity長 /** * 基礎的vie

原创 kotlin 使用協程編寫高效的併發程序

一.協程基本用法 1.協程:協程允許我們在單線程模式下模擬多線程編程效果,代碼執行時的掛起與恢復完全由編程語言控制,和操作系統無關。 //GlobalScope 是頂層協議,當前應用程序結束協程跟着結束 fun main(){

原创 kotlin 泛型的高級特性

1.泛型實化 前言:java和kotlin都是類型擦除機制,泛型只是對於編譯器的類型的約束,運行期是識別不出來我們代碼中指定的泛型類型的。 所以肯定實現不了 a is T 或者 T::class.java 泛型實化:利用內聯函數和reif

原创 kotlin 標準函數和靜態方法 with、run、apply

一.標準函數 1.with函數 with函數接受兩個參數,第一個是任意類型的對象,第二個是lambda表達式。 作用:連續調用同一對象的多個方法。返回值是最後一個值 格式如下: val result = with(obj){ /

原创 android 界面注意點

1.Button中的text是自動會轉換成大寫,如果不想要可以加上android:textAllCaps="false"屬性 2.主流屏幕分辨率適配xxhdpi  

原创 kotlin lateinit延遲加載

1.lateinit延遲加載:告訴kotlin編譯器會晚些對這些變量進行初始化。 可以通過!::adapter.isInitialized進行判斷是否加載。 lateinit var adapter:MsgAdapter 2.密封類優化

原创 kotlin infix函數

infix函數作用:將函數調用的語法修改了一下 比如:A to B 等於 A.to(B) 實現方式:在函數前面加上infix即可 限制條件:1.不能是頂層函數;2.參數只能有一個 例子: infix fun String.beginsW

原创 kotlin 高階函數、內聯函數

1.高階函數 定義:一個函數接收另一個函數作爲參數,或者返回值的類型是另一個參數,那麼該函數就稱爲高階函數。 基本格式如下: fun example(func:(String,Int)->Unit){ func("holle",

原创 kotlin 泛型和委託

1.泛型 泛型允許我們不指定具體類型的情況下進行編程 泛型的兩種定義方式:泛型類,泛型方法 //泛型類 class MyClass<T> { fun method(param: T): T { return p

原创 kotlin 基礎知識1 繼承與構造函數、接口、修飾符、數據類和單例類、集合、lambda表達式、判空

1.繼承與構造函數 ①.如果類需要被繼承,則需要在類前面添加open關鍵字,因爲kotlin的設計就是讓其最好是不可變的,類似變量推薦使用val。如下: open class Person{ ... } ②.kotlin分爲主構

原创 flutter_easyrefresh 加載多次問題修復

flutter_easyrefresh 是一個下拉刷新上拉加載的插件,具體我就不介紹了,這裏主要是解決flutter_easyrefresh的bug,主要我在用此插件的時候遇到如下兩個問題: ①.上拉加載最後的footer不消失 ②.加載

原创 android studio 添加ndk工程步驟

1.android studio sdk下載插件 2.編譯native項目 3.在build中得到so包

原创 android 項目遷移然後運行不起來 爆錯> Task :app:processDebugResources FAILED

Executing tasks: [clean, :flutter:assembleDebug, :app:assembleDebug]   > Task :clean UP-TO-DATE > Task :app:clean > Tas

原创 flutter RangError:Value not in range :-1 release版本的context和debug版本的context不一樣

debug版本不會報錯,release版本報錯: RangError:Value not in range  注意上面代碼在debug模式下沒有問題,在release模式下有問題,_contextBaseFunction就是contex

原创 android 混淆

  以下內容轉自https://www.jianshu.com/p/b5b2a5dfaaf4 由於本人一直用csdn,所以直接將作者內容複製下來的,如果大家支持點贊請支持上面的那個地址作者 開啓混淆 通常我們需要找到項目路徑下app目錄