每日知識點

2018.08.01

1、android studio升級到3.0後,編譯專案出現flavors不屬於異常
這裡寫圖片描述

最後在gradle中新增 flavorDimensions “versionCode”解決
這裡寫圖片描述

2018.01.23

1、Retrofit2.0 中baseUrl和完整url構建的關係,總之,baseUrl以”/”結尾,@GET和@POST中後接域名及引數不能以”/”開頭,否則有問題
這裡寫圖片描述

2017.11.23

1、activity跳轉之後,某一時刻,記憶體不夠時,低優先順序的activity會被回收掉

2017.11.09

1、設定狀態列透明後,彈出軟鍵盤不會將edittext往上頂

2017.10.19

1、遮蔽setChecked方法對OnCheckedChangeListener的影響,用onClick事件替代onCheck事件
遮蔽setChecked方法對OnCheckedChangeListener的影響

2017.09.25

1、對view或者viewgroup自定義onTouchEvent事件,為防止父容器阻攔事件,需要在down事件中加入getParent().requestDisallowInterceptTouchEvent(true)

2017.09.19

1、學習單元測試java:Junit,android:AndroidJUnitRunner

2017.09.13

1、巢狀recyclerview的禁止內部無法滑動(canScrollVertically())

2017.09.12

1、使用BigDecimal類進行精確計算
2、layer_list中使用兩個view可以生成顏色疊加的效果,類似陰影

2017.09.05

1、給recyclerview新增headview時深入瞭解並使用了裝飾器模式

2017.09.02

1、使用LinearSnapHelper實現recyclerview滑動時居中顯示,並且自定義LinearSnapHelper實現recyclerview滑動時居左顯示

2017.07.02

1、使用StaggeredGridLayoutManager可以方便地實現瀑布流效果
2、Imageview控制元件使用adjustViewBounds屬性可以使圖片保持原圖的長寬比(非常實用)
這裡寫圖片描述

2017.06.29

1、設計模式
1️⃣設計模式之物件導向七大基本原則
2️⃣依賴、關聯、聚合、組合

2017.06.16

1、巧用多程序(可以很好的進行記憶體優化)
方式:主要是使用AIDL方式來進行程序間通訊,開啟多程序的方法很簡單,只需要給四大元件指定android:process標籤。
這裡寫圖片描述

2、利用工廠方法模式實現多種可替代解決方案的業務邏輯

這裡寫圖片描述

2017.06.05

1、真機無法開啟Hierarchy Viewer問題
解決辦法:根本原因是:Hierarchy Viewer預設只能在非加密裝置使用,例如工程機,工程平板或者模擬器。為了能夠在任何手機上使用Hierarchy Viewer,你得在你的應用中新增 View Server(Android Framework 工程師 Romain Guy開發的專案),這是一個開源庫。

2017.05.02

1、與裝置進行藍芽連線,如果需要對其進行群體控制燈光、斷連的情況,必須進行錯開,可以加延時,否則會產生部分無效的情況

2017.04.09

1、UI佈局優化,merge viewstub include標籤的使用,layout_weight儘量少用,lint優化工具

2017.02.25

1、在activity中可以直接在子執行緒中呼叫runOnUiThread方法,用於介面的展示

2017.02.22

1、可以嘗試DialogFragment替換Dialog

2017.02.13

1、關於 java.lang.NoClassDefFoundError: com.umeng.analytics.d的問題
解:問題是因為在build.gradle中配置了分包,就是multiDexEnabled true,三種解決方案:
①不配置分包(這個好像不太可能,既然配置了肯定是超了65535)
②自定義的application不要繼承Application,而是繼承MultiDexApplication。
③仍然繼承Application,然後複寫Application的attachBaseContext(Context base)方法,在該方法中執行MultiDex.install(base);

2017.02.08

1、瞭解了樹莓派,知道其非常強大,可以深入瞭解
2、multiDexEnabled的使用,產生問題的原因是匯入第三方庫時出現不支援異常,網上出現很多類似的坑

2016.12.15

1.對於3.2以下的手機系統只能識別large限定符和3.2以上的手機系統識別sw限定符,同一個佈局檔案,可以在values-large和values-sw資料夾下建立layout.xml檔案
這裡寫圖片描述

2、資源圖片最好多切幾套,因為如果當前手機密度與圖片所在資原始檔夾的密度相同,那麼記憶體佔用是最少的,否則記憶體佔用會很大
這裡寫圖片描述

2016.10.08

1、SystemClock.sl()方法的呼叫,區別於Thread.sleep()

2016.07.19
1、瞭解到CountDownTimer和Timer一樣,只要啟動後,都不會依賴當前類物件

2016.04.11

1、多個類之間數值的傳遞,可以使用一個介面來實現
2、實現支付功能,客戶端呼叫程式碼比較少,主要是服務端做的操作
3、熟悉多執行緒的流程

2016.04.09

1、回顧了專案框架,其中需要重點掌握的幾個知識點:
①Handler工具類的使用
②藍芽和Wifi框架的整個流程
③Volley網路框架的優化

2016.04.08

1、使用p 整合支付,編譯release版本的時候混淆出錯,是libammsdk.jar版本過低導致的,升級為最新的版本後打包通過

2016.04.07

1、通過跟組長的交流,接觸了藍芽底層通訊,熟悉了介面回撥;
2、SparseArray的學習;
3、二進位制、十六進位制等深入瞭解。
4、幾種流操作和編碼機制(md5對字串和檔案校驗、base64編碼);
5、gradle環境build.gradle(匯入第三方庫時出現種種問題)
6、facebook第三方登陸(原生api)
7、完成Facebook第三方登陸,主要是熟悉他們的api,可以獲取到User資料即可,過程中出現使用者資料只有name和id兩個欄位,待解決
8、P 實現微信第三方支付和支付寶第三方支付
9、java倒計時功能 Timer類的使用
10、列舉 enum的使用