#345 タブレットと遊ぶ(転送編)

2013/04/23

<前目次次>


 Android端末を手に入れたら、まずはいろんなアプリを試してみるというのは誰でもやることだとは思うし、自分好みのアプリをいろいろ入れて、それを自分好みに整理するのも「カスタマイズ」の一つには違いない。しかし、端末を本当に「自分のための道具」にカスタマイズするのであれば、オリジナルの「データ」を入れることが必須であると思う。とりわけ、自分が撮った写真とか、自分がつくった文書ファイルなどが、持ち運べていつでも参照できるようになってこそ、携帯端末の醍醐味が味わえると思う。

 すでに持っているアドエスの場合、そうしたデータファイルは32GbyteのmicroSDに保存し、常に携帯し参照できるようにしている。データはもちろんPCにも保存してあり、アドエスをUSB経由でマスストレージクラスで接続するか、あるいはカードを取り出してUSBリーダーでマウントすることで、相互に同期することができる。

 一方nexus7の場合は、microSDなどの外部ストレージのスロットはなく、基本的にデータは本体内のRAMに保存しておくことになる。nexus7とPCの接続は、microUSB端子を経由して、USBケーブルで接続できるようになっている。

 ただしこの接続は、USBのマスストレージクラスではなく、MTP(Media Transfer Protocol)による接続になってしまうようである。両者の違いは、マスストレージクラスの場合、PCにマウントすることで、ファイル構造もPC側から参照できるようになり、ファイルの操作もPC側から行うことになる。このため、接続すると端末側のストレージはPCのドライブの一つとして認識されるようになり、接続中は排他処理のために、端末側での操作ができないようになる。一方MTP接続の場合は、PC側からはファイルやフォルダが見えるだけで、ファイルの操作は端末側の方で処理されるようになるため、接続中も端末側でのファイルの操作が可能になる。

 一見するとMTPの方が優れているようにも見えるが、MTP接続の場合は、PC側でドライブとして認識されないので、PC用のファイルの同期ソフトが使えないし、ファイルを一つ一つ扱うので、細かいファイルの転送に非常に時間がかかるようである。私のように、写真ファイルを何万枚も転送しようとすると、一晩中かかっても終わらない。

 しかもそうやって時間をかけてコピーしようとしても、途中で接続が切れたりして転送に失敗したりという具合で、なかなかうまくいかない。大量のファイルの転送に途中で失敗すると、どこまで成功したのかが容易にはわからず、また取りこぼしも発生する。

 大量のファイルを短時間で転送する方法として結局私が編み出したのは、まず送ろうとするファイルをまとめてPCの方でzipファイルにアーカイブし、このzipファイルを端末に転送したあと、端末側で展開するという方法である。この方法だと、ファイルの数としては少なくなるので転送時間が大幅に短縮できるうえに、PC側での圧縮、端末への転送、端末側での展開を独立して行えるので、ある程度小分けにすれば流れ作業でファイルの転送ができる。

 ファイルの転送については、その後、USBケーブルを接続しなくても、同じ無線LANに接続している環境であれば、AirDroidというサービスが便利に使えることがわかった。Android端末側にアプリを入れて、起動したときに発行されるパスワードをPC側のブラウザのページに入力することで、端末内のファイルやフォルダをブラウザ上で参照できる。対象となるフォルダを選び、ダイアログからファイルやフォルダを指定すれば、ファイルのアップロードやダウンロードができる。ただし、差分だけを自動的に選別してバックアップする機能はないようである。

 こうしてどうにかこうにか、10万枚以上ある写真データ等をnexus7に移動させることができた。しかしこれらのデータは今後も増えたり更新されたりするものであるため、上記のような方法では次第に同期が取れなくなってくる恐れがある。何らかのもっと便利な方法でファイルの同期処理や管理ができないものかと思い、有効な方法を模索し始めるのであるが、それはまた次回に。


<前目次次>