2014年12月19日金曜日

Android AlertDialog のボタンの色を変える Material Design 編

■ Lollipop

values/styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="Theme.Material.Light.DarkActionBar"> <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> </style> <style name="AlertDialogTheme" parent="Theme.Material.Light.Dialog"> <item name="android:colorAccent">#61a00e</item> </style> </resources>


■ AppCompat

values/styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppThemeBase" parent="Theme.AppCompat.Light.DarkActionBar"> </style> </resources> values-v21/styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="AppThemeBase"> <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> </style> <style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog"> <item name="colorAccent">#61a00e</item> </style> </resources>


2014年12月15日月曜日

MQTT ハンズオンに参加しました。

MQTT ハンズオン http://connpass.com/event/9765/ に参加してきました。

会場はクラウド会計ソフトを開発されている freee さんでした。しゃれおつなオフィスでした。卓球台とダーツがありました。(GTUG Girlsの勉強会でも使えるといいな)

講師の @r_rudi さん、@voluntas さんありがとうございました。

MQTT については時雨堂さんの解説を読むのがいいと思います。


ハンズオンでは大きく分けて2つのことをやりました。
  • mqttcli を使ってみる
  • いろんな言語で MQTT クライアントを作ってみる
当日はハンズオン用のHost(Brokerともいう)が用意されていましたが、復習したい場合は sango の無料プランで試すのがおすすめです。 githubアカウントでログインできるので簡単。


■ mqttcli を使ってみる

mqttcliはシェルスクリプト用の MQTT クライアントです。
インストール方法は mqttcli のページを見てください。

MQTTサーバーに接続するための設定を指定する方法が4つあります。
  • ~/.mqttcli.cfg に設定を書く
  • --conf で設定ファイルを指定する
  • --host, --port, --user, --password で指定する
  • $MQTT_HOST, $MQTT_POST, $MQTT_USERNAME, $MQTT_PASSWORD を設定する
~/.mqttcli.cfg に設定を書くのが簡単です。

こんな感じの JSON を書きます。 { "host": "localhost", "port": 1883, "username": "yanzm", "password": "hogehoge" }
sango だとこんな感じ { "host": "lite.mqtt.shiguredo.jp", "port": 1883, "username": "yanzm@github", "password": "hogehoge" } *追記: port は int なので " で囲わないのが正しいそうです。

コンソールを2つ開いて

片方(subscribe側)で $ mqttcli sub -t 'yanzm@github/say' *-t でトピックを指定します。sangoではアクセス先トピックがユーザー毎に分かれています。

もう片方(publish側)で $ mqttcli pub -t 'yanzm@github/say' -m 'hello' とすると、subscribe側に hello と表示されます。

当日は subscribe したメッセージを say コマンドに流すPCが用意されていて、参加者がそこに publish して楽しみました。

自分のPCでやるには、

日本語の Voice がダウンロードされていないと、say コマンドで日本語を読んでくれないので、
[System Preferences...] → [Dictation & Speech] → [Text to Speech] タブ → [System Voice:] → [Customize...] → Kyoko と Otoya をチェックしてOK
で日本語の Voice をダウンロードしておきます。
ダウンロードが終ったら、[System Voice:] を Kyoko か Otoya にしておきます。

$ mqttcli sub -t 'yanzm@github/say' | while read line ; do echo $line | say ; done とすると、publish するたびにメッセージを読み上げてくれます。楽しい!


■ いろんな言語で MQTT クライアントを作ってみる

Sango MQTT ドキュメント の中から好きな言語でクライアントを作って、pub/sub して遊びました。


■ Github の MQTT publish に挑戦

Github のリポジトリの設定に Webhooks & Services がありますが、Services に MQTT publish が用意されています。これを使うと、commit や push があったときに publish されるようなのですが、自分のリポジトリで試してもうまくいきませんでした。。。なぜだろう。。。



2014年12月12日金曜日

【プログラマー向け】よく使うフォトショ機能

Tech Women Advent Calendar 2014 の12日目として書いてます。

私は自分でアイコンやゴーファーを描いたりもしますが、 Photshop は既存の画像を加工する(Android SDK に入ってる画像の色を変えて利用するとか)のに使うことが多いです。

イラストや写真加工などガチな用途ではないですが、ちょっとした方法を知っておくといろいろと便利です。
そこで、私がアプリ開発や執筆でよく使う機能を紹介します。


1. 切り抜きツール



切り抜くサイズ(幅・高さ)を指定すると、エリア指定がそのアスペクト比になります。
切り抜いたサイズはそのサイズに自動でリサイズされます。

切り抜くサイズは幅・高さのどちらかだけ指定することもできます。
もちろん指定しない(=フォームを空にしておく)こともできます。
これらの場合はエリア指定のアクペクト比は固定されません。






2. マジック消しゴムツール



連続している同じ色のエリアを消してくれます。
背景色がついている画像で背景を透明にしたいときに便利です。



背景の円にあててみると...






3. スポイトツール



クリックしたピクセルの色がわかります。




4. ものさしツール



ドラッグした長さがわかります。
長さは上部のバーに表示されます。







5. レイヤースタイル

レイヤーに効果をつけます。
レイヤーのサムネイルをダブルクリックするとレイヤースタイルダイアログが開きます。



よく使うのが「ドロップシャドウ」と「カラーオーバーレイ」。

ピクトグラムの色を変えたいときに「カラーオーバーレイ」が便利です。
Android SDK に入ってる画像の色をかえるときとか。

「カラーオーバーレイ」


「ドロップシャドウ」



6. モザイク

原稿に載せるアプリのスクリーンショットでメールアドレスを消すのとかによく使ってます。
モザイクにしたい部分を選択ツールで選択してから
フィルター → ピクセレート → モザイク... で適用します。







まとめ

PhotoShop といえば、色調補正とかマスクとか写真加工に使うものというイメージがあるかもしれませんが、 アイコンの修正や加工にも便利なので、プログラマーで使ってみるといいと思います!