ROOTING LAB

ROOTER Engineer Blog

Androidスマホのデータベースはmemento databaseが超便利

memento databaseを趣味で使い始めましたので、そのご報告。

https://lh5.ggpht.com/-SfpAPRb7BFN5MCbJJcP-75cJvPN_5ORfXidz3vAoBxgE3QAT-dS0Nwemeok3r73mgg=w300-rw

▼業務アプリで一番多いのはデータベース

業務用途では結構な数のAccessがある。Macで言えばファイルメーカー。検索→一覧→詳細って流れで情報を整理することが大半なので、スプレッドシートと並んでローカルデータベースってのは多くの現場で使われる。Accessが普及する前は、dbaseとかFoxProとかが、業務アプリを作る人の開発言語のように扱われていた。

スマホになってからのデファクト・スタンダードがない

WordやExcelなどはどんどんスマホに移植されてはいるのだけれど、驚くほどにデータベースのソリューションは後回しになっている。iOSではファイルメーカーが早くから移植されてはいるが、Android版はまだない。Andorid向けでいいのがないかどうか探してみた。

▼mement databaseが今一番よさそう

mement databaseに関しては、Andoriod版のみしか出てないが、触ってみるとアクセスやファイルメーカーに相当する機能プラスアルファは備わっていた。

  • 豊富な型
    ただし利用しているのはテキストと数値が大半。ハイパーリンクくらいは実用的
  • 一覧にどう表示するかの選択
    タイトル(一番大きく)、詳細(左下に小さく)、ステータス(右下に小さく)の3つから選べる。これセンスいい。タイトルがあふれた時には...で省略される。センスいい。
  • GoogleSpreadSheetとの同期
    これにより、データの更新が超便利。データの取り込みはパソコンからってことが可能になる。
  • グループ化
    1カラムしか選べないが、グループ化できるのが便利。エクセルのフィルタを使う用途に近い。
  • フィルタ
    フィルタ条件は保存できるのが便利。

ここまで書いて思ったのは、これPC上でも欲しいくらいだってこと。いわゆるカード型データベースとしてプログラミングなしで、ほとんどのことができる。社内のカタログ系はこれで十分。

▼[テスト]ネタ投稿をいつでも手元で集計

インターネット上にあるデータを集めて、ローカルで集計や並びかえをしたいと言う時にローカルデータベースは便利。そこで、ネタ投稿サイトを手元に置いてみる。今回は書き出し小説大賞を手元で集計をしてみた。

デイリーポータルZの投稿は、#ffffccの黄色い箱に、右下に投稿者のspanタグが存在するので、それをRubyのNokogiriを使って取得。それをCSVに変換して、GoogleSpreadSheetにアップロード。SpreadSheetはSJISCSVを受け付けてくれる。

f:id:rooting-lab:20150322174354p:plain

これができたら、今度は、memento databaseで、新しく「ライブラリ」(テーブルみたいなもの)を作る。ここは面倒だけど、スマホでフィールドを一個一個作っていく。ライブラリができたら、今度は、スプレッドシートと連携させる。フィールド名が一致していれば、自動的に対応が決まる。

f:id:rooting-lab:20150322180408p:plain

とりあえず1カラムだけ作って同期してみるとちゃんと一覧になった。

f:id:rooting-lab:20150322180412p:plain

各フィールドを名前をそろえて全部同期をとると、こんな一覧になる。投稿者名も一覧にだしてみる。メイン、右上、左下、などの配置がフィールド設定画面で調整できる。

f:id:rooting-lab:20150322180415p:plain

グループ化もできるので、投稿者でグループ化すると、自分の投稿だけ見つめていたいということができる。エクセルでいうピボットテーブルみたいな使い方。

f:id:rooting-lab:20150322181514p:plainf:id:rooting-lab:20150322181516p:plain

 

今回は手元で見て楽しい物ということで書き出し小説を題材に選んだが、ネット上のデータはなんでも手元でデータ化できるということがポイント。スマホアプリのようだけどアプリ開発もいらないし、マーケット審査もいらない。実は書き出し小説はこんなことしなくても書籍化されているので、オフラインで十分楽しむことができる。

www.amazon.co.jp

  

▼まだ試してないけど便利そうな機能

  • mement database そのものの共有
    ユーザ登録すればできそう。
    これが上手く使えたら、マーケットプレイスを経由せずにちょっとしたデータベースを配布することができる。業務アプリの配布方法としてはマーケットを経由シたくないことが多いので便利。
  • 計算値フィールド
    カード型データベースでは計算値フィールドが便利。

▼残念なところ

ラベルがすべて英語。読めない英語ではないがちょっととっつきにくい。業務アプリに使うには、やはり日本語ラベルでないと「どっかで拾ってきたアプリ」に見えてしまう。

検索機能は、英語を前提としているので、日本語の場合は分かち書きをしていないと検索できない。つまり、「山本ゆうご」は検索できるが「ゆうご」は検索できない。