Android
Android ã® layout ãã¡ã¤ã«ã§ã¯ <merge></merge> ã¨ããã¿ã°ã使ããã¨ãã§ãã¾ãã ãã®è¨äºã§ã¯ãã®ã¿ã°ã®ä½¿ãæ¹ã«ã¤ãã¦æ¸ãã¦ããããã¨æãã¾ãã ã©ã®ããã«ä½¿ãã®ã ã¬ã¤ã¢ã¦ããã¡ã¤ã«ã®ã«ã¼ãã¿ã°ã¨ã㦠<merge></merge> ãè¨ç½®ãã¾ãã ãã®ã¿ã°ã®ä¸ã«ä»»æã®ã¿ã°ãé ç½®ãã¦ä½¿ãâ¦
å°å ¥ Android 11 ãã Wireless Debugging ãå°å ¥ããã¾ããã Android 11 以åã®Android 端æ«ã§ãã§ãã¦ã¯ããããã§ãã Android 11 ããã¯å°ç¨ã®UIã Developer option ã«å®è£ ãããã㤠adb ããã使ããããã³ãã³ãã使ããããã«ãªã£ãã¨ããèªèããâ¦
åææ¡ä»¶ Android 11 以é ä½ãããã®ã WindowInsets ã«è¿½å ãããæ©è½ãçµã¿åããããã¨ã§ãã¼ãã¼ãã表示ã»é表示ã«ãããç¾å¨ã®è¡¨ç¤ºç¶æ ãã³ã³ããã¼ã«ãã¦éã¹ããã ã£ãã®ã§æ¤è¨¼ãã¦ã¿ãè¨äºã§ãã ã½ã¼ã¹ã³ã¼ã ä»åéãã ã³ã¼ãã¯ãããªæãã§ããâ¦
Android 11 ãã ã«ã¹ã¿ã Toast ãéæ¨å¥¨ã«ãªãããã§ãã ã«ã¹ã¿ã Toast ã¨ã¯ ä¸è¬ç㪠Toast ã¯ããã¹ããç»é¢ã®ä¸é¨ã«ä¸å®æé表示ããã¦ã¦ã¼ã¶ã¼ã«éç¥ãéããã¨ãã§ããæ©è½ã§ãã by https://developer.android.com/guide/topics/ui/notifiers/toastsâ¦
ContextThemeWrapperã¨ã¯ ä»»æã®Contextã®Themeãä¸æ¸ãããContextãä½æãããã¨ãã§ãããã®ã§ãã ä½ãã§ããã®ã Viewã®ä½æãªã©ãè¡ãå ´åã«ContextThemeWrapper ã使ãä½æããContextã渡ããã¨ã§ä½ææç¹ã«æå®ããä»»æã®Themeãå©ç¨ãã¦Viewãä½ãâ¦
github.com æ®éã®Kotlin ã®ã³ã¼ãã§è¡¨ç¾ãã¦ãã£ã¦æããããï¼
å°å ¥ ViewGroup å ¨ä½ã§ããã«ã¿ãããæ¤ç¥ãããã¨ãããã¾ãããï¼ãããªæã®è§£æ±ºæ¹æ³ã§ãã åææ¡ä»¶ Android ã¢ã㪠ViewGroup å ã§ããã«ã¿ããããããæ¤ç¥ããã ææ¡ææ³ å¯¾è±¡ã¨ãªãViewGroup ã« GestureDelector ãã»ãããã¦ç£è¦ããã æé æ¤ç¥ãâ¦
ViewPager2 ã使ã£ã¦éçºããã¦ããã¨ãã«ã¹ã¯ã¤ããããããªãæãããã¨æãã¾ãã ãã ãxmlããåããã«ããã¨ä»»æã®ã¿ã¤ãã³ã°ã§ã¹ã¯ã¤ãã§ãããã®ç®¡çãã§ããªããªãã¾ãã ãã®ãããä»åã®ãããªè¨äºã®ãã¨ãå¿ è¦ã«ãªãã¾ãã çµè« ViewPage2ã«çãâ¦
tensorflow ã«ä»å±ãã¦ãããµã³ãã«ãå®è¡ãããã¨ããã¨ä»¥ä¸ã®ãããªã¨ã©ã¼ãçºçãããã¨ãããã¾ãã ä»åã¯ãããã解決ãããã¨æãã¾ãã ã¯ã©ã¹ Zerosã§å®£è¨ããã¦ããTã¯Objectãæ¡å¼µãã¾ã /Users/kuxu/.ghq/github.com/tensorflow/tensorflow/tensâ¦
Gradle è¸ã§ã¢ã¸ã¥ã¼ã«æ°ãå¢ãã¦ãè¨è¿°ãå¤ããªããªãæ§ã«ãã¦è¦ã¾ããã feature/data ã®ååã§ã¢ã¸ã¥ã¼ã«ããã©ã«ãåããã¦ããããã®ã§è¤æ°ã®ãã©ã«ããè¦ããã¨ãã§ãããæãã«ãªãæ§ã«ãã¦ã¿ã¾ããã ['feature', "data"] .asList() .each { folderNâ¦
æè¨ã¨ãè¦æãªã®ã§æ¸ãã éè¦ãªã®ã¯ã android.R.id.content 㧠Activity ã®ä¹ã£ã¦ã View ãåã£ã¦ãã¦ããã«è¡¨ç¤ºãã¦ã fun Fragment.showSnackbar( text: String, @BaseTransientBottomBar.Duration length: Int = Snackbar.LENGTH_SHORT ) { Snackbar.â¦
ã½ãªã¥ã¼ã·ã§ã³ã¯ãããã©ãæ¡å¼µé¢æ°ã§ã·ã¥ãã¨è§£æ±ºãã¦ããããã®ãã°ã°ã£ã¦ãåºã¦ããªãã£ãã®ã§æ¸ãã¾ããã ã½ã¼ã¹ã³ã¼ã inline fun <reified T> Gson.fromJson( json: String ): T { return this.fromJson( json, object : TypeToken<T>() {}.type ) } ä¸çªã·ã¥ãã¨</t></reified>â¦
横ã«é·ãã¦è§£å度ã®è¯ããã£ã¹ãã¬ã¤ãæ¸ãã¾ããã è²·ã£ããã¤ã®ç¹å¾´ 横ã«åºã 解å度ãé«ã USB-C ã«å¯¾å¿ãã¦ã HDMI ã«å¯¾å¿ãã¦ã ãªã¢ã³ã³ä»ã Amazonã§ç¿æ¥ã«å±ã ä¸å¿ãã²ã¼ãã³ã°ã¨ãè²ããªãã¡ããã¨ãæ¸ãã¦ããã¾ããèå³ãªã®ã§ã©ãã§ãããã§ããâ¦
ãã®åããã«ã½ã³ã§ Android ã¢ããªã§OSçµã¿è¾¼ã¿ã®é³å£°åæã¨ã³ã¸ã³ã使ã£ã¦ TextToSpeechãå®è£ ãã¦ãã®ã§ãã®æã®ç¥è¦ãå ±æãã¾ãã å®è£ æ¹æ³ 1. AndroidFramework ã«å«ã¾ãã¦ãã TextToSpeech Class ãå©ç¨ããã ãã§ãã developer.android.com 2. ã©â¦
Android 10 ããè¨å®ç»é¢ãã¦ã¼ã¶ã¼ã¢ããªãèµ·åãã¦ããã¨ãã«ç»é¢ãé·ç§»ããã«è¡¨ç¤ºãããã¨ãã§ããããã«ãªã£ã¦ãã¾ãã ä»åã¯ãã¡ãããã«ã¢ããªå ã«è¨å®ç»é¢ã®ä¸é¨ã表示ãã¦ã¿ããã¨æãã¾ãã ããã§ã¯ãè¨å®ã¢ããªã®ä¸é¨ã表示ã¨æ¸ãã¾ããããæ£ç¢ºâ¦
ãã®è¨äºãéããçããã¯ãã¿ã¤ãã«ã®ããã« Android 端æ«ã§ Suica ã«è§¦ããã¨ãã«ã¢ããªãèµ·åãã¦UIDãèªã¿åããã¨ãã¦ããå¥ç¹ãªäººã ã¨æãã¾ãã NfcAdapter ã¨è¨ãã¯ã©ã¹ãå©ç¨ãããã¨ã§ããããããä»»ããããã¨ãã§ãã¾ãã ããã§éè¦ã«ãªã£ã¦ãâ¦
Gradle Task ã«å¼æ°ã渡ã Gradle Task ãå®è¡ããã¨ãã«å¼æ°ã渡ãããã¨ããããã¨æãã¾ãã build.gradleå ã§å®çµãã¦ããå ´åã«ã¯ã以ä¸ã®ããã« lateinit var ãªå¤æ°ãå®ç¾©ããã°å¤ã渡ããã¨ãã§ãã¾ãã lateinit var userName: String ãã¦ãbuild.â¦
am ã³ãã³ãã® -d ãªãã·ã§ã³ã§æå®ããã°è¡ããã am start -a android.intent.action.VIEW -d "https://google.com"
RecyclerView ã使ã£ã¦ä½ãããæã« ListAdapter ã使ã£ã¦ã¾ããï¼ DIFFUtil ã使ãã¨ãã«åããã¦ä½¿ããã¨ãå¤ãããªã¨æãã¾ãã åé¡ç¹ submitList ãã¦ãéåæã§æ¿å ¥ãããããã SubmitList() ããç´å¾ã«RecyclerView(Adapter) ã«å¯¾ãã¦ããããããã¨â¦
åºæ¬çã«ã¯ã Transformations ã®æ¡å¼µé¢æ°ã®éåã§ãã implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.1.0-alpha04" class MainActivityViewModel : ViewModel() { private val source1LiveData = Source1Livedata() // åããã®ãæµãã¦ãâ¦
ãã£ããæ±äº¬ã«ããã®ã§ãã¨ãããã¨ã§ AAC ã®åå¼·ä¼ã«åå ãã¦ãã¾ããã Google ã§éå¬ããã¦ã¾ããã GDE ãªäººããããããã¦ããæè¡é£æ度ãçµæ§é«ãã ã£ãæ°ããã¾ãã ææ³ ãã¡ããã¡ãåå¼·ã«ãªãã¾ããã AAC ã¯æ®æ®µä½¿ã£ã¦ãã¦ããªã§è²ã ãã¦ããã®â¦
Kotlin-DSL ãæ¸ããã¨ãã¦ãã¦è²ã ã¤ã¾ã¥ããã¨ãããã¾ãããããªæã«åèã«ããã¨è¯ããããªãªãã¸ããªã ãã¬ã¼ã³ãªãã¤ããBuildSrc ãå©ç¨ããããããã¤ã¾ã§ããç¨åº¦æã£ã¦ãã github.com
Live Data ã使ã£ãã³ã¼ãã®ãã¹ããè¨è¿°ããå ´åã«ã¯ã¡ã¤ã³ã¹ã¬ããã§å®è¡ããªããã°ãããªã Live data ãUnit Test ã§ããããããæã«ã¯ã MainThread ã§å®è¡ããªããã°ãããªãã¨ããå¶éãåé¡ã«ãªãã¾ãã å ·ä½çã«ã¯ã LiveData ã® setValue ã¡ã½ãâ¦
Unit Test ç㧠lambda é¢æ° ã使ç¨ãã¦ããã¨ããã§å¼ã³åºããã°ã¨å¼ã³åºãåæ°ãè¨é²ããããã¨ã¯ãã¾ã«ããããã¨æãã¾ãã ããã§ãè¨é²ã§ãã便å©ã¯ã©ã¹ãæ¸ãã¦ã¿ã¾ããã æ©è½ å¼ã³åºããã°ã®è¨é² åæ°ã®è¨é²ã¨æ¤è¨¼ï¼æå®ãããåæ°å¼ã³åºããã¦ãªãâ¦
ããããã°ãæ¯åã°ã°ã£ã¦ããªãã¨æã£ã¦æ¸ããã è¦ããã»ã©ã§ã¯ãªãã®ã«ä½¿ããã§ããããã <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge" /></progressbar>
Chrome Custom Tabs ã«ã¯ Pre Fetch ã¨ããæ©è½ãåå¨ãã¾ãã ããã¯ã Chrome Custom Tabs ã§ã¦ã§ããã¼ã¸ã表示ããåã«äºåã«èªã¿è¾¼ãã§ãããã¨ã§è¡¨ç¤ºé度ã®æé©åãè¡ããæ©è½ã§ãã èªåå®è£ ãããã¨ããã¨å¤§å¤ãªãã®æ©è½ã§ããã Google Chrome ã®æ©â¦
ChromeCustomTabs ã使ãã¨ãã«å¿ è¦ã«ãªãããã±ã¼ã¸åã Androidx ã§ã¯å¤æ´ããã¦ããããè¨äºã«ãã¾ãã å ·ä½çã«ã¯ã以ä¸ã®ããã±ã¼ã¸ã«ãªã£ã¦ããããã§ãã implementation "androidx.browser:browser:1.0.0" 以ä¸ã«ããã±ã¼ã¸ã®è©³ç´°ãæ¸ãã¦ããã¾ããâ¦
ForeGround ã«ä»¥ä¸ã®å±æ§ãé©ç¨ãããã¨ã§ãã¾ãã android:foreground="?android:attr/selectableItemBackground"
ä½èª¿å´©ãã¦æ稿ãé ãã¦ãã¾ãã¾ãã/// DroidKaigi ã¨ã¯ 02/7-02/8 ã« æ°å®¿ã§éå¬ããã Android App Developer ã®ããã®ã«ã³ãã¡ã¬ã³ã¹ã§ãã åæ¥ã« shibuya.spk ã¨ããéå¬ããã¦ãã®ã§åæ¥ã«åå ãã¦ãããã¾ããã åå ããçç± Android ã¢ããªéçºã®â¦
å°å ¥ Android ã¢ããªéçºããã¦ããã¨åModule ãã¨ã«ä¾åãã¦ããã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ã種é¡ããã©ãã©ã«ãªã£ã¦å¾ã§è¦å´ãããã¨ã¯å¤ã ããã¨æãã¾ãã ç§ã®èªèã§ã¯ãä¾åããã©ã¤ãã©ãªãéä¸ç®¡çããããã®ãã¯ããã¯ãã«ã¤ãã¦æ¸ãã¾ãã è±èªã§ã°â¦