投稿

2017の投稿を表示しています

[Qiita] RecyclerViewにリストカードを表示するViewを作る

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です
はじめに Google Nowには、次のようにリストを表示するカードがあります。

このようなカードを作ろうと思ったときに、ViewGroupにaddViewしたり、ListViewをスクロールさせなくしてカードにしてみたりとやり方はいくつかあると思うのですが、これをもっと簡単に作れたらいいのになぁと思い、カスタムビューを作ってみましたので簡単に紹介したいと思います。
実現したいこと 今回作るカスタムビューで実現したいのは次のとおりです。
リストアイテムのViewを生成・保持リストアイテムの追加・変更・削除リストアイテムの表示数を制限リストアイテムの表示数を制限している場合、削除したら次の項目を表示するカードのヘッダー、フッター Viewの構成 今回作るカスタムビューは、次のような構成にします。

まず、カードを作るのでCardViewで囲み、その上にRelativeLayoutを乗せます。
その上に乗っている上下にあるViewはヘッダーとフッターになる予定のものです。
ヘッダーとフッターはViewにしておくことで後で差し替えられるようにし、デフォルトではTextViewを表示します。
そしてメインとなるリストはLinearLayoutを利用します。
基礎となるViewを作る 先ほどのViewの構成どおりに、まずは基礎となるViewを作っていきます。
class ListCardView : CardView {privateval defaultPadding = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,16f, resources.displayMetrics).toInt()privatevar rootView: RelativeLayout =RelativeLayout(context).apply{ layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)}var headerView: View?=TextView(context).apply{ …

[Qiita] Actions on Googleでapi.aiを使ってGoogle Homeに何か言わせてみる

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です2017年11月22日追記:
この記事を公開したちょっとあとくらいにapi.aiはDialogflowに変わっていますが、名前以外は大きく変わった点は無いはずなので、適宜読み替えてください 🙇はじめに2017年10月6日、ついに日本でGoogle Homeが発売されました。
というわけで、早速買ってapi.aiのGoogle Assistant Integrationを使ってGoogle Homeに色々と言わせてみたので、簡単にやり方を紹介します。Actions on Googleまずはじめに、次のURLからActions on Googleにアクセスしてプロジェクトを作成します。
https://console.actions.google.com/?pli=1プロジェクトを作成Add/import projectをクリックしてプロジェクトをインポートまたは新規作成します。
もしGoogle API Consoleで既に別のプロジェクトがある場合は、それを選択することも可能ですが、無い場合は入力した名前で新たにプロジェクトが作成されます。
入力が終わったらCREATE PROJECTを押しましょう。
作成が完了すれば、次のような画面が表示されます。
もし正常に作成されなかった場合、次のようなメッセージが表示されます。
この場合、作成が完了したっぽメールも届きますが成功していないので、もう一回CREATE PROJECTを押してみてください。
すると、今度は成功するはずです。api.aiを使えるようにするActions on Googleの画面から、API.AIの右下にあるBUILDをクリックします。
すると、次のような画面が表示されるので、CREATE ACTIONS ON API.AIをクリックします。
ウィンドウが出てきたら、Google Homeでログインしているアカウントを選択します。
アクセスを許可します。
また別の権限を求められるので右下の「AUTHORIZE」をクリックします。
これもGoogle Homeでログインしているのと同じアカウントを選択します。
アクセスを許可します。
次のような画面が出てくるので、説明や言語設定を変えて右上の「SAVE」をクリックします。
これでapi.aiを使う準備ができました。
api.…

「個人でアプリを11個公開した結果」と「Function introduction of Google Play Services」というタイトルでDroidKaigiに初めて登壇した

DroidKaigiというエンジニアが主役のAndroidカンファレンスに初めて登壇しました。
今までAndroidの勉強会などで5分のLTをすることは何回かありましたが、DroidKaigiのような大きなカンファレンスで30分の講演をするというのは初めての経験で、色々なことがあったので書き残しておこうかなと思います。

発表内容 まず発表したスライドを載せておきます。





トーク応募 DroidKaigiでは、開催前にトークの応募期間というものがあります。
なので、その期間に自分が話したいことの概要をまとめて応募しました。
DroidKaigi 2015、2016で応募されたトークリストを確認することができたので、私はそれを参考に、応募要項も確認した上で、どんなことを書けば良いのかなぁというのを考えていました。

実際に応募したのは以下の2つです。

「Function Introduction of Google Play Services」 これは、自分が調べて実際に検証などもした「Google Sign-In」「Google Plus One Button」「App Invites」についての話です。
タイトルは悩んだ結果、すべてGoogle Play Servicesに関連するお話だったため、「Google Play Servicesの機能の紹介」という風にすごくざっくりまとめてみたのですが、
なんだか日本語だと微妙な感じだったのでなんとなく英語のタイトルにしてみました。

「個人で11個のアプリを公開した結果」 これはタイトル通り、個人で11個のアプリを公開した結果どうだったのか、というお話です。
この話に興味がある方がいるかどうかが分からなかったのですが、2011年頃から個人で様々な種類のアプリを開発・公開している人はそう多くはないでしょうし、実際どうだったのかという数値を交えた分析結果も個人でないとなかなか出せるものではないと思うので、応募してみることにしました。

これら2つのトークを応募した結果、なんと驚くことに2つとも採択していただきました。
本当にありがとうございました。

2つのうちどちらか採択されたら良いな、という思いで応募したので、まさか2つとも採択していただけるとは思ってもいませんでした。

1つ断ることもできたのですが、初めての大きなカンファレンス…