Annictã®Androidã¢ããªãKotlinã§ã¤ãã£ã
Kotlinã®å ¥éãã¦ãä½ã£ãã®ã§ããããªãªã¼ã¹ã«è³ãã¾ã§ã®æµãã¨ãå©ç¨ãã¦ãã©ã¤ãã©ãªã¨ãã®è©±ãããããããªã¨æãã¾ãã
ãã£ãã以ä¸ã®è©±ãããããã¨æãã¾ãã
- ä½ã£ããã®ã«ã¤ãã¦
- éçºæéã«ã¤ãã¦
- Kotlinã«ã¤ãã¦
- å©ç¨ããã©ã¤ãã©ãªãªã©ã«ã¤ãã¦
- CIã«ã¤ãã¦
- ã¿ã¹ã¯ç®¡çã«ã¤ãã¦
ä½ã£ããã®ã«ã¤ãã¦
ç»é¢ã¯ãããªæãã§æ®éã«RecylerViewã§ã®ãªã¹ã表示ã§ãã ä»åã¯ãAndroid Architecture Componentsã®PagingLibraryã使ã£ã¦ããªã楽ã§ãã¾ãããï¼ã¾ããã¨ã§èª¬æãã¾ãï¼
ãã®ã¢ããªã®èªåã®ç¨éã«ã¤ãã¦
æ¯ã¯ã¼ã«30ä½åã¨ãå ¨é¨è¦ã¦ãã¨æéãããããã£ã¦ã足ããªãã®ã§ã è¦è´ä¸ã¢ãã¡ã§ã¢ããã¼ã·ã§ã³ãä½ããªã£ã¦ãä½åã®ã¹ãã¼ã¿ã¹ãï¼è¦ã¦ã -> ä¸æä¸æ -> è¦è´ä¸æ¢ï¼ã«ã¡ããã¨æ´æ°ãããã£ãã ã¨ããã¢ããã¼ã·ã§ã³ã§ä½ãã¾ããã
ã©ã®ã¢ãã¡è¦³ããããªãã¨ãã®ç¨éã§ã¯ãªãã観ã¦ãåæã§èªåã¯ä½ã観ãããªããã¦ããã®ãï¼ãèªåã次ã«è¦³ãã¹ãã¢ãã¡ã¯ã©ããªãã ã¨ããã®ãææ¡ãã¦ç¢ºå®ã«æ¶åãã¦ããç¨éã§ãã
ã¡ãªã¿ã«è¦è´æã®èªåã«ã¼ã«ã¯ãããªæã
- ä»æã§3話以ä¸æªè¦è´ãæºã¾ã£ãã
ä¸æä¸æ
ã«ãã ä¸æä¸æ
ã«ãããã®ã¯ã¯ã¼ã«ã®çµãã£ãã¨ãã«æ¯ãè¿ã£ã¦è¦ããã©ããï¼ãä»ã®äººã®ã¬ãã¥ã¼ãªã©ãåèã«æ±ºãã- ããã§è¦ãªããé¸æããå ´åã¯ã
è¦è´ä¸æ¢
ã«ãã
ã¢ããªå©ç¨ã®åææ¡ä»¶
- Annictãçµæ§ä½¿ã£ã¦ãã¦ã¼ã¶ã¼
- 大ä½ä»æãã£ã¦ãã¢ãã¡ãææ¡ãã¦ã
- Annictã®ãã£ã³ãã«ç»é²ãã¡ããã¨è¨å®ãã¦ãã
- ã¾ã¨ãã¦è¦è´ããããããæ¯æ¥ä»æã¢ãã¡ãæ¶åãã¤ã¥ãã¦ããã¢ãã¡å¥½ã
ãä»æã¯ããã ï¼ãã¿ãããª1ç¹èªã¿ã¨ãããªãã§ãã»ã¼æ¯ã¯ã¼ã«7å²è¿ãã®ä½åã®æ°è©±ã観ã¦å¾ã ã«è¦³ãä½åãåã£ã¦ããæãã®äººã ã¨å°è¯ã
éçºæéã«ã¤ãã¦
æåã«12/2ãããã«éçºãã¹ã¿ã¼ããã¦ãæä½éã®æ©è½ã1æ¥ã2æ¥ãããã§ä½ã£ã¦ã¡ããã£ã¨ãã°ç´ããããã¦ãã®ã12æååã
å¹´æ«ã¾ã§ã¡ããã¡ãã触ã£ã¦ã1/4ã1/8ã§ä¸æ°ã«ä»ä¸ãã¾ããã
12ä¸æ¬ãããã®æç¹ã§ããããåãã¦ãã®ã§ãããã¨æ¯æ¥å人çã«ä½¿ã£ã¦ããã°ãã¼ãã£ã³ã°ã§ãã¦ãã®ã¯çµæ§ã¢ããã¼ã·ã§ã³ã«ã¤ãªãã£ã¦ããã£ãã å¾ã¯ããããï¼ãã£ã¦æ°æã¡ã¨ä¸æ°ã«ããæéãããã®ããã£ã±ã大äºã§ããã
Kotlinã«ã¤ãã¦
Kotlinã«ã¤ãã¦ã§ãããã¨ã«ããæ¸ããããã¦ã³ã¼ãæ¸ãã¦ã¦æ°æã¡ããã£ããªããã¨ããæãã§ãããäºåã«ä»¥ä¸ã®æ¸ç±ãèªãã§ããã®ã§ãã²ã¨ã¾ãã»ã¨ãã©å°ããéçºã§ãã¾ããã ãã ããã£ã¨ãã¾ãæ¸ããã®ããªãã¨ãæããªããæ¸ããã³ã¼ããçµæ§ããã®ã§ãä»å¾ããªãã¡ã¯ã¿ãªã³ã°ãã¦ãããã°ã¨æãã¾ãã
Kotlinã¤ã³ã»ã¢ã¯ã·ã§ã³
- ä½è : Dmitry Jemerov,Svetlana Isakova,é·æ¾¤å¤ªé,è¤åè,å±±æ¬ç´å¹³,yy_yank
- åºç社/ã¡ã¼ã«ã¼: ãã¤ããåºç
- çºå£²æ¥: 2017/10/31
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- ãã®ååãå«ãããã° (1件) ãè¦ã
Kotlinã¹ã¿ã¼ããã㯠-æ°ããAndroidããã°ã©ãã³ã°
- ä½è : é·æ¾¤å¤ªé
- åºç社/ã¡ã¼ã«ã¼: ãªãã¯ãã¬ã³ã
- çºå£²æ¥: 2016/07/13
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- ãã®ååãå«ãããã° (1件) ãè¦ã
å©ç¨ããã©ã¤ãã©ãªãªã©ã«ã¤ãã¦
- Crashlytics: ã¯ã©ãã·ã¥ã¬ãã¼ããªã©
- Dagger2: DI
- kotterknife: view binding
- retrofit2 + okhttp: ã決ã¾ãã®éä¿¡ã¾ãã
- glide: ç»åã¾ãã
- Aboutlibraries: ã©ã¤ã»ã³ã¹è¡¨ç¤ºã®UIçæ
- Android Architecture Components
- LiveData: RoomãViewModelã¨åããã¦å©ç¨ï¼ãã¼ã¿ã®æµããããæãã«ï¼
- ViewModel: ç»é¢å転æã¨ãã®ãã¼ã¿ä¿æãLiveDataã¨ã»ããå©ç¨
- Room: SQLiteã®ã¢ã¯ã»ã¹ããæãã«ãããã¤
- PagingLibrary: RecyclerViewã®å 容ãLiveDataã¨åæããã
PagingLibraryã«ã¤ãã¦
ä»åç¹ã«å½¹ç«ã£ããã¡ãã«ã¤ãã¦ããã¡ãã£ã¨èª¬æã ã¨ã¯è¨ãã以ä¸ã®å³ãè¦ãã®ãä¸çªæ©ãï½
ç»åå¼ç¨å : https://developer.android.com/topic/libraries/architecture/paging.html
ä»åã§è¨ãã¨Roomçµç±ã§SQLiteã®ãã¼ã¿ããã®ã¾ã¾RecyclerViewã®ãªã¹ãã«å¯¾å¿ãã¦ããæãã«ãªã£ã¦ã¾ãã
ä¾ãã°ãæ°ãããã¼ã¿ãInsertããã¨åç
§ãã¦ããRecyclerViewã¯ãã³ããªã³ã°ããã³ã¼ãçæ¸ããã«PagingLibraryå
㧠notifyItemInserted(position)
ãå¼ã³åºãã¦ããã¾ããDeleteããå ´åã¯åæ§ã« notifyItemRemoved(position)
ã§ããã
ã¤ã¾ããSQLiteå´ã®ãã¼ã¿ãã©ãæ´æ°ããããæèããã ãã§Viewã«ã¯ããæãã«åæ ãã¦ãããã¨ããæãã§æé«ã§ããã ãã¡ããLiveDataãªã®ã§ãç»é¢å転æãªã©ã«Activityãåçæããã¦ãã¡ããã¨observeããã³ã¼ããå度å¼ã³åºããã¦ã¯ã©ãã·ã¥ãããããªãã¨ãç¡ãããªã楽ã§ããã
ãã ãããªãã¬ã¼ã«ã«ä¹ã£ã¦ãæã¯ããã®ã§ã¡ãã£ã¨ã¬ã¼ã«ãå¤ãããããªãã¨ããããã¨ããã¨ãSQLiteã«å¤ãªãã¼ã¿ãçªã£è¾¼ãã§ç¡çããViewHolderã®å¦çã§ãã³ããªã³ã°ãã¦ãã¿ãããªæãããã§ããªããããªç¹ãªã©ããç¨åº¦è«¦ããå¿ è¦ããããã¾ããã
ãããã£ã¡ãéçºã¯æ¥½ã«ãªã£ãã®ã§ä»å¾ã使ã£ã¦ããããã¨æãã¾ãï¼
CIã«ã¤ãã¦
ä»åãBitriseãåãã¦ä½¿ãã¾ãããã¨ã«ããæé«ã§ããã éå»ã«WerckerãCircleCIã§Androidã®buildããã¦ããã¨ãã«æ¯ã¹ã¦ãããã¨ãå ¨ç¶ç¡ãã¦ãæ®ã©ãWebã³ã³ã½ã¼ã«ä¸ã§å®çµãã¦ã¨ã«ããæé«ã§ããã keytoolã®ç®¡ççããã¤ãæ©ã¾ããã¦ããã®ã管çãã¦ããããGooglePlayStoreã¸Uploadããstepãç¨æããã¦ããããªã©å©ããã¾ããã
CircleCIãwerckerã ã¨ãã¾ã«è¬ã®ã¡ã¢ãªä¸è¶³ï¼ã¨ãã®build失æããã£ãã®ã§ããããããçºçããªããªã£ãæ°ããã¾ãã
ã¿ã¹ã¯ç®¡çã«ã¤ãã¦
Zenhubã使ã£ã¦ããã¾ããããã¤ã³ãã®è¦ç©ããã¯çµæ§éã ã£ããã§ããã ãµã¯ãã¨çµããããããç²åº¦ã«ã¿ã¹ã¯ãåå²ãã¦ãã®ã§ã¾ãã¾ãããæãã ã£ãæ°ããã¾ãã
ã¿ã¹ã¯ã®ä¸é¨ãæç²ãããã®ããã¡ãã§ããæåã«ã°ã¼ã£ã¨10ã¿ã¹ã¯ã¤ããä½ã£ã¦åªå 度決ãã¦éçºãé²ãã¦ãããã¡ã«ãã³ãã³ã¿ã¹ã¯ã追å ãã¦ããã®é½åº¦åªå 度ãå¤ãã¦ã¿ãããªæãã§ã¬ã³ã¬ã³ãã£ã¦ã¾ããã
ä»å¾
ã²ã¨ã¾ãç´°ãããã°ä¿®æ£ãåªå ãã¦ãããã¨æãã¾ãã ç¾ç¶Annictã®Webå´ã§è¨å®ããåæã«ãªã£ã¦ãããã£ã³ãã«è¨å®ã¨ãè¦è´ç¶æ³ã®å¤æ´ã¨ããã¢ããªå ã§åºæ¥ãããã«ãã¨ããæ°ãåãããããããããã¾ããã
ãã°å ±åã¨ããæ°è»½ã«ãå¾ ã¡ãã¦ããã¾ãã®ã§ãä½åãææããã«ã