使わないパラメータでWarningを出さない for Kotlin
Androidの話。
MVVMアーキテクチャで開発をしていると、ViewModelにクリックメソッドを実装する事が多い。
その際、
fun onClickHoge(view: View) { someThing() }
のように定義するんだけど、このview
というパラメータはそこまで使わない。
使わないパラメータで警告を出さないようにしようと
fun onClickHoge(@SuppressWarnings("unused") view: View) { someThing() }
としてたんだけど、これでは警告が抑えられていなかった。
調べてみると、これはJava
の書き方のようで、Kotlinだと@Suppress
を使うらしい。
そこで、
fun onClickHoge(@Suppress("unused") view: View) { someThing() }
としたんだけど、これでも警告が抑えられていなかった。
調べてみると、unused
じゃなくてUNUSED_PARAMETER
を使うらしい。
そこで、
fun onClickHoge(@Suppress("UNUSED_PARAMETER") view: View) { someThing() }
とすると、警告が抑えられた!🙌
conclusion
困ったらalt
+ Enter
だ 🙏
DroidKaigi conference-app-2018にコントリビュートした
このブログをはじめるきっかけにもなったDroidKaigi 2017。
一番最初のブログで、こんなことを言ってた。
来年もまたあったら絶対にコントリビュートする!と心の中で誓う私。
DroidKaigi 2017 is awesoooome!!! - イニシャルがリムーブ
コントリビュートした💪
有言実行。簡単なissueを拾ってコントリビュートさせて頂いた。
github.com
このissueをこう。
github.com
やったぜ!
すごい :+1: の飛び交う雰囲気でとてもあたたかくて
PR出すまで緊張してたけどとっても嬉しかった!
もういっちょ
あとは見ていてコードでの知見もだがUI的にも参考になる。
ぜひとも見て触って欲しいと思う。集合知である。
触ってたら
DroidKaigiアプリ学びしかないと見てたら挙動がちょっと変なとこあったのでもういっちょPR出してみたぞ(行を入れ替えただけ)
— アルまきやま (@_rmakiyama) 2018年1月15日
なんて事もあって1行入れ替えのPRを出したら
爆速でマージしていただいてさらに良い経験になった!
英語が本当にひどいので頑張ろうと思った。
けど、こんな英語でも怒られることはない!(?)
やってみて所感
今回のコントリビュートで、OSSに関わるって
楽しいし夢があるし学びしかないと身を持って感じれたのが
1番の収穫だったと思う!機会があれば狙っていきたい!
今がチャンス
easyタグのissueが増えた今がチャンス!
ぜひこの体験をあなたも!あなたも!
P.S.
2週間に1記事が聞いて呆れるけど、気にせず続けていきます🙌
RxKotlin2.2.0での注意点
ギリギリ前回から2週間以内。あまり重く考えず、会社の休憩中に書いていきます。
RxKotlin
軽く紹介すると、RxJava
はRxのJava実装ですが、RxKotlin
はRxのKotlin実装ではなく
RxJava
に便利な拡張関数を追加できる軽量ライブラリです。
約一ヶ月半前のことです。バージョン2.1.0
のリリースノートを見て、「最高かよ…」と思い
用法用量を社内コンフルにまとめて、さっそく実務投入しました。
そして12月に差し掛かったある日。
困ったというかビックリしました、、
2.2.0での注意点
バージョン2.2.0
のリリースノートに書かれたことが全てです。
(個人的に)大きく変わったところは、single
とmaybe
のto~
メソッドが削除されたところです。
// hoge()の処理からSingleを生成 Single.just("hoge") // RxKotlin 2.1.0 "hoge".toSingle()
簡易的にSingle
やMaybe
を生成する場合に重宝するかなと思っていた部分だったのですが
どうやら他のライブラリなどと競合する部分もありなくなったようです。
あまりいないかもしれませんが、使っている方は注意。
私の2.1.0での勘違い
指摘されるまで気づかず使っていたのですが、toSingle()
メソッドの定義は以下のようになっていました。(2.1.0では)
// ver.2.1.0 -> https://github.com/ReactiveX/RxKotlin/blob/2.1.0/src/main/kotlin/io/reactivex/rxkotlin/single.kt fun <T : Any> T.toSingle(): Single<T> = Single.just(this) fun <T : Any> Future<T>.toSingle(): Single<T> = Single.fromFuture(this) fun <T : Any> Callable<T>.toSingle(): Single<T> = Single.fromCallable(this) fun <T : Any> (() -> T).toSingle(): Single<T> = Single.fromCallable(this)
あるメソッドをストリームに載せたい場合に安易に
hoge.toSingle()
としていたのですが、これではSingle#just
メソッドが呼ばれるためストリームに乗らないのでした。
勝手にSingle#fromCallable
が使われていると思っていました。とんだ間違いでした。。
※ 現在(ver 2.2.0)はtoSingle
メソッドは一掃されて存在しません。
まとめ
- ライブラリアップデートでBreakingな変更はウォッチしよう!
- ライブラリは内部実装もある程度読んで、動きを把握した上で使おう!
アウトプットが怖くなくなりたい
DroidKaigiで気分がよくなってブログを始めてみたのが遠い記憶です。
いいきっかけだと思い始めたものの、なかなか続かないものだなと身をもって知りました。
なぜ続かないのか
アウトプットは積極的にしたい!と思うものの、なかなか腰が重いのです。
なんで続かないんだろう、答えは簡単です。
- 書くネタがない
これを言ってしまうとおしまいなんですよね。思考停止しています私。
もう少しない頭を使ってみます。
書くネタがないとは、
もはや、そもそも書くネタとはなんでしょうか。
簡単に思ったことを列挙してみます。
- みんなにとって有用な情報
- 誤りのない正確な情報
- 他の人が書いていない情報
- 旬な情報
なるほど、偏った考えだということがわかります。
本当に続かない理由
ほげほげ言い訳を放ったものの、本当に続かない理由はひとつでした。
- アウトプットが怖い
「自分が書いても誰の特にもならないのでは、、」
「間違った情報かもしれない、、」
「これは色んな人が書いてるし自分なんかが、、」
「今更こんなこと書いてもしかたなくないか、、」
無駄に何かに怯えている自分がいました。でも怖いですよね。
誰に攻撃されるわけでもないのに守りに入っています。怖くなくなりたい。
怖くても書く意味
先日、「ブログを書く技術」を発表したという記事を読みました。
そんなことを言う暇があったら書く
分かってても難しい。それでもせっかくこういった記事を読んでいいなと思ったので
それだけでいいんです、書いていこうと思います。意味は後追いしてくれればいいんです。
続けた末に…
こんなの考える前に書けって話なんですが、続いたとして、振り返ってみて
達成できてたらやったぜ!ってネタにもなるので書いておきます。
- 自分の外部記憶装置としての役割を果たす
- 伝える/伝わる文章が書けるようになる
- 理解が深まっている(言語化できる)
というわけで
絶対に!最低でも!2週間に1回は!ブログを!書くぞ!!
続きを読むDroidKaigi 2017 is awesoooome!!!
よかった💪
DroidKaigi 2017、本当に、よかった。
2017/3/9,3/10の2日間、本当によかった!!!
2015年から開催されてるDroidKaigi。その時はまだ九州にいて学生で
Android端末を持っててAndroidが好きでJavaを軽く勉強していて
これはいいないつか行きたいなと思ってた、思ってただけ。
そして、4月から社会人になり、関東に出てき、そして!
早期割引でそっっこう購入して!行ってきて!
想像を超えてよかったです。ほんと。やってくぞ!!って気持ちが
ばんばん湧いてきて。周りのやってくぞって気持ちもばんばん感じて。
やってくぞの相乗効果でやってくぞ!!!
セッション
どのセッションもよくって、時間帯のかぶるものは心を鬼にして
ひとつのセッションを選択しなきゃいけない(幸せ)。
今回は
- マッチョActivityを改善した話
- minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
- エラーと戦うためのデバッグ法
- DataBindingで開発を気持ちよくしよう
- AndroidResourcesRefactoring
- Androidアプリ開発の体力づくり💪
- Viewを動的に変化させるアプローチ
- What'sNewinRxJava2.0
- AndroidORMの選び方
- 未熟なチーム開発
- Kotlin+RxJava+Dagger2+Orma+Retrofitで作るAndroidアプリ
- Androidで音声認識を使いこなす
- コマンドなしでぼくはAndroid開発できない話
- ErrorHandlinginRxJava
- LayoutManagerをつくろう
を見に聞きに行かせていただきゃした👀(抜けがなければ)
全セッションに知見が詰まってて、あれもこれも圧倒的に参考にしよう。
あとほか
アプリ
公式アプリをOSSで作ってたんだけど、これも知見の塊。
プルリク覗くだけでもすごい…つよい…ってなっててすごい(?)
全部を追えなかったから時間を作って追いたい!
OSSでプロジェクト公開してみんなえ作ってって、
このなんというかコミュニティのあたたかさというか
本当にこういうとこでもAndroid好きだ。
来年もまたあったら絶対にコントリビュートする!と心の中で誓う私。
スタッフさま
本当にお疲れ様でした、本当にありがとうございました。
あの人数をうまくさばくのは至難の業だったと思います。
何不自由なく快適に楽しめたのも影でのご活躍ありきだったろうと
思いながらみっちりDroidKaigiを楽しみました!!
アフターパーティ
🍣🍣最🍣🍣&🍣🍣高🍣🍣
ひとりで突撃したのでびびってたけど
セッションの話や他の会社でのAndroidの話を色々聞けて
行ってよかった。頑張るぞいが高まりました(^q^)
よかったツイット
ずっと独学でやっていると、自分の考えが正しいのか自信が持てず常に不安な心境になるので最初はちゃんと教えてあげるのが良いと思います (誰か教えてくれ) #droidkaigi #droidkaigi3
— スターホシ (@star__hoshi) 2017年3月10日
本当にこれ。助けてくれ〜という気持ち。笑
「当たり前じゃんと思うかもしれませんが」 大丈夫、それが聞きたいんだ! 他所様の「当たり前」のことを僕らは「知見」と呼んでるんだ!! #DroidKaigi #DroidKaigi1
— なかざん@DroidKaigi1日目登壇 (@Nkzn) 2017年3月10日
本当にこれ。そしていつか登壇したいぞ!
カンファレンス行くとめっちゃやる気出て興奮したり自分の無力さに絶望したりの繰り返しで精神が忙しい
— 帰宅マン (@ogapants) 2017年3月9日
本当に。つかれる!良い疲れ!w
他にもたくさんあったけど、うん、ハッシュタグ見返そう!👀
まとめ
Android好き。