投稿

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

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

イメージ
※この記事は以前Qiitaに投稿されていた古い記事です はじめに Google Nowには、次のようにリストを表示するカードがあります。 このようなカードを作ろうと思ったときに、ViewGroupにaddViewしたり、ListViewをスクロールさせなくしてカードにしてみたりとやり方はいくつかあると思うのですが、これをもっと簡単に作れたらいいのになぁと思い、カスタムビューを作ってみましたので簡単に紹介したいと思います。 実現したいこと 今回作るカスタムビューで実現したいのは次のとおりです。 リストアイテムのViewを生成・保持 リストアイテムの追加・変更・削除 リストアイテムの表示数を制限 リストアイテムの表示数を制限している場合、削除したら次の項目を表示する カードのヘッダー、フッター Viewの構成 今回作るカスタムビューは、次のような構成にします。 まず、カードを作るのでCardViewで囲み、その上にRelativeLayoutを乗せます。 その上に乗っている上下にあるViewはヘッダーとフッターになる予定のものです。 ヘッダーとフッターはViewにしておくことで後で差し替えられるようにし、デフォルトではTextViewを表示します。 そしてメインとなるリストはLinearLayoutを利用します。 基礎となるViewを作る 先ほどのViewの構成どおりに、まずは基礎となるViewを作っていきます。 class ListCardView : CardView { private val defaultPadding = TypedValue . applyDimension ( TypedValue . COMPLEX_UNIT_DIP , 16f , resources . displayMetrics ) . toInt ( ) private var rootView : RelativeLayout = RelativeLayout ( context ) . apply { layoutParams = ViewGroup . LayoutParams ( ViewGroup . LayoutParams . MATCH_PA

[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でログインしているのと同じアカウントを選択します。 アクセスを許可します。

「個人でアプリを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つとも採択していただけるとは