タグ

ブックマーク / qiita.com/boohbah (5)

  • Firebase + Reaspberry Pi + TWE-Lite でトイレ監視システムを作った話 - Qiita

    我々Sansan社では年々社員が増加し、それに伴いトイレのリソース問題が顕著になってきました。そこでトイレの空き状況がリアルタイムにわかると嬉しい!という声があがりトイレの空き状況を監視するシステムを作ってみました。 概要 作るシステムは以下の図のような感じです。 ドア開閉センサー (リードスイッチ + TWE-Liteによるワイヤレス・システム) Raspberry Pi でセンサーの信号を受取サーバに送信 Firebase databaseで状態を管理 webクライアントでリアルタイムに情報を更新 ドア開閉センサー こちらの記事を参考に作りました。 ボタン電池1個で数年持つ無線ドア開閉センサを作る - Qiita 部品や回路などは全くこの記事にある通りにしてあります。 TWE-Liteへのファームウェアの焼き込みに苦労したので、以下記録です。 TWE-Liteへのファームウェアの焼き込

    Firebase + Reaspberry Pi + TWE-Lite でトイレ監視システムを作った話 - Qiita
  • RxJavaのエラーハンドリング - Qiita

    RxJavaでは非同期処理などで非常に便利なライブラリですが、そのエラーハンドリングもとてもスマートに行うことができます。ここではRxJavaのエラーハンドリングの詳細について説明したいと思います。 subscribeでのエラー処理 通常はsubscribe()でエラーを受け取ってハンドリングすることとなると思います。 Observable .create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { log("subscribe"); subscriber.onNext("emit 1"); subscriber.onNext("emit 2"); subscriber.onError(new Throwable());

    RxJavaのエラーハンドリング - Qiita
    craf
    craf 2016/09/27
  • kotlinはJavaからどう見えるか? - Qiita

    これがJavaでは val a:Intで宣言したものはgetA()のgetterのみ var b:Intで宣言したものgetB()とsetB(int i)とgetterとsetterの両方が生成されているようです。 get/setを使わずにプロパティアクセスしたい kotlinのプロパティに@JvmFieldアノテーションを指定することでJavaからはget/setメソッドではなく直接プロパティとしてアクセスすることができます。

    kotlinはJavaからどう見えるか? - Qiita
  • RxJavaを使った通信中にProgressダイアログを出す - Qiita

    Retrofitをなどを使って非同期の通信を行うときに通信中はくるくるダイアログなどのProgressダイアログを出したいケースはよくあると思います。 ベタなやりかた もっともベタなケースとして、通信を行うまえにダイアログを出し、onComplete()とonError()でダイアログを閉じるというやり方があります。 void onClick() { // ProgressDialogを生成して表示 final ProgressDialog progressDialog = createProgressDialog(); progressDialog.show(); loadData().subscribe(new Subscriber<String>() { @Override public void onCompleted() { // complete時にProgressDialog

    RxJavaを使った通信中にProgressダイアログを出す - Qiita
    craf
    craf 2015/12/08
    実用的なサンプル
  • multidex環境でのビルドの高速化 - Qiita

    SDKバージョン21からmultidex環境でのビルドが最適化され、高速にビルドできるようになりました。これを有効にするためにはgradle.build上でminSdkVersionを21以上にする必要があります。 ただ、実際のプロダクトにおいて、minSdkVersionが21(Android 5.0以上)というのは現実的ではありません。そこで、開発環境とプロダクション環境で別々のproductFlavorを定義することで、開発時にはminSdkVersionを21に指定し、プロダクトとしてリリースする場合にはminSdkVersionを実際使われる値を使用することができます。これにより、開発時は高速なビルドで効率的な開発を行うことができます。 android { productFlavors { // Define separate dev and prod product flavo

    multidex環境でのビルドの高速化 - Qiita
  • 1