- Web Engineer
- アウトバウンド営業
- Webエンジニア(リーダー)
- Other occupations (17)
- Development
- Business
※弊社エンジニアの記事になります。
はじめに
初めまして! 東京でモバイルエンジニアとして働いている たか です!
今回初めてブログを書くということで何について書こうかな〜と考えていたところ
そういえば開発でよく「DI」という用語をしばしば耳にするけど詳しく知らないなと思ったので
Androidアプリ開発で使用されている「Hilt」の導入と利用方法について調べてみようと思います!
Hiltを使用するメリット
Androidアプリ開発で使用されるDIライブラリにはHiltとDaggerの2種類あります。
HiltとDaggerの特徴は以下になります!
Daggerは柔軟性が高く、細かいカスタマイズが必要な場合に適していますが、設定が複雑です。
一方のHiltはDaggerの強力な機能を保ちながら、Androidアプリ開発におけるDIの設定と管理を簡素化したものです。
Daggerの機能を保ちながらより簡単にDIを利用できるように設計されているのはHiltの大きなメリットと言えます!
また、Android開発でHiltを使用することで主に4つのメリットがあります。
- テストの容易さ: DIを使うと、テスト中にモックやスタブなどの代替オブジェクトを注入できるため、単体テストが容易になります。
- 再利用性と保守性の向上: 依存関係を外部から注入することで、コードはより汎用的で再利用しやすくなります。
- 疎結合: 各コンポーネントが他のコンポーネントの具体的な実装に依存しないため、コンポーネント間の緩やかな結合(疎結合)が実現します。
- コードの可読性と管理の容易さ: 依存関係が明確になるため、コードが読みやすく、管理しやすくなります。
今回は疎結合の向上性に注目してViewModelでReposiotryインスタンスを直接生成しているコードから依存関係を外部から注入するような処理に変更し、密結合から疎結合にしたいと思います!
Android StudioにHiltライブラリを導入
ではさっそくAndroid StuidoにHIltライブライを導入してみます!
まずプロジェクトレベルのbuild.gradleにプラグインを追加します。
plugins {
...
id("com.google.dagger.hilt.android") version "2.44" apply false
}
次にGradle プラグインを適用し、モジュールレベルのbuild.gradleに依存関係を追加します。
plugins {
kotlin("kapt")
id("com.google.dagger.hilt.android")
}
android {
...
}
dependencies {
implementation("com.google.dagger:hilt-android:2.44")
kapt("com.google.dagger:hilt-android-compiler:2.44")
}
最後にHiltではJava8の機能を使用しているので、Javaのバージョンを8以降に設定しましょう!
今回はJavaVersion.VERSION_1_8を指定しています。
android {
...
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
ここまで追加できたらAndroid Studioの右上に表示されているSync Nowを押しましょう!
以上でHiltライブラリの導入は完了です!
※注意点ですが、Hiltライブラリとデータバイディング両方を使用する場合はAndroid Studio 4.0 以降が必要です。
…
記事の続きは下のリンクをクリック!
https://rightcode.co.jp/blog/information-technology/android-hilt-syain
【2024年卒】新卒採用エントリー開始しました!
特設ページはこちら:https://rightcode.co.jp/recruit/entry-2024
※募集は終了致しました。次回の募集までもうしばらくお待ちください
インターン募集!未経験ok、チャレンジ精神ある方求む
WEBエンジニア:https://rightcode.co.jp/recruit/intern-web-engineer
メディア運営:https://rightcode.co.jp/recruit/intern-media
社長と一杯飲みながらお話しませんか?(転職者向け)
特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「スマホアプリエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「エンジニアリングマネージャー」「営業」などを積極採用中です!
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。
【コーポレートサイト】https://rightcode.co.jp/
【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)
【wantedlyぺージ】https://www.wantedly.com/companies/rightcode