ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

Android アプリ

Android アプリの Drawable リソースのエイリアスの作成について

当たり前の内容だけど日本語ドキュメントが間違っててバグを埋め込んでしまった (リリースはしてない) ので共有。 Drawable リソースのエイリアス作成 res/values/drawables.xml ファイルみたいなファイルを作って、そこに <drawable name="alias_name">@drawable/target_drawable</drawable> みたい…

Android における View にまつわる状態とライフサイクルについての考慮のメモ

Activity が再生成される際の、View の onSaveInstanceState メソッドと onRestoreInstanceState メソッドについて個人用にまとめておく。 Activity の再生成 Activity が再生成 (re-creation) される際には、以前の状態が Activity#onCreate と Activity#on…

ThreeTenABP と ThreeTenBP の関係について (Android における JSR-310 バックポート)

「ThreeTenABP って Android フレームワークに依存するけど、ドメインレイヤとかで Android 依存を排除したい場合どうするのがいいんですかね」 という相談を受けて、ThreeTenABP 周りを調べたのでメモ。 ThreeTenABP って何? JSR 310 Date and Time API の…

Android のアカウントマネージャ (AccountManager) の概説

最近 Android のアカウントマネージャを仕事で触ったので、調べた内容としてアカウントマネージャの概要をまとめておきます。 Web 上を調べると AccountManager を使う処理の実装方法はいろいろ見つかるのですが、アカウントマネージャの概要を説明している…

読んだ : Kotlin スタートブック ― 新しい Android プログラミング / 長澤 太郎 著

Kotlin エバンジェリスト (JetBrains 黙認) であり、日本 Kotlin ユーザグループ代表であるたろーさん (長澤 太郎) によって書かれた書籍 『Kotlin スタートブック ― 新しい Android プログラミング』 (赤べこ本) を読みました!!Kotlinスタートブック -新…

Android の Instrumented Test で指定のサイズのテストだけ実行する (@SmallTest とか @LargeTest とか)

Android Testing Support Library (ATSL) の話。 バージョン 0.5 時点での情報です。ライブラリの準備方法などはドキュメントを読んでください。 テストサイズを表すアノテーション android.support.test.filters というパッケージがあって、この中にはテス…

ISO 8601 DateFormat 1.0.0 (Java 向けライブラリ) をリリースしました

2016 年 5 月 3 日に ISO 8601 DateFormat の 1.0.0 をリリースしました。 ISO 8601 形式 (もしくは RFC 3339 や W3C-DTF 形式) の日付時刻文字列のパースとフォーマットのための DateFormat のサブクラスを提供するライブラリです。Bintray の JCenter リポ…

「DroidKaigi 2016」 と 「関モバ #11」 で発表しました

「DroidKaigi 2016」 にて 『5 年続く 「はてなブックマーク」 アプリを継続開発する技術』 というタイトルで、また 「関モバ #11」 で 『Components­Recycler­Adapter — RecyclerView で複数の view type や複雑なデータ構造を扱う』 というタイトルで、そ…

Android の Drawable への着色について (Drawable tinting)

API level 21 から使えるようになった Drawable への色付け (Drawable tinting) について説明します。 この機能は、アルファマスクとして Drawable を定義し、表示時に色を指定するための機能です。 また、それに関連する各種 API や、Android Support Libra…

Android の Java で時刻を扱う (Date、Calendar、DateFormat クラス)

Android アプリで時刻を扱う際に利用することになる Date クラス、Calendar クラス、DateFormat クラスについて、それぞれの役割や使い方、気を付けるべきことをまとめています。

【v7 appcompat library を読む】 レイアウト XML のインフレート時に各種 view が compatible widget に変換される仕組み

Android アプリ開発時にお世話になる v7 appcompat library の話です。 レイアウトのインフレート時に、各種 view が compatible widget に自動的に変換される (例えば TextView が AppCompatTextView に変換される) 仕組みについて説明しています。

Chrome からの共有で onNewIntent が呼ばれない問題 (Android アプリの documentLaunchMode の話)

Android の API level 21 で導入された documentLaunchMode に関する Activity の挙動にバグっぽいところがあって、結構扱いに困るのでまとめておきます。 「documentLaunchMode? 関係ないや」 って思ってる人でも、外部アプリからの Intent を扱うアプリを…

実機の Android 端末に対して Hierarchy Viewer を使って View の階層構造を調べる

Android アプリを開発する際に便利な Hierarchy Viewer ですが、日本語のブログ記事だと実機の Android 端末に対して Hierarchy Viewer を使う際に ViewServer を使わない方法を紹介してるものがあまり見当たらない *1 ので、ViewServer を使わない方法を紹…

Android の Canvas#saveLayer メソッドと xfermode について

Android アプリ開発に関して Canvas クラスの saveLayer メソッドや Paint の xfermode について調べたのでまとめておきます。 Canvas#saveLayer メソッド saveLayer メソッドのドキュメントには、『This behaves the same as save(), but in addition it al…

Espresso 2.0 が Android support library の一部としてリリースされた

上記エントリにあるように、Espresso 2.0 がリリースされた。 Espresso は Android アプリの自動テストのためのライブラリである。 ほぼ上のエントリに書かれている内容であるが、Espresso 2.0 のリリースについて紹介する。 変更内容など 一番大きな変更は…

