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
2.1k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
1.9k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
630
Other Decks in Technology
See All in Technology
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
230
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
2.8k
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.1k
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
1
490
o11yで育てる、強い内製開発組織
_awache
3
100
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
390
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
23
16k
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
130
KMP の Swift export
kokihirokawa
0
310
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
120
BirdCLEF+2025 Noir 5位解法紹介
myso
0
180
SOC2取得の全体像
shonansurvivors
1
350
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Thoughts on Productivity
jonyablonski
70
4.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
For a Future-Friendly Web
brad_frost
180
9.9k
Docker and Python
trallard
46
3.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
Making Projects Easy
brettharned
118
6.4k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Producing Creativity
orderedlist
PRO
347
40k
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