techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

Android

Google Nearby Messages APIを使ってみる〜実際使ってみた編〜

前回の記事でNearby Messages APIのセットアップまでを紹介した。 blog.techium.jp 今回は実際にAndroid端末でメッセージの送受信を確認する。 動作確認に使用した端末はNexus 5 、Nexus 5x、全てのコードはActivityに実装した。

ETC1を使ってデータ量を少なくする

Androidで画像リソースを利用する場合はPNGが多いと思いますが、PNGは可逆圧縮のフォーマットのためどうしても一定サイズ以下にデータを小さくできません。 そこでよく行われるのPNGを最適化して使ったり、WebP、JPGなどが良くあります。 最近ではVectorDraw…

AndroidStudioをビルドする

Motivation AndroidStudioの機能デバッグしたいんだけど、と前々から思ってたので時間とれたついでに試してみた。 ソース読んだりするのもIDEに食わせると楽できるのでオススメ。 Motivation repo sync Java6とJava8のインストール Intellij CEのインストー…

JackでDagger2が使えるようになった

先日、JackでDagger2が使えないという記事を書きましたが、なんとJackでもDagger2が使えるようになりました! Dagger2だけじゃなくannotation processingが使えるようになりましたので、他のツールも動くようになりました。 なぜ動くようになったかというとG…

RxJava:Error Handling Operatorを使ったエラーハンドリング方法を理解する

RxJavaではObservableでExceptionが発生した場合、デフォルトではそのObservableを監視しているObserverのonErrorメソッドが実行され、出力元のObservableが終了します。 想定外のエラーが発生して処理を続行することが困難な場合はonErrorで適切な後処理を…

The experts' guide to Android development toolsで紹介されてたASショートカット(気になったのメモ

Motivation Google I/O 2016のセッションを少しずつ消化しているのだけれど、「The experts' guide to Android development tools」のセッションで紹介されていたAndroidStudioのショートカットが有用っぽいので備忘録がてらまとめておく。 とりあえず「ctrl…

AppLaunchCheckerを使って初回起動を判断する

Androidアプリを作るにあたって初回起動を判断する必要があると思います。 よくあるケースとしてははじめて起動した時にチュートリアルを表示して、2回目以降はチュートリアルを出さないようにするなどの処理を考えたりするときに判断が必要になります。 一…

RxJava:doOnEach系メソッドでObservableのライフサイクルを理解してデバッグに役立てる

今回はRxJavaのdo〜系メソッドを使ってObservableのデバッグに役立てる方法を紹介します。

MaterialDesignのLoading中のProgressを作る

Motivation Material Designのガイドラインのコレが気に入ったので、汎用的に使えるようにFragmentで書いてみた。 Progress & activity - Components - Google design guidelines Motivation Progress Barを実装する FadeIn/FadeOutを実装する Activityから…

昼/夜のテーマを切り替える

AndroidではUiModeManagerを用いると端末自体のモードを切り替えることができましたが、アプリ内のテーマやリソースを切り替えることができませんでした。 最近になってAndroidのSupport Libraryに端末モードの切替に応じてUIのテーマやリソースを切り替える…

RxJavaのFiltering Operatorの使い方をまとめてみた

ReactiveExtenstionの根本的な概念としてObservableとOperatorがあります。前回はRxJavaをより深く理解するためにObservableの生成メソッドをまとめてみました。 今回は前回に続いて、Observableから流れてきた値をフィルタするFiltering Operatorの使い方を…

Cloud Test Labを使ってテストしてみる

Androidのアプリを開発するうえで様々な端末やバージョンに対応する必要があります。 しかし、端末とバージョンを網羅的にテストするには費用がかかってしまうため基本的に個人の力で網羅するのは現実的ではありません。 そこでGoogleが提供しているCloud Te…

RxJavaのObservable生成メソッドを一通り試してみた

RxJavaを使いこなすためにはObservableを理解することが欠かせません。今回はより深くRxJavaを理解するためにObservable生成メソッドの挙動を調べてみました。 RxJava(というかReactivePrograming)については、以前も紹介した以下の記事が大変分かりやすかっ…

AndroidでFlexboxLayoutを使ってViewを並べる

FlexboxLayoutなるものが出たというのをチラッと見たので、どんなものなのか試してみました。 github.com FlexboxLayoutは、CSS Flexible Box Layout Module をAndroidに持ち込んだものらしい。 しかしまだバージョンが0.1.2(昨日は0.1.1だった)ということで…

ViewPagerにIndicatorをつける

Motivation Indicatorつけたいやん!!と思い立ち、これでイケる! と思った後に「あ、ライブラリありそう」とググったら見つけて 「あっ。。。」ってなりました。 実装は参考程度に、下記ライブラリを使うのが良いのではないでしょうか。 github.com Motivati…

