Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
アジェンダ段階 Compose for Deskopで始めるAndroid開発効率化ツールの作成
Search
Yusuke Katsuragawa
September 09, 2022
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アジェンダ段階 Compose for Deskopで始めるAndroid開発効率化ツールの作成
Yusuke Katsuragawa
September 09, 2022
More Decks by Yusuke Katsuragawa
See All by Yusuke Katsuragawa
Compose for Deskopで始めるAndroid開発効率化ツールの作成
kaleidot725
2
4k
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
620
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Docker and Python
trallard
47
4.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Navigating Weather and Climate Data
rabernat
0
580
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Visualization
eitanlees
153
17k
Agile that works and the tools we love
rasmusluckow
331
22k
Transcript
Compose for Deskopで始める Android開発効率化ツールの作成 Droidkaigi 2022 Day01 Yusuke Katsuragawa /
YUMEMI Inc.
自己紹介 - 桂川 祐介 - 株式会社ゆめみ - Androidエンジニア - Twitter
: @kaleidot725 - GitHub : kaleidot725
本セッションで取り扱うこと
本セッションで取り扱うこと - Compose for Desktopとは - Android開発効率化ツールの作成方法 - 開発環境のセットアップ方法 -
プロジェクトのセットアップ方法 - ADBを利用したGUIツールの作成方法 - Compose
アジェンダ
アジェンダ 1. Compose for Desktopとは 2. どのようなツールを作るか 3. どのようにツールを作るか 4.
おわりに
Compose for Desktopとは
開発環境
プロジェクト作成
どんなツールを作るのか?
Andoroid端末の一覧を取得する
ADBコマンドを実行する
コマンド実行 - 作成する画面
View StateHolder Model
@Composable fun CommandItem ( title: String, detail: String, onExecute :
() -> Unit, modifier : Modifier = Modifier ) { Card(modifier ) { Row( horizontalArrangement = Arrangement .spacedBy (8.dp), verticalAlignment = Alignment .CenterVertically , modifier = Modifier .padding(8.dp) ) { Column(modifier = Modifier .weight(0.9f, true)) { Text(text = title) Text(text = detail) } Button(onClick = { onExecute () }) { Text(text = Strings.EXECUTE) } } } } @Preview @Composable private fun CommandItem_Preview () { CommandItem( title = "ダークテーマ ON", detail = "端末のダークテーマ設定を ONにします", onExecute = {}, modifier = Modifier .fillMaxWidth().wrapContentWidth() ) } コマンド実行 - View層①
View StateHolder Model
@Composable fun CommandItem ( title: String, detail: String, onExecute :
() -> Unit, modifier : Modifier = Modifier ) { Card(modifier ) { Row( horizontalArrangement = Arrangement .spacedBy (8.dp), verticalAlignment = Alignment .CenterVertically , modifier = Modifier .padding(8.dp) ) { Column(modifier = Modifier .weight(0.9f, true)) { Text(text = title) Text(text = detail) } Button(onClick = { onExecute () }) { Text(text = Strings.EXECUTE) } } } } @Preview @Composable private fun CommandItem_Preview () { CommandItem( title = "ダークテーマ ON", detail = "端末のダークテーマ設定を ONにします", onExecute = {}, modifier = Modifier .fillMaxWidth().wrapContentWidth() ) } コマンド実行 - StateHolder①
View StateHolder Model
@Composable fun CommandItem ( title: String, detail: String, onExecute :
() -> Unit, modifier : Modifier = Modifier ) { Card(modifier ) { Row( horizontalArrangement = Arrangement .spacedBy (8.dp), verticalAlignment = Alignment .CenterVertically , modifier = Modifier .padding(8.dp) ) { Column(modifier = Modifier .weight(0.9f, true)) { Text(text = title) Text(text = detail) } Button(onClick = { onExecute () }) { Text(text = Strings.EXECUTE) } } } } @Preview @Composable private fun CommandItem_Preview () { CommandItem( title = "ダークテーマ ON", detail = "端末のダークテーマ設定を ONにします", onExecute = {}, modifier = Modifier .fillMaxWidth().wrapContentWidth() ) } コマンド実行 - Model①