1. 程式人生 > >android之解鎖新技能,平常的應用開發會用到的東東(持續更新)

android之解鎖新技能,平常的應用開發會用到的東東(持續更新)

1.初始化控制元件用butterknife

2.一個應用裡都應該有父類,比如activiy的BaseActivity,fragment的BaseFragement(這些都是需要自己定義的),更好的應用java的繼承。

3.一個應用中至少要有一個工具包,工具包裡會有很多工具類,來減少重複的程式碼,更好的應用java的封裝

4.android的框架選擇,mvp?mvc?都會用到,混合開發最好,如果邏輯不太複雜使用mvc,複雜了就mvp啦,mvp可以參考:

mvc參考(原理)(其實android的設計思想就是mvc,隨便寫的程式碼就是mvc的架構,view就是控制元件,model就是資料,C就是activity。以activity為控制器,將view和damodel連線在一起)

5.當看別人程式碼不知道一個地方什麼意思的時候,可以通過包的路徑來看看,或者ctrl+左鍵直接進入內部看。然後在百度百度基本都可以解決。

6.依賴注入框架選Dagger2  配合 MVP使用(可以瞭解下)

7.網路請求介面封裝(Retrofit) 配合 RXJava

8.  簡單、強大而且格式美觀的日誌列印工具    Logger

9.應用升級版本控制工具-友盟(需要key)

10.單例模式的理解:

  單例模式實際應用

11.觀察者模式的理解:

     舉例:簡單而言就是  1對多。比如微信公眾號,公眾號傳送訊息,只要是關注了的使用者都可以接受到訊息。一個公眾號對應多個使用者。rxjava就是應用的觀察者模式。

觀察者模式的實際應用

12.當你看到網上一個很好的例子了,先別急著copy,不如先新建一個專案模擬一遍,說不到有意想不到的收穫。

13.裝飾者模式(感覺就是多型的應用)

14.常用的圖片載入框架Glide

15.rxbus在rxjava中的應用

16.TypeArray 儲存xml設定自定義屬性

17.Space,代替view,android中元件空隙,可以用他來佔位用,不能設定背景色。

19.android書籍和各種效果框架入口(也可以看開源中國)

20.平時app的開發中會用到第三方的東西,第三方可能會給我們申請簽名,如果生成的簽名的話

  值得注意的是,生成的簽名是debug(沒打包的)版本簽名還是打包了的版本的簽名。

21.如果對recyclerview用著挺好的話  試試LRecyclerView

LRecyclerView是支援addHeaderView、 addFooterView、下拉重新整理、分頁載入資料的RecyclerView。

新增功能:SwipeMenu系列功能,包括Item側滑選單、長按拖拽Item,滑動刪除Item等。

它對 RecyclerView 控制元件進行了拓展,給RecyclerView增加HeaderView、FooterView,並且不需要對你的Adapter做任何修改。

22.對話方塊載入MaterialDialog

23.標籤如圖(Chip Group)(Android Design Support Library v28 新增內容)

24.很多功能不要想著自己來實現(比如去網上copy一段程式碼到專案中去),看看有沒有開源庫?比如輪播圖,下拉重新整理等等。

25.和產品經理突然加需求怎麼溝通?

26.一些開源庫(有可能以後的開發中會用到其中的一個控制元件)(開源中國)

27.當規定在一行顯示文字時候,如果文字略多有要求一行顯示完整可以參考:

28.android面試複習app?

29.android總結篇

30.android推薦外掛

31.在剛開始看app的原始碼的時候,自己頭都大了,從一個一個類檔案開始看。到從一個個類的繼承關係分析,後面慢慢的打算

     從每一個功能開始看,什麼叫每個功能(比如說我需要了解他的網路訪問是怎麼實現的?我就直接從他第一個網路訪問成功的程式碼開始看,慢慢摸索,不要貪心一下看懂所有。把他們分配成模板塊)

32.防止使用者多次點選button

33.TextWatcher(監測鍵盤輸入並根據輸入內容展示不同顯示效果)
https://blog.csdn.net/qq_28339011/article/details/80154229

34.TimePickerView(時間選擇器)
https://blog.csdn.net/weixin_39738488/article/details/78954606

35.ClipboardManager(複製和貼上)
https://blog.csdn.net/X550756668/article/details/78894804

當接觸一個新的東西的時候,發現很多都看不懂,總想著最優的解決方法,其實一開始就錯了,
比如說你剛開始炒股就想馬上成為股神可能嗎?其中要經歷很多,慢慢理解,後面就懂了。
當第一次接觸時候就要實現這個東西帶來的功能,不必想最優的,先執行成功即可。如果執行
成功了,那麼就可以優化了,從自己想的開始。後面再看看大神們寫的例子,看覺得那個地方
很厲害很優美,可以借鑑一下加深理解。(記錄那些年我踩過的坑2018.10.31)

36.convenientbanner圖片輪播開源框架
https://github.com/Bigkoo/Android-ConvenientBanner

37.BGABanner圖片輪播開源框架(比上面好些,可以做引導頁,也可以做輪播)
https://blog.csdn.net/wangwangli6/article/details/72865402

38.CountDownTimer簡單的倒計時實現
https://www.cnblogs.com/SomnusLove/p/4000500.html

39.在使用rxjava的observer的時候,該類會生成4個方法,而有些方法不必要每次都用上,這樣導致的結果就是看上去程式碼多餘。有時候我可能只會用到這個類的1個方法,其他3個方法我不想他每次都出現。解決方法還是有的,思路大致和base類(統一管理的父類如:BaseActivity)有關。就是抽象一個方法出來,其他的3個方法都直接在base類裡面實現了,後面再用到的地方繼承或例項化base類就行了,到時候只會要求實現你的抽象方法。而其他3個自己有特殊需求的時候,也可以重寫。可以參考

40.dialog的彈出方式,上彈出,中間彈出,底部彈出