Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@ekinoshita

DroidKaigi2016メモ:実践!Android Studioプラグイン開発

More than 3 years have passed since last update.

DroidKaigi 2016での@konifarさんによる発表動画はこちらです。

発表者

  • @konifar
  • TapTrip: グローバルSNS
  • TapTripのリニューアルから本格的にAndroid開発に
  • 最初のOSSがAndroid Studioプラグインだった

プラグイン開発の特徴・おさらい

  • IntelliJベース
  • Java7だと動かないのでJava6が必要
  • 詳しくはQiitaに!
  • 問題はここから先で...

プラグインを実際につくるときに役立つ実践的な話をします

覚えておくべきクラスと役割

  • AnActionEvent
    • 右クリックなどのイベントを取得する
    • ファイル別に右クリックメニューの中身を変えたいときとか
  • Project
    • Projectのディレクトリや、SDKのバージョンなどが取得できる
    • ルートパスやファイル一覧も取得できる
  • Editor
    • エディタの内容を取得する
    • 範囲選択中のテキストを取得したり
    • エディタを↓までスクロールしたり
  • Document
    • エディタの内容を検知することもできる(インクリメンタルな動きを作るときに使う?)
  • PsiFile
    • カーソル位置のJavaクラスを取得する

UIの実装

  • Dialog
    • DialogWrapperを使う
    • 呼び出したいところでshow()するだけ
  • HintManager
    • いわゆるヒント吹き出しみたいなやつ
  • Notification.Bus
    • いわゆるtoastみたいなやつ
  • FileChooser
    • ファイル選択のUI

悩んだときの調べ方

  • 公開されているコードを読むのが一番はやい
  • Android Studio Plugin Repository
  • おすすめのプラグイン
    • intellij-sdk-docs
    • android-percelable-intellij-plugin
    • android-drawable-importer-intellij-plugin
    • adb-idea
  • ほんとどうしようもなくなったら...
  • Android Studioのコードを読むと良い。
  • コマンドやバージョン指定はAndroid Project SiteページのBuild Overviewを参考に

まとめ

  • 基本的なクラスは覚えておく
  • UIもDialogやNotificationは標準のやつを
  • 似たようなコードを探してみる
  • IntelliJ Plugin勉強会を近いうちにまた開催します

質疑応答

  • 1つのPluginのコード量的にはどのくらい?
    • クラスの行数10いかないくらい、全体でも1000行くらいなので読むのには苦労しない
3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?