ゲージ付の折れ線グラフをすばやくつくれるライブラリ「Spark」

折れ線グラフをすばやくつくりましょう.

Introducing_Spark_—_Robinhood_Engineering_—_Medium

Introducing Spark — Robinhood Engineering — Medium

手順

1. ライブラリを追加する.


compile ‘com.robinhood.spark:spark:{latest release}’

2. View を設置する.


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.robinhood.spark.SparkView
        android:id="@+id/sparkview"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:spark_lineColor="@color/colorAccent"
        app:spark_scrubEnabled="true"
        app:spark_animateChanges="true"/>
...

3. データ float[] を渡す Adapter を作る.


public class MyAdapter extends SparkAdapter {
    private float[] yData;

    public MyAdapter(float[] yData) {
      this.yData = yData;
    }

    @Override
    public int getCount() {
      return yData.length;
    }

    @Override
    public Object getItem(int index) {
      return yData[index];
    }

    @Override
    public float getY(int index) {
      return yData[index];
    }
}

4. Adapter を View にセットして, ゲージをタッチしたときの Listener をつける.


SparkView sparkView = (SparkView) findViewById(R.id.sparkview);
sparkView.setAdapter(new MyAdapter(data));
sparkView.setScrubListener(new SparkView.OnScrubListener() {
    @Override
    public void onScrubbed(Object value) {
        if (value == null) {
            scrubInfoTextView.setText(R.string.scrub_empty);
        } else {
            scrubInfoTextView.setText(getString(R.string.scrub_format, value));
        }
    }
});

5. 出来上がり

20160419-072257_1

数値の推移を確認するには折れ線グラフは非常にわかりやすく, タップしてその時点の数値も簡単に表示できてしまうこのライブラリは非常に重宝するものだと思われます.

robinhoodmarkets/spark: A simple Android sparkline chart view.


res ディレクトリは小分けにしたほうがいいのではないか

java ディレクトリ以下は, お好みで小分けして素早くたどりつけるのに,

1-A-m20R0Qve-eB4ishqZc_Q

ソースディレクトリの構成時にもっておくべき「会社別」のイメージ

res ディレクトリ以下ときたら, なんの整理もしなくて, 該当ファイルになかなか辿りつけない.

res ディレクトリ以下も, 共用/画面別に分けたりするのはどうでしょうか, と GoogleDeveloperExperts の方が言っておられます.

Android_Project_Structure_—_alternative_way_—_Google_Developer_Experts_—_Medium

小分けにしても, マージして読み取ってくれるんですね.


sourceSets {
    main {
        res.srcDirs = [
                'src/main/res-main',
                'src/main/res-screen/about',
                'src/main/res-screen/chat',
                'src/main/res-screen/home',
                'src/main/res-screen/login',
                ....
        ]
    }
}

「Project View」でしか利用できないそうですが.

Android Project Structure — alternative way — Google Developer Experts — Medium

In this case, both resource folders have the same priority. This means that if a resource is declared in both folders, the merge will fail and an error will be reported.

Resource Merging - Android Studio Project Site

マージ後に重複するファイルがあればエラーとなり, 各ディレクトリ同士の優先順位はなしのフラット扱いらしいです.

IDE自体にどんな便利なショートカットや検索機能があったとしても, 直感的にわかりやすい構成にしておきたいですよね!


熊本の状況を鮮明にドローンで撮影した動画を公開した国土地理院の仕事の早さ

【国土地理院】 阿蘇大橋周辺の土砂崩れ箇所_-_YouTube

国土地理院動画チャンネル - YouTube

なんとなく, 暗い空気の中, 明るい話題のように思えたりする.

やることが新しいし, 仕事が早い.

発足したばかりのこれかな.

国土地理院は3月16日より、国土交通省が推進する「i-Construction」の一環として、無人航空機(UAV:Unmanned aerial vehicle 通称ドローン)を使った測量環境の整備を開始します。具体的には、国土地理院内に「i-Construction推進本部」(会議体)を設置するほか、UAV技術者を育成し、i-Construction向けの測量に必要な指導・助言、災害時には自らが現場の撮影・測量を行う「国土地理院ランドバード」(体制)を発足します。
これにより、建設現場における生産性の向上と災害対応時のUAV活用を推進します。

無人航空機(UAV)を使った測量を支援する「国土地理院ランドバード」を発足 ~「i-Construction」を推進し、建設現場の生産性向上に貢献~|国土地理院

これだけ鮮明に危険なく状況を把握できると, いろいろ役に立つと思われます.

がんばれ熊本!!

菅直人政権の方がずっとマシだ!安倍政権の熊本地震対応に批判が集まる - NAVER まとめ