1. 程式人生 > >我的第一個Kotlin專案

我的第一個Kotlin專案

寫在前言

自從Google I/O 2017 宣佈支援Kotlin併發布了Android studio 3.0 之後;就按耐不住心中的衝動立馬去學習了kotlin這門語言。不過對於Google支援kotlin這門語言我覺得很多人有個誤解以為Google要拋棄Java了,我覺得現階段並不是,Google只不過增加了一門可以編寫Android的語言而已,畢竟Android的sdk什麼的都還是Java怎麼可能拋棄呢。對於剛入門Android的同學,我不建議上來直接就學kotlin,而是先去學Java;因為在Android中Kotlin呼叫的還是java,若再開發遇到什麼問題不懂Java會很難進行下去的。

正文

接觸kotlin之後最明顯的感受就是寫程式變得超級簡單了,沒有那麼多複雜的流程了,寫程式實在太爽啦��;下面介紹我是如何學習kotlin和在使用Kotlin遇到的問題

  • 如何學習Kotlin

    我是通過這篇網站來學習kotlin的,這裡面很詳細的介紹了kotlin的語法知識點,看完這些就可以掌握Kotlin的基礎了

  • 應用到Android專案上遇到的困難

    • 首先遇到的問題就是最常用的單例模式了,kotlin和Java還是有點不同的所以寫法也有所不同然後在網上搜了很多最後得出了自己的寫法,若有錯誤歡迎指正,具體請看這裡

    • 使用anko替代佈局XML;弄懂之後使用anko還是比較舒服的;關於如何使用anko,

      請看這篇文字

    • 使用rx系列 - 在編寫Android程式中我最喜歡使用rxjava了,可以說每個專案都會使用,所以第一步肯定是要把rxjava應用到kotlin中;這個過程中並沒有遇到什麼問題,只是寫法有點不一樣大部分結構都是使用lambda這種寫法,這個多寫幾遍就會了;但是當我想在kotlin使用retrofit+rxjava卻遇到了一點問題具體請看這篇文章

    • 使用dagger2(v2.11) - 由於dagger2增加了對Android的特別支援,然後網上也找不到幾篇關於此版本的說明所以在使用這個版本的時候是很痛苦的,摸索了很久,最後打通之後發現使用方法與Java並無差異��;關於使用請看這篇文章

    • 使用room(Room Persistence Library) - room 是Google在io大會上釋出的官方的資料庫ORM框架,使用起來真的超級非常方便,但是在kotlin中遇到的困難也是最大的。跟在Java上使用很不一樣;關於差異和如何使用,請看這篇文章

    以上就是在編寫專案中遇到的比較突出的問題了

    • 還有個未解決的問題就是用kotlin寫的自定義控制元件Android不能完全識別出來,所以專案中有兩個Java檔案;這個我在後面慢慢研究
  • 專案展示

    • 首先上效果圖,很大程度的去模仿了知乎日報的樣子��

專案截圖

    • 專案心得: 通過這次編寫徹底愛上了kotlin這門語言,真的實在是太讚了。不過現在編寫起來卻沒有java那麼方便,沒有有那麼多外掛可用。但是後面肯定會慢慢多起來的;以後有機會Android專案肯定用kotlin來編寫;

    • 然後這個專案個人覺得是一個很好的學習kotlin,dagger2,room,mvp的一個列子��

感謝支援,如果你覺得這個專案可以歡迎點star��