【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】

この記事は、はてなエンジニアアドベントカレンダー 2014 の 15 日目のエントリです。 昨日は id:chris4403 による 「開発合宿で何を考えてどう作ったか」 でした。このエントリでは、Android アプリおよび Java アプリケーション用の REST クライアントライ…

RecyclerView と view type について (Android アプリ開発)

このエントリでは、ListView の進化版とも言われる *1 RecyclerView の view type について簡単に紹介します。 RecyclerView 自体については次のページを参照してください。 Creating Lists and Cards | Android Developers (公式のトレーニングガイド) Mate…

発表資料: Android アプリ開発における Gradle ビルドシステム (京都 Android 勉強会 2014.08)

Android アプリ開発における Gradle ビルドシステム from Yu Nobuoka 去る 8 月 23 日に株式会社はてな主催で行われた Android アプリ開発の勉強会 「京都 Android 勉強会 2014.08」 にて、Android アプリ開発と Gradle について喋ってきました。Android Stu…

【告知】 来週土曜日 「京都 Android 勉強会 2014.08」 開催 & Gradle のことを話します

来週土曜日 「京都 Android 勉強会 2014.08」 開催 来週土曜日 8 月 23 日の午後 3 時から 「京都 Android 勉強会 2014.08」 が開催されます! 株式会社はてな主催です。 タイトル通り Android アプリ開発に関する勉強会です。 はてなの告知: 「京都 Android …

OnEditorActionListener を使って EditText への Enter キー入力やアクション入力をハンドルする

EditText への Enter キー入力を検知して何か処理をしたい、ということを調べてみると、TextView.OnEditorActionListener を TextView#setOnEditorActionListener メソッド で設定すればよいというようなブログ記事がいくつか見つかる。 editText.setOnEdito…

Android アプリの Action bar に独自 View を設定する

ActionBar#setCustomView メソッド Action bar に独自ビューを設定するには、ActionBar#setCustomView メソッドを使用する。 ActionBar#setCustomView(int) メソッド ActionBar#setCustomView(View) メソッド ActionBar#setCustomView(View, LayoutParams) …

読んだ: Effective Android

Effective Android作者: TechBooster,小太刀御禄,出村成和,重田大助,西岡靖代,宮川大輔,柏本和俊,あんざいゆき,八木俊広,木村尭海,小林慎治,有山圭二,中西良明,わかめまさひろ,新井祐一,桝井草介,久郷達也,寺園聖文,shige0501,山下智樹,前田章博,秋葉ちひろ,…

Annotations Support Library が Android Studio 0.5.5 でサポートされた

Annotations Support Library の概要 ちゃんとしたドキュメントが見当たらないのですが、 *1 Android Support library のリビジョン 19.1.0 から、新たに Annotations Support Library が追加されました。 このライブラリは、その名のとおり Android アプリ…

読んだ: Android Pattern Cookbook マーケットで埋もれないための差別化戦略 / あんざいゆき 著

読みました。Android Pattern Cookbook マーケットで埋もれないための差別化戦略作者: あんざいゆき出版社/メーカー: インプレスジャパン発売日: 2014/03/20メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る あんざいゆき Cookbook シリ…

android.casual.test #2 に参加しました & LT しました

android.casual.test とは android.casual.test は、Android のテストについてカジュアルに語るイベントです。 2 回目の開催となる今回は、4 月 3 日に行われました。 Agenda 02 · hotchemi/android.casual Wiki · GitHub 私は去年の 5 月ごろから Android …

Gradle プラグイン vc-android-sdk-manager 0.1.0 をリリースしました

リポジトリ Git プロジェクトを GitHub 上に置いています。 Maven リポジトリも GitHub 上に置いてあります。 nobuoka/vc-gradle-android-sdk-manager · GitHub このプラグインの目的 Android プロジェクトの Gradle ビルドスクリプトから Android SDK の an…

Android アプリ用ライブラリの AAR パッケージを Maven Central で公開する方法

AAR パッケージを Maven Central に公開している人は結構いるけど、build.gradle をどういう感じに書けばいいのかわかりづらかったので書き残しておきます。 使用するリポジトリとビルドツール Maven リポジトリ: Sonatype OSS Maven Repository ビルドツー…

android-lib-ZXingCaptureActivity 2.3.0-1.2 をリリースしました

android-lib-ZXingCaptureActivity という Android アプリ用のライブラリを公開しました *1。 AAR でパッケージングして、Maven Central に publish してあります。 バージョン 2.3.0-1.2 : info.vividcode.android.zxing:capture-activity:2.3.0-1.2 — Mave…

読んだ: Android アプリテスト技法

誕生日のお祝いに頂いたものです。 ありがとうございます!!Androidアプリテスト技法作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅出版社/メーカー: 秀和システム発売日: 2013/02メディア: 単行本この商品を含むブログ (6件) を見る…

Espresso を使って PreferenceActivity の自動 UI テストを行う (Android アプリ開発)

表題どおり、Espresso を使って PreferenceActivity の自動 UI テストを行う方法について簡単に説明します。 この記事内容は古くなっています このエントリを書いていた頃は Espresso 1.1 でしたが、現在では Espresso 2.0 がリリースされています。 Espress…