やいまふに 2.5.0リリース

八重山離島船のAndroidアプリ「やいまふに」を2.5.0にアップデートしました。

  • トップ画面に今日の風速、波の高さを表示
  • 表示レスポンス改善
  • その他バグ修正

アプリ内のどこかにに隠し要素を入れてみました。
ぜひ探してみてください!

play.google.com

CardViewにクリックエフェクトを付ける

このの2行でクリックエフェクトがつくようになる。

android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"

つまり、こんな感じだな

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:foreground="?android:attr/selectableItemBackground"
        android:longClickable="true"
        app:cardCornerRadius="8dp"
        app:cardElevation="2dp"
        >

参考

stackoverflow.com

ローカルガイドの投稿写真の表示回数が20万を超えた

またまたローカルガイドからメールがきた

f:id:banbara:20160503121959j:plain

20万表示を突破したらしい。

やったー

最近、Googleマップに写真投稿するのが楽しくなって、投稿ペースが前より増えたかも。

ポイントも400ジャストくらいかな。

レベル5まであと100!

まだまだ頑張るぞー

Googleマップローカルガイドからお祝いのメールがきた

突然こんなメールがきた。

f:id:banbara:20160426124935j:plain

Googleマップに俺の投稿した写真がこれだけ見られました! という内容のメールだった。

15万という数字は、おそらくローカルガイドを始めてからのトータル件数だろう。

せっせと写真を投稿したかいがあったようだ。 次は何万件でメールがくるんだろう?

ちなみに、今のローカルガイドの点数は350だった。

f:id:banbara:20160426130224j:plain

レベル5になるには500点とればいいのかな? まだ先は長いなー

500点まで頑張ろう

lsコマンドでディレクトリのみを一覧で表示

こんな状態から

Directory1
Directory2
Directory3
Directory4
Directory5
sample1.apk
sample2.apk
sample3.apk

ディレクトリのみ一覧で表示したい場合

ターミナルに以下をぶちこむ

ls -1F | grep /

表示結果

Directory1/
Directory2/
Directory3/
Directory4/
Directory5/

lsオプション説明

-1
1行に1ファイルずつ表示する

-F
ファイル名にファイル・タイプを表す記号を付けて表示する。ディレクトリは"/",実行可能ファイルは"*",シンボリック・リンクは"@",FIFOは"|",ソケットは"="で表わす

最後のスラッシュが邪魔だけど...
もっと良い方法ないですかね


参考リンク
Linuxコマンド集 - 【 ls 】 ファイルやディレクトリの情報を表示する:ITpro

Xmllintで属性を指定してXmlから値を取得

またまたシェルスクリプトとxmllintを使う機会があった。

今度はxmlに同名タグが複数存在しており、属性で絞って値を取るというパターンだった。

やりたいこと

以下のxmlがあったとする。

<!-- sample.xml -->
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <long name="aaa" value="12345" >いぬ</long>
    <long name="bbb" value="56789" >ねこ</long>
</map>

longタグ内にあるname="aaa"のvalueの値「12345」を取得したい。

前回と同じくxmllintを使って取得する。

準備&おさらい

準備&おさらいとして、単にvalueのみを指定してxmllintで取る。

echo 'cat map/long/@value' | xmllint --shell sample.xml

結果はこうなる

/ > cat map/long/@value
 -------
 value="12345"
 -------
 value="56789"

name="aaa"もname="bbb"の両方のvalueがヒットしてしまう。
これを条件を与えて絞るようにする。

xmllintに条件を加える

name=aaaのみを得るには、long[@name="aaa"]とする。

echo 'cat map/long[@name="aaa"]/@value' | xmllint --shell sample.xml

とすると、結果はこうなる。

/ > cat map/long[@name="aaa"]/@value
 -------
 value="12345"

無事にname=aaaのみのvalueが取れた。

できた

あとは変数だけを取得するなら、自分はこうしてみた

value=`echo 'cat map/long[@name="aaa"]/@value' | xmllint --shell sample.xml |grep value= | sed 's/[^"]*"\([^"]*\)"[^"]*/\1/g'`
echo $value

結果はこうなる。

1234

これで目標達成となった。

<br

おまけ

「いぬ」の値を取る場合はこうした。

value=`echo 'cat map/long[@name="aaa"]' | xmllint --shell sample.xml | grep value= | sed 's/^.*<long.*>\(.*\)<\/long>.*$/\1/'`;
echo $value

結果はこうなる。

いぬ


参考リンク
- Test XML command line with xmllint | - Softwaretester -

Qiitaに初投稿してきた

ブログに書くほどの事じゃないんだろうけど(笑)

いつも閲覧ばかりしているQiitaに、初投稿してきた。

qiita.com

投稿の中身は、昨日このブログで書いた記事と同じ(笑)

Qiitaでは技術ネタの収集にお世話になってるもんで、たまには俺も投稿しようかなーと。


投稿した後に、別にxmllint使わなくてもgrepだけでも取得できる事に気付き、
そんなツッコミが絶対来るだろうなぁ、とビクビクしている今日この頃です。