ビデオ: Advanced Data Binding - Google I/O 2016 2024
Android Studioのエディタでコードを開き、特定の単語にマウスを合わせると、興味深い驚きを得ることがあります。 Android Studioは、匿名の内部クラスをラムダ式に置き換えることができることを伝えます。
ラムダ式を作成できます。さて。ラムダ式とは何ですか?はじめに、 ラムダ はギリシャ語のアルファベットの手紙であり、 ラムダ式 は1930年代に数学者のアロンゾ教会によって書かれた論文に由来しています。
<! - 1 - >2013年にOracleはJava言語にラムダ式を追加してJava 8をリリースしました。そして、2016年にGoogleはAndroid開発者がJava 8の機能を利用できるようにしました。
ラムダ式とは何ですか? ラムダ式 は、1つのメソッドだけを含むインターフェイスを宣言する簡潔な方法です。たとえば、匿名のOnClickListener
には、
onClick
メソッドという1つのメソッドしかない場合があります。したがって、この匿名のOnClickListener
をラムダ式に置き換えることができます。
<! - 2 - >
Alt + Enterを押してメッセージに返信すると、Androidスタジオには「ラムダで置換」オプションが表示されます。このオプションを受け入れると、Android Studioはコードをこのようなものに変換します。
インポートアンドロイド。 os。バンドル;
インポートアンドロイド。サポート。 v7。アプリ。 AppCompatActivity;
インポートアンドロイド。ウィジェット。ボタン;
<! - 3 - >
インポートアンドロイド。ウィジェット。 TextView;
ボタンボタン。
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState){
super。 onCreate(savedInstanceState);
setContentView(R。レイアウト。activity_main);
button =(ボタン)findViewById(R。id。ボタン);
ボタンを押します。 setOnClickListener(
view - > textView。setText(R。string。you_clicked)
); textView =(TextView)findViewById(R。id。textView); }
}
このコードでは、ラムダ式を使用しています。このイメージは、1メソッドインタフェースを実装するクラスからラムダ式への移行を示しています。
インタフェースをラムダ式に変換する。
単語
ビューの軽い役割に注目してください。
onClick
メソッドを宣言すると、メソッド内のステートメントがそのパラメータを使用しない場合でも、メソッドには
View
型のパラメータが渡されます。同様に、
onClick
メソッドのラムダ式を作成するときには、そのパラメータ名を使用しない場合でも、
- >
-
記号の左側にあります。
ラムダ式を使用するには、特定の要件を満たす必要があります。たとえば、Java 8以上でコードをコンパイルする必要があります。 Android Studioのバージョンは2.1以上である必要があります。そしてあなたのプロジェクトの
ビルド。
android { …
defaultConfig {
…
jackOptions {
enabled true
}
}
ファイルには、 …
}
ラムダ式は
-
シンボルの左に複数のパラメータを持つことができます。その場合は、すべてのパラメータをカッコで囲み、パラメータをカンマで区切る必要があります。たとえば、式
<! - 1 - >
(price1、price2) - > price1 + price2
は有効なラムダ式です。
ラムダ式に慣れていれば、コードを読みやすくすることができます。約10行のコードが簡単に行の一部になることができるようになったのは何ですか?