Android-ObservableScrollViewでパララックスなスクロールを実装する

Android-ObservableScrollViewはScrollViewやListViewなどのスクロール可能なウィジェットのスクロール状態を取得して、スクロールに関するイベントをハンドリングできるようにするためのライブラリです。 このAndroid-ObservableScrollViewを使用することで…

Stethoのdumpappを使ってアプリの情報を取り出す

Androidアプリを開発する際にアプリ内のデータにアクセスして何が保存されているかを取得してデバッグを効率的にできるようにすることは多々あると思います。 そこで今回紹介するのはStethoというFacebookが開発したライブラリのコマンドラインツールの作り…

Android で Local 通知するライブラリ

Android で Local 通知するライブラリ Android で Local 通知するライブラリ 作りたいもの リポジトリ 構成など 実装

RxAndroid x Retrolambdaでモダンな実装を試す

前回はRxAndroidでリアクティブプログラミングに入門するために、ダブルクリックイベントを検出するサンプルを作成しました。 実際にやってみた感想として、リアクティブプログラミングのコンセプトは非常に便利だと感じましたが、単純にJava単体で実装する…

Retrofit2でDigest認証の鯖とやりとりする

Motivation 対Digest認証を持つサーバーとお話することがあったので。 AndroidだとApacheのHttpClientがお亡くなりになったことで情報が色々入り交じってる。 今時だとOkHttp+Retrofit(2系からはokHttpを持ってる)を利用することが多そうなので、この環境で…

Android向けライブラリ用README

Android向けライブラリ用README Android向けライブラリ用README READMEの必要性 記載する内容 例 今後

RxJavaのmapのエラーハンドリングをする

RxJavaを使った場合によく活用されるであろうmapでエラーが発生した時の操作についてご説明します。 mapはObservableのストリームで渡される要素一つに対して実行する処理を記述するもので、その処理途中でエラーが発生した時のExceptionをハンドリングして…

RxAndroidでダブルクリックイベントをキャプチャする

2週ぐらい遅れてる感はあるが巷で話題のReactiveProgrammingなるものに入門してみたので導入方法と簡単なサンプルを備忘録として残しておきます。今回試したのはRxAndroidです。

AndroidでDagger2を使ってDIする。

今回はDagger2の使い方について解説していきます。 Dagger2は、Dependency Injection(以降DI)を利用する上で便利なライブラリです。 ここではData Bindingの解説で作成したアプリを改造し、武器を装備して雪山に出かけた上に攻撃をしてみます。 少し説明が長…

Retrofit2.0でホッテントリのRSSをパースしてみる

前回はRetrofitではてなAPIを叩いて取得したJSONをパースしてリスト表示してみました。今回はもう一歩進んで、はてぶホッテントリのRSSフィードを取得してリスト表示する、簡易ホッテントリリーダーを作ってみた話です。 最終的なサンプルは前回作成したプロ…

Data Bindingを使ってみる その6

さて、またまた今回も公式に従ってData Bindingを見ていきます。 今回はBindingAdapterアノテーションを使って、ImageViewに画像を表示する属性とSetterを追加します。 今回は例として、画像のURLをセットすると画像をロードして表示する属性をImageViewに付…

Android:Retrofit2.0ではてなAPIとおしゃべりしてみた

Androidでネットワーク通信するアプリを作る際、少し前まではVolleyを使うのがイケてるAndroiderの嗜みだったようですが、最近ではどうやらRetrofitがその地位を奪いつつあるようです。 ということで遅ればせながらイケてるAndroider目指してRetrofitをお触…

Data Bindingを使ってみる その5

今回は、Data BindingをRecycler Viewで使用してみます。サンプルとしては、TextViewを一つ持ったレイアウトをリスト形式に並べて表示してみるようにします。 RecyclerViewはAndroid 5.1 Lollipopから追加されたUIコンポーネントで、その名の通りViewをリサ…

Drone.io(OSS版)でGithubのプロジェクトをCIしたい

Drone.io(OSS版)でCIをする Githubのプロジェクトなら、その他のCIサービスが利用できると思うけれど、Gitlab使ってるからみたいな環境に向けて。 GithubにOAuth Application登録をしておく インストール中に必要になるので、事前に設定しておきましょう。 G…

Data Bindingを使ってみる その4

前回、前々回、前々々回に引き続き、Data Bindingの話題です。 今回は、前回、前々回の記事で作成したHanterクラスを、ObservableFieldで置き換えてみます。 ObservableFieldを使うと、Hanterクラスのようないくつかのプロパティを持つクラスを、より簡潔に…