Androidミニ講座

JavaでfindViewByIdにサヨナラするための2つの方法①(データバインディングライブラリ)

投稿日:

 

(ページの最下部に動画で詳しい解説をしていますので、よろしければご覧下さい)

Androidアプリを作る際に、レイアウトファイルに貼り付けたビュー(View)をソースファイルで使うためには、Activity#findViewByIdメソッドを使って、レイアウトファイルとソースファイル間のビューの結びつけをする必要があります。

これは、ビューが少なければいいのですが、使うビューが多ければ多いほど、処理の本質ではない「findViewById」メソッドのコードがこんな感じで増えてしまって、書くのも読むのも面倒な状況になってしまいます。

 

Javaの後継言語のKotlinであれば、「findViewById」にサヨナラするためのプラグインである「Kotlin Android Extensions」がAndroid Studioに標準で搭載されているので、何も考えること無く「findViewById」にサヨナラできるのですが、Javaの場合は残念ながら、標準ではそのような機能は備わっておわず、「どうしたもんかいな」という状況にあります。

 

この「どうしたもんかいな」をどうにかするための「データバインディングライブラリ」の最も簡単な使い方について、お伝えします。

(アノテーション処理などの詳しい説明は抜きで、とりあえずやり方だけ説明していますのでご了承下さい)

 

「データバインディングライブラリ」とは

Google先生の本家本元公式リファレンスによると、「データバインディングライブラリ」とは、

宣言的なレイアウトを作成し、アプリケーション ロジックとレイアウトをバインドするのに必要なコードを最小限に抑えるため

のライブラリなんだそうです。

このGoogle先生のサイトには、使い方も載っているのですが、ややわかりづらいので、以下のサイトを参考にさせて頂きました。

 

 

1.アプリケーションレベルのbuild.gradleで、データバインディングライブラリを使えるように設定

アプリケーションレベル(モジュールレベル)の「build.gradle」の「android」タグ内で、以下のように記述します。

 

2.レイアウトファイルのルートを「layout」タグで囲む

レイアウトファイルの「Design」ビューではなく、xmlのコードが書いてある「Text」タグの方から、レイアウトのルートを「layout」タグで括ってあげます。

こんな感じになっているのを

 

こんな感じにしてあげる

 

3.一旦ビルドする

この段階で一旦ビルドしてあげると、「app => build => generated」フォルダ内に「dataBinding」フォルダが作られます(これがないと次に進んでもビューをバインドしてくれない)。

 

 

4.結びつけたいソースファイルに「バインドさせるためのインスタンス」を設定

レイアウトファイルと結びつけたいソースファイル(Javaファイル)で、ビューをバインドするためのコードを以下のように書く。

ここで使っている「ActivityMainBinding」というクラスは、3のビルドで自動的に作られたクラスで、レイアウトファイルの名称に応じてクラスの名前が変わります。

上の例では、レイアウトファイルの名前が「activity_main.xml」なので、「ActivityMainBinding」となりました。

 

5.「バインドさせるためのインスタンス」を経由してビューにアクセスできるようになる

以上でやることはおわりで、ビューのアクセスしたい場合は、4で設定した「バインドさせるためのインスタンス」を経由してアクセスすることが出来ます。

こんな感じで

 

レイアウトファイルのxmlのコードを直接いじらないといけない部分はありますが、Javaで「findViewById」とサヨナラしたい場合は、中々使えるのではないかと思います。

(下の動画で詳しく解説していますので、よろしければご覧ください)

 

 

みんプロへのお問い合わせはこちらよりお気軽にお寄せ下さい

「みんなのプログラミング  by Telulu LLC(みんプロ)」について

会社概要

みんプロ最新トピックス

かなり長い代表者プロフィール

みんプロにかける想い

みんプロを選んで頂ける3つの理由

みんプロに頂いたお客様の声

サービス・料金体系

作成アプリ実績

みんプロ公式Facebook

みんプロ公式LINE@(登録者限定無料小冊子プレゼント!)

公式ブログで随時情報発信中!!

きーぼーのつぶやき

用語

Android

「みんプロ」のサービスを通じてあなたの人生を豊かにするサポートを

PC1台あれば誰でもスマホアプリが作れるようになるプログラミング講座「みんプロ式」

 

プログラミング経験一切不要。世界のスマートフォン(スマホ)の約7割という圧倒的なシェアを占めるAndroid(アンドロイド)アプリの開発力と、今最も注目のプログラミング言語「Kotlin(ことりん)」の基礎力が、ゼロから身につく完全初心者向けプログラム。初めてのプログラミングから、世界最大級のアプリストア「Google Play(グーグル・プレイ)」でのリリースまでを一気通貫。あなたのスタイルに合った受講コースが選択でき、1円のリスクも取らずに始められる、「みんプロ」の看板講座です。

 

あなたのスタイルにあったコースを選択できます

3ヶ月集中オンライングループコース

「みんプロ式」のカリキュラムを、毎週1回オンライン対面形式で受講し、3ヶ月(全10回)でAndroidアプリ開発に必要な最低限のスキルを身につける短期集中型の講座です。オンライン方式ですので、全国どこからでも受講頂けます!


 

自分のペースで着実に!マンツーマンコース

「みんプロ式」のカリキュラムを、マンツーマン形式で受講頂ける対面講座。カリキュラムは完全オーダーメイド、ご予算に応じた回数設定も自由自在。マンツーマン形式なので、あなたのオリジナルアプリをリリースするところまでを個別でフルサポートすることも可能です。オンライン方式は早朝5時半から受講頂けます!


 

コストを抑えるならコレ!動画配信コース

「みんプロ式」のカリキュラムを、動画形式で受講頂きご自身で学習頂く講座。30分あたりわずかワンコインの高コスパで、Androidアプリ開発に最低限必要なスキルを、ご自分の好きな場所・好きな時間帯に、ご自分の好きなペースで習得頂けます。

 

 

アウトプットサポート型・初心者向けパソコン講座

 

「PCを使って作りたいアウトプットがあるが、作り方がよくわからない」という方向けに、具体的なアウトプット作成をサポートする、完全オーダーメイド型のパソコン講座。Word/Excel/VBA/パワーポイント/WordPress/Youtubeなど、幅広い分野であなたの欲しいアウトプット創出をサポート。あなたのスタイルに合った受講コースが選択でき、1円のリスクも取らずに始められます。

 

お悩み相談型・心がラクになる心理カウンセリング講座

 

仕事・子育て・人間関係に関する悩みをお持ちの方に、具体的な相談に乗らせて頂きながら、日常で使える「心がラクになるワザ」が身につく。小難しい心理学の理論や用語は一切使わずに、日々の暮らしの中で実践できることをお伝えする、実践カウンセリング型の心理学講座です。

みんプロへのお問い合わせはこちらよりお気軽にお寄せ下さい

-Androidミニ講座

Copyright© みんなのプログラミング by Telulu LLC , 2018 All Rights Reserved.