Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android Studio Plugin Development
Search
Realm
April 18, 2017
Technology
0
7.7k
Android Studio Plugin Development
Android Studio Plugin
Droid Knights, Seoul, 2017
Youngho Cha
Realm
April 18, 2017
Tweet
Share
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.1k
Xcode shortcuts
realm
0
4.7k
Self Branding with GitHub
realm
0
4.3k
Realm Mobile Platform overview and demo
realm
0
2k
Realm advanced topics and demo
realm
0
2k
Realm introduction Seoul meetup 10
realm
0
2k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
1.9k
James Majors: What the Swiftly Func?
realm
1
4.2k
Simina Pasat: Continuous everything for iOS apps
realm
0
600
Other Decks in Technology
See All in Technology
New Relicを活用したシステム監視の強化とオブザーバビリティ向上
sugoto911
1
100
【shownet.conf_】トポロジ図の歩き方
shownet
PRO
0
530
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
180
第45回 MLOps 勉強会 - ML Test Score を用いた機械学習システムの定量的なアセスメント
masatakashiwagi
3
310
OPENLOGI Company Profile for engineer
hr01
1
12k
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
2
2k
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
220
YAPC::Hakodateの映像記録を支える技術
godan
4
290
Oracle Database 23ai 新機能#4 Application Continuity
oracle4engineer
PRO
0
120
【shownet.conf_】AI技術とUX監視の応用でShowNetの基盤を支えるモニタリングシステム
shownet
PRO
0
390
今こそ変化対応力を向上させるとき 〜ログラスが FAST に挑戦する理由〜 / Why Loglass is Talking on the Challenge of Agile Framework FAST
shioyang
0
110
スクラム導入の舞台裏:QAエンジニアがスクラムマスターになるまで
bubo1201
0
240
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
How to name files
jennybc
77
99k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Design by the Numbers
sachag
278
19k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Facilitating Awesome Meetings
lara
49
6k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Testing 201, or: Great Expectations
jmmastey
38
7k
Building Your Own Lightsaber
phodgson
102
6k
Creatively Recalculating Your Daily Design Routine
revolveconf
217
12k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Transcript
(@ganachoco)
I've got a dream Source: disney.com
.
...
None
None
idegen.sh
Build
None
API References Documentation
IntelliJ IDEA Community Edition Android Studio
API
API
Plugin Development Setup
build.gradle
build.gradle
build.gradle
plugin.xml
Entry Point • Action ◦ Menu ◦ Toolbar • Component
◦ Application ◦ Project ◦ Module
plugin.xml (Actions)
Action
plugin.xml (Components)
Component Level ApplicationComponent ProjectComponent ModuleComponent
Application Component IDE Launched IDE Exited initComponent() disposeComponent()
Project Component IDE Launched IDE Exited projectOpened() projectClosed()
Module Component IDE Launched IDE Exited moduleAdded() Open Project Close
Project
Messaging Infrastructure
Topic • ProjectTopics ◦ PROJECT_ROOTS ▪ ModuleRootListener ◦ MODULES ▪
ModuleListener • VirtualFileManager ◦ VFS_CHANGES ▪ BulkFileListener • Ӓ৻... ◦ public static final Topic ਵ۽ Ѩ࢝
Example: ModuleListener
Example: ModuleListener
plugin.xml (Services)
ServiceManager ServiceManager applicationService projectService ModuleServiceManager moduleService
Service
User Interface Based Swing Component Popup Notification ToolWindow GUI Builder
GUI Builder
GUI Builder
ToolWindow
ToolWindow
And many others...
publish
publish
new upload
plugin update
Conclusion • Use the Source! ◦ Platform Sources ◦ Other
plugins sources