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.2k
Simina Pasat: Continuous everything for iOS apps
realm
0
610
Other Decks in Technology
See All in Technology
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
170
Running JavaScript within Ruby
hmsk
3
330
Creating Awesome Change in SmartNews
martin_lover
1
280
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
5
6k
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #DevOpsDaysTokyo
takabow
0
380
Amazon CloudWatchで始める エンドユーザー体験のモニタリング
o11yfes2023
0
190
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
1
110
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
590
DETR手法の変遷と最新動向(CVPR2025)
tenten0727
2
1.4k
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
450
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
630
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
240
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Automating Front-end Workflow
addyosmani
1369
200k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Bash Introduction
62gerente
611
210k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
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