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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
2.1k
Realm advanced topics and demo
realm
0
2k
Realm introduction Seoul meetup 10
realm
0
2.2k
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
650
Other Decks in Technology
See All in Technology
衛星画像即時マッピングサービスの実現に向けて
lehupa
1
280
なぜAIは チーム開発を 速くしないのか
tan_go238
6
3.1k
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
350
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
1
250
Agent Skils
dip_tech
PRO
0
200
「データの価値を、みんなの武器に。」Data Enablementの価値とツラみ
ryoskdara_
1
120
【Claude Code】Plugins作成から始まったファインディの開発フロー改革
starfish719
0
260
インシデント対応入門
grimoh
1
1.6k
30分でわかるアーキテクチャモダナイゼーション
nwiizo
5
2.6k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
500
既存のログ監視システムをクラウドっぽく実装してみた
tjmtrhs
0
120
Open Table Formatにおけるストレージ抽象化の比較
lycorptech_jp
PRO
1
180
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
57
How STYLIGHT went responsive
nonsquared
100
6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
300
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
420
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
210
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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