ã¯ããã«
ããã«ã¡ã¯ï¼ã¡ããã¢ã«ã¦ã¢ãã¤ã«ã¢ããªã¨ã³ã¸ãã¢ããã¦ããä½è¤ã§ãã
ä»å¹´ã®DroidKaigiã«ãå¼ç¤¾ã¯ãµãã¼ã¿ã¼ã¨ãã¦åè³ããç·å¢3åã®ã¢ãã¤ã«ã¢ããªã¨ã³ã¸ãã¢ããªãã©ã¤ã³ã«ã¦åå ãã¾ããã
å®éã«è¶³ãéãã ã»ãã·ã§ã³ãä¸å¿ã«ãDroidKaigi 2024ã®åå ã¬ãã¼ãããå±ããããã¾ãã
ã»ãã·ã§ã³ã«ã¤ãã¦
Android ViewããJetpack Compose㸠ãJetpack Compose移è¡ã®ãããã
syarihuããã«ããã»ãã·ã§ã³ã§ãã
ãã®ã»ãã·ã§ã³ã§ã¯Jetpack Composeã¸ã®ç§»è¡ã®é²ãæ¹ãä¸å¿ã®ã話ã¨ãªãã¾ãã
å¼ç¤¾ã§ã¯è¤æ°ã®ã¹ããã¢ããªããªãªã¼ã¹ãã¦ããã¾ãããã»ã¨ãã©ã®ã¢ããªãAndroidViewã§å®è£
ããã¦ããçºãä»å¾ç§»è¡ãé²ãã¦ããéã®åèã«ãªãå
容ãã¦ããçãã§ããã
ãã§ã«åãã¦ããã¢ããªã§ã¯FullComposeåãç®æãã®ã¯ãã°ã¬ã®ãªã¹ã¯é¢ããè
°ãéããªã£ã¦ãã¾ãé¨åãããã¾ãããUIã®æç»ã ããComposeåããæ¹æ³ãå®ä¾ãåºã«ãã移è¡ã®ã話ãªã©ããããå¼ç¤¾ã¢ããªã§ã移è¡ãé²ããéã®æ¦ç¥ã«åãå
¥ãã¦é²ãã¦ããããã¨æãã¾ããã
2024å¹´ã®ããã²ã¼ã·ã§ã³ã»ãã©ã¼ã«ã¹å¯¾å¿ï¼Composeã§ãã¼ãã¼ãã»ããã²ã¼ã·ã§ã³ããµãã¼ãããã
Tiphaine (ãã£ãã§ã³)ããã«ããã»ãã·ã§ã³ã§ãã
ããã²ã¼ã·ã§ã³ã»ãã©ã¼ã«ã¹ã®èª¬æããå®è£
æ¹æ³ããããã°ã®ããæ¹ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
ç§ã¯ããã²ã¼ã·ã§ã³ã»ãã©ã¼ã«ã¹å¯¾å¿ã®å®è£
çµé¨ããªãã£ãçºãã¨ã¦ãèå³æ·±ãåå¼·ã«ãªãå
容ã§ããã
ç¥èã¨ãã¦ç¥ã£ã¦ããã¨ããã ãã§ãã¢ããªæ¹åã®éã®ææ¡ã®å¹
ãåºããã®ã§ãæ¬ã»ãã·ã§ã³ãéãã¦Androidã¢ããªã¨ã³ã¸ãã¢ã¨ãã¦ä¸æ®µéæé·ãããã¨ãåºæ¥ãã¨æãã¾ãã
ã¾ããä½è«ã«ã¯ãªãã¾ããæ¬ã»ãã·ã§ã³ã®ã¹ãã¼ã«ã¼ã§ããTiphaineããã¯å¼ç¤¾ã®å
社å¡ã§ãããMedPeeræ代ã«ã¯å¤ãã®ãã¨ãå¦ã°ãã¦ããã ãã¾ããã
ã»ãã·ã§ã³å¾ã«ã¯å¼ç¤¾ã¢ãã¤ã«ã¢ããªã¨ã³ã¸ãã¢ã¨è¨å¿µæ®å½±ãè¡ããããã°ã¸ã®æ²è¼ã快諾ãã¦ãã ããã¾ããã
Tiphaineããã®å¤å¤§ãªããåæ
ã«å¿ããæè¬ç³ãä¸ãã¾ãã
è¦ç´ï¼
ããããï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
ä»åº¦ã¿ããªã§é£²ã¿ã«è¡ãã¾ãããð»
KSPã®å°å ¥ã»ç§»è¡ãååãã«æ¤è¨ãããï¼
shxun6934ããã«ããã»ãã·ã§ã³ã§ãã
KSPã¨kaptã®èª¬æã移è¡ã®ã¡ãªãããªã©ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
å¼ç¤¾ã®ã¢ããªã®ä¸ã«ã¯DataBidingãå¤ç¨ãã¦ããã¢ããªããããDataBindingã¯KSPã«é対å¿ã§ãããã¨ããKSPã¨kaptãä½µç¨ããã¨ãã«ãæéãé
ããªãã¨ããã®ã¯ã¾ãã«ç´é¢ããããªå
容ã ã£ãçºãæ¬ã»ãã·ã§ã³ã§äºãç¥ãã¦è¯ãã£ãã§ãã
ä»å¾K2ã¸ã®ç§»è¡ã«ä¼´ãKSPã¨kaptå¨ãã¯è§¦ããé¨åã«ãªã£ã¦ãã¾ãã®ã§ããã®ã»ãã·ã§ã³ã®å
容ã¯ã¿ã¤ã ãªã¼ã§ã¨ã¦ãåèã«ãªãã¾ããã
é»æ± 寿å½ãèããä½ç½®æ å ±ã®ç£è¦æ¹æ³ãèããï¼Geofenceï¼
ã¯ãã¡ãããã«ããã»ãã·ã§ã³ã§ãã
Geofenceã®èª¬æãèªä½ã®Geofenceã¨GMSã®æ¯è¼ãªã©ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
Geofenceã®æ©è½ãæ±ãã¢ããªã¯ãã¾ãå¤ãã¯ãªãã¨æãã¾ãããå¼ç¤¾ã®ãªãªã¼ã¹ãã¦ããã¢ããªã®ä¸ã«ã¯Geofenceãç¨ãã¦ããã¢ããªããã£ãçºã¨ã¦ã親åæ§ãæããã»ãã·ã§ã³ã§ããã
ç§èªèº«ãGeofenceå¨ãã®ã³ã¼ãã«è§¦ãããã¨ã¯ããã¾ãããç§ã1ããéçºããã®ã§ã¯ãªãåä»»è
ããå¼ãç¶ãã ã¢ããªã®çºGeofenceã®ç解ã¯æµ
ç¬ã ã£ãçºãæ¬ã»ãã·ã§ã³ãéãã¦ç解ãæ·±ãããæ¬å½ã«è¯ãã£ãã§ãã
ä½è«ã§ãããã®ã»ãã·ã§ã³ãèããå½æ¥ã«Geofenceã«é¢é£ããissueãç«ã¦ãããçºãã楽ãããï¼ãã£ã¦ãªããªãã対å¿ãé²ãããã¾ããï¼ç¬
ä»çµã¿ããç解ããï¼Composeãã¬ãã¥ã¼ãæ§ã ãªããªã¨ã¼ã·ã§ã³ã§ã¹ã¯ãªã¼ã³ã·ã§ãããã¹ãããã
Sumio Toyama (sumio_tym)ããã«ããã»ãã·ã§ã³ã§ãã
åã©ã¤ãã©ãªã®èª¬æããã¹ãã®å®è£
æ¹æ³ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
ã³ã¼ããä¸å¿ã«ã話ããããæ¬ã»ãã·ã§ã³ãéãã¦å®è£
æ¹æ³ãåèã«ãªãã®ã¯ãã¡ããã®ãã¨ãã¹ã¯ãªã¼ã³ã·ã§ãããã¹ãã¸ã®ç解ãã¨ã¦ãæ·±ã¾ãå
容ã§ããã
æ¬ã»ãã·ã§ã³ã®ã話ã§ããã£ããããªç¹å®ã®ããªã¨ã¼ã·ã§ã³ã«ãããUIã®ãã°å¨ãã¯ã¾ãã«å¾åãã«ããã¡ã ã£ãããã¤ãã¢ã¼ãèªä½ã«ã¾ã 対å¿ãã¦ããªãã£ããã ã£ãçºãä»å¾åãå
¥ãã¦ããããå
容ãæºè¼ã®ã»ãã·ã§ã³ã§ããã
ã¢ããªããªãªã¼ã¹ã§ããç¶æ ã«ä¿ã£ãã¾ã¾æ®µéçã«ãªãã¡ã¯ã¿ãªã³ã°ããããã®æ¦ç¥ã¨æ¦è¡
Yuki Anzaiããã«ããã»ãã·ã§ã³ã§ãã
ãªãã¡ã¯ã¿ãªã³ã°ãé²ããä¸ã§ã®æ¦ç¥ããå®éã«ã©ã®ããã«ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããã³ã¼ãã交ãã¦ã®ã話ã§ããã
åèã«ãªããªãã¡ã¯ã¿ãªã³ã°ä¾ãã¦ããçãã§åå¼·ã«ãªã£ãã®ã¯ãã¡ããã®ãã¨ãå質ãç¶æããã¾ã¾ãªãã¡ã¯ã¿ãªã³ã°ãé²ããä¸ã§ã®æ¦ç¥ãã¨ã¦ããããããã説æããã¦ããã¾ããã
ç¹ã«æ¦ç¥â ã§ãã£ãç°å¢ãæ´ããã®é¨åã«ã¤ãã¦ã¯æ¹ãã¦ã¨ã¦ã大åã ã¨å®æãã¾ããã®ã§ãå¼ç¤¾ã¢ãã¤ã«ã¢ããªã¨ã³ã¸ãã¢å
ã«ããã¦ãå¨ç¥ãè¡ãããã¨æãã¾ãã
Jetpack Composeã«ãããShared Element Transitionsã®å®ä¾ã¨å°å ¥æ¹æ³ ã¾ããã®ä»çµã¿
hyogaããã«ããã»ãã·ã§ã³ã§ãã
Shared Element Transitionsã®èª¬æããå®è£
æ¹æ³ã«ã¤ãã¦ã®ã話ã§ããã
Shared Element Transitionsã¸ã®ç解ãæ·±ã¾ã£ãã®ã¯ãã¡ããã®ãã¨ããµã³ãã«ã¢ããªãç´ æ´ããããããªç´ æµãªã¢ããªã®ã³ã¼ããGitHubä¸ã§å
¬éããã¦ãããã¨ã«æè¬ãå ªãã¾ããã
ç¹ã«é·ç§»ã¢ãã¡ã¼ã·ã§ã³ä¸ã®HorizontalPagerã®ã¹ã¯ãã¼ã«ãç¡å¹ã«ãããã°å¯¾å¿ã®é¨åã¯çµæ§ãªèºããã¤ã³ãã ã¨æãã¾ããããç§ãå®è£
ãã¦ãããä½è£ã§é ãæ©ã¾ãã¦ããèªä¿¡ãããã¾ãç¬
ãããã®è§£æ¶æ¹æ³å«ãç¥ããã¨ãåºæ¥ã¦ã¨ã¦ãé¢ç½ãã»ãã·ã§ã³ã§ããã
åæã«è£æã¡ãããã¢ããªã¦ã£ã¸ã§ããéçº - Jetpack Glanceã¨ã¨ãã«
Miyabi GoujiãããYuri Oguraããã«ããã»ãã·ã§ã³ã§ãã
ã¦ã£ã¸ã§ããã«é¢ãã説æãã¦ã£ã¸ã§ãããè¨ç½®ãããã¨ã«ããKPIã¸ã®è²¢ç®ãå¹ææ¤è¨¼ãå®è£
æ¹æ³ãªã©ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
å人çã«ã¯ãã®ã»ãã·ã§ã³ãä¸çªé¢ç½ãã£ãã§ãã
ç¹ã«ãã¼ã¿åæå¨ãã«ã触ãããã¦ãããã¦ã£ã¸ã§ãããäºæ¥ã«å¯¾ãã¦ã©ã®ããã«è²¢ç®ããããã¦èªç¥åº¦ã®å°ãªãã¦ã£ã¸ã§ããæ©è½ãã©ã®ããã«è¨´æ±ãããã«ã¤ãã¦ã話ããã¦ãããæ¬ã»ãã·ã§ã³ã®å
容ã¯ã¢ãã¤ã«ã¢ããªã¨ã³ã¸ãã¢ã ãã§ãªãã¢ããªã«æºãããã¼ã ã¡ã³ãã¼ã«å¯¾ãã¦ãç¥ã£ã¦ããã¦ãããããå
容ã§ããã
YouTubeã«ã¢ãããã¼ããããå¾ã¯æ©é社å
ã®ãã¼ã ã¡ã³ãã¼ã«ãã·ã§ã¢ãã¾ããï¼
2024å¹´ææ°çï¼Androidéçºã§å½¹ç«ã¤çæAIå¾¹åºæ¯è¼
Nishimyãããwirohaï¼ããã¯ï¼ããã«ããã»ãã·ã§ã³ã§ãã
GeminiãGitHub CopilotãChatGPTã®æ¯è¼ããæ´»ç¨äºä¾ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
çæAIã¯ä»ã§ã¯éçºã«ããã¦ãªãã¦ã¯ãªããªããã¼ã«ã®ä¸ã¤ã§ãããå¼ç¤¾ã«ããã¦ãCopilotã¯å¸æããã¨ã³ã¸ãã¢å
¨å¡ã«ãChatGPTã社å
çChatGPTã®æ§ç¯ãè¡ããã¨ã³ã¸ãã¢ä»¥å¤ã«ãå¤ãã®ã¡ã³ãã¼ãæ´»ç¨ãã¦ããã¾ãã
åçæAIã®å®åã¬ãã«ã§ã®æ´»ç¨ä¾ãæ¬ã»ãã·ã§ã³ã§ç¥ããã¨ãåºæ¥ãå¼ç¤¾ã«ããã¦ãããä¸å±¤çæAIã®æ´»ç¨ãä¿é²ãã¦ããããã¨æããç´ æ´ãããã»ãã·ã§ã³ã§ããã
社å çChatGPTã®æ§ç¯ã«é¢ãã¦ã¯è¨äºãå ¬éããã¦ãã¾ãã®ã§ãèå³ã®ããæ¹ã¯ãåç §ãã ããã
使ã£ã¦ç¥ãCustomLayout. vs DailyScheduler
Saiki Iijimaããã«ããã»ãã·ã§ã³ã§ãã
CustomLayoutã«é¢ãã説æããDailySchedulerã®å®è£
æ¹æ³ã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
ã´ãªã´ãªã®JetpackComposeã»ãã·ã§ã³ã§CustomLayoutã«é¢ããç解ãæ·±ã¾ã£ãã®ã¯ãã¡ããã®ãã¨ã8:28辺ãã«ããåé¢æ°ã®ä½¿ãåããåºæ¥ãããã¼ãã£ã¼ãã¯ããããããã¦æé«ã§ãã
ã¬ã¤ã¢ã¦ãå¨ãã¯è§¦ãããã¨ã®å¤ãç®æãªã®ã§ãæ¬ã»ãã·ã§ã³ãç解ãããã¨ã§ã¬ã¤ã¢ã¦ãæ§ç¯ã«ãããé¸æè¢ã®å¹
ãåºããç´ æ´ãããã»ãã·ã§ã³ã§ããã
Androidã¢ããªã®UIããªã¨ã¼ã·ã§ã³ããã®æãã®æã§ç¢ºèªãã
Nozomi Takumaããã«ããã»ãã·ã§ã³ã§ãã
ã¿ã¤ãã«éãUIããªã¨ã¼ã·ã§ã³ã®ç¢ºèªã«é¢ããæ§ã
ãªèª¬æã«ã¤ãã¦è§¦ãããã¦ãã¾ããã
å¤ãã®ç¢ºèªæ¹æ³ã®èª¬æãããã¨ã¦ãåå¼·ã«ãªãã¾ãããç¹ã«ãã©ã«ããã«ç«¯æ«ã®ç¢ºèªæ¹æ³ã«ã¤ãã¦ã¯çãé¨åãããã¾ããã®ã§ããã©ã«ããã«ç«¯æ«ã®ç¢ºèªãVirtual sensorsæ´»ç¨ä¾ã®é¨åã¯æ¬å½ã«å©ããæ
å ±ã§ããã
å®è·µï¼é£èªåã¬ã¤ã
ã¿ã£ã¡ããããã«ããã»ãã·ã§ã³ã§ãã
ã¿ã¤ãã«éã丸ã
é£èªåã«é¢ããã話ã§ãã
é£èªåå¨ãã¯ãã¾ã«ãã触ããªãã®ã§è¥å¹²è¦ææèããã£ãã®ã§ããããã®ã»ãã·ã§ã³ã®ãé°ã§é£èªåé¢ç½ãï¼ã¨ãªãã¾ããã
ç¹ã«åçååã«åºã¥ãã¦ç«ã¡åãããï¼ã®ã話ã¯ã³ã¢ãªå
容ã§ãããªãããã¨ã¦ãããããããã¾ã¨ãããã¦ãããã¡ããã¡ãé¢ç½ãã£ãã§ãã
ä½è«ã«ã¯ãªãã¾ããå¼ç¤¾ã§ã¯å®æçã«åå¼·ä¼ãå®æ½ãã¦ããã®ã§ãããç¾å¨ã¯OWASP Mobile Top 10ã«é¢ããåå¼·ä¼ãå®æ½ãã¦ããããã®ã»ãã·ã§ã³ãèã2æ¥åã« M7: Insufficient Binary Protection Threat Agents
ã®ç« ã«é¢ããåå¼·ä¼ãå®æ½ãã¦ãªãã¼ã¹ã¨ã³ã¸ãã¢ãªã³ã°ã«é¢ãã¦èªã£ãå¾ã§ããã®ã§ããä¸å±¤é£èªåã»ãã·ã§ã³ã楽ããã¾ããã
é£èªåã®ã»ãã·ã§ã³ã¨åããã¦OWASP Mobile Top 10ã®ãã¡ãã®ç« ãèªããã¨ã§ããä¸å±¤ç解ãæ·±ã¾ãã¨æãã¾ãã
ã¹ãã³ãµã¼ãã¼ã¹ã«ã¤ãã¦
ã¹ãã³ãµã¼ãã¼ã¹ã«ãå¤ãã®äººããã¦è³ãããè¦ãã¦ããããã¹ã¦ã¯åãããã¾ããã§ãããç§ãå¤ãã®ã¹ãã³ãµã¼ãã¼ã¹ã«è¶³ãéã°ãã¦ããã ãã¾ããï¼
ãã¼ã¹ã«è¶³ãéã¶ãã¨ã§å社ã«å¯¾ããç解ãæ·±ã¾ãããã¼ã¹ã¸è¶³ãéãã ãã¨ããã£ããã«æ°å¤ãã®ã¢ããªãã¤ã³ã¹ãã¼ã«ãã¾ããï¼
話ãèããå¾ã«å®éã«ãã®ä¼ç¤¾ã®ã¢ããªã®UI/UXã«è§¦ããã®ã¯ãªã¢ã«ã§äº¤æµããå¾ã¨ãããã¨ããããã¡ããã¡ãé¢ç½ãã§ãã
話ãèãã¦ãµã¼ãã¹é¢ã§ç¹ã«é¢ç½ãã£ãã®ã¯MagicPodããã§ãã
ä¸é¨å¼ç¤¾ã®ãµã¼ãã¹ã§ãã³ã¢æ©è½ã¨ãªãç®æã¯Espressoãç¨ãã¦UIãã¹ãã®å°å
¥ãé²ãããããã¾ããããã³ã¢æ©è½ããã«å¤æ´ãå
¥ãå£ãããã¨ãå¤ã
ããã¡ã³ããã³ã¹ã«ã¯è¦å´ãã¦ããã®ã§ãããä½ã¨MagicPodããã§ã¯AIãèªåã§ã¹ã¯ãªããä¿®æ£ãè¡ãªã£ã¦ãããã¨ã®ãã¨ï¼ï¼ï¼
UIãã¹ãã®å°å
¥ã³ã¹ããä¸ããã ãã§ãªãã¡ã³ããã³ã¹ã³ã¹ããä¸ããããç´ æµãªãµã¼ãã¹ã ã¨æãã¾ããï¼
ã¾ããããã«ãã£ãå¤ãããã ãã¾ããï¼
ã©ããç´ æµãªããã«ãã£ã°ããã§ããããå人çã«ç¹ã«å¬ããã£ãã®ãã¿ã¤ãã¼ããã¨newmoããã®ããã«ãã£ã§ãã
ã¿ã¤ãã¼ããã®ãã¼ã¹ã§ã¯ã¬ãã£ãåãã¿ã³ãã©ã¼ãå½ãã£ãã®ã§ããã飲ã¿ç©ãç¾å³ãã飲ãã®ã¯ãã¡ããããã´ãã¨ã¦ãå¯æãã®ã§MTGã§ã¡ãã£ã¨ããéè«ã®éã®ãã¿ã«ããªããããªã®ã§éå®ãã¦ããã¾ãã
newmoããã§ã¯ãã§ã¤ã¹ã¿ãªã«ãããã ãã¾ãããç§ã¯è¶£å³ã§æ¯é±ã¹ã¼ãã¼é湯ã«éãæä¸ãã¼ã¹ã§é å¾ãè¡ãªã£ã¦ãããæ°ããé湯æ½è¨ã«è¡ã£ãéã¯æ¸©æ³ã¿ãªã«ãåéãã¦ããä½æ¸©æ³ã¿ãªã«ã好ããªã®ã§ããã®ããã«ãã£ã¯æ¬å½ã«å¬ããã£ãã§ãã
ãã®ãã§ã¤ã¹ã¿ãªã«ãæã£ã¦DroidKaigiã®ç¿æ¥ã«ã¹ã¼ãã¼é湯ã§æ©éæ´»ç¨ããã¦ããã ãã¾ããï¼
åå®ã«è²©å£²ããã¦æ¬²ããâ¦ï¼ç¬
æå¾ã«
DroidKaigi 2024ã¯ã»ãã·ã§ã³ã«ããåå¼·ããã¼ã¹ã§ã®äº¤æµã¨å¾ããã¨ãå¤ãã¨ã¦ãææ義ãªå¤§ä¼ã§ããï¼
ãã®ãããªç´ æµãªå¤§ä¼ãæä¾ãã¦ãã ãã£ãDroidKaigiéå¶ã®æ¹ã
ã»ã¹ãã¼ã«ã¼ã®çæ§ã»å¤ãã®ä¼æ¥ã»DroidKaigiã«é¢ãããã¹ã¦ã®æ¹ã
ã«æè¬ãç³ãä¸ãã¾ãã
ã¾ãæ¥å¹´ãåå ã§ãããã¨ã楽ãã¿ã«ãã¦ããã¾ãï¼
æ¯éèªè ã«ãªã£ã¦ãã ããï¼
ã¡ããã¢ã§ã¯ä¸ç·ã«åã仲éãåéãã¦ãã¾ãã ãå¿åããå¾ ã¡ãã¦ããã¾ãï¼
â åéãã¸ã·ã§ã³ã¯ãã¡ã medpeer.co.jp
â ã¨ã³ã¸ãã¢ç´¹ä»ãã¼ã¸ã¯ãã¡ã engineer.medpeer.co.jp
â ã¡ããã¢å ¬å¼YouTubeã www.youtube.com
â ã¡ããã¢å
¬å¼note
style.medpeer.co.jp