タイトルが長くなってしまったけど、今回やりたいことは
古いAndroid端末(4.x)で、
通信を一切未使用で、
予め保存しておいた
特定のwebページを表示したい!!
単なる情報表示のようなページならスクリーンショットを撮っておいて画像として表示すればいいだけ。
だけどJaavaScriptを使った、人の操作が反映される物だとページ自体のデータを保存しておかないと意味がない。
今回、webページを保存するアプリもいくつか試したけど、古い端末だと非対応のものも多いし、インストール出来ても実際使うとエラーになるのもザラ。
また、古いAndroidだとChomeも古いの1しか使えない。
(Google PlayストアからDLしても対応したVerが自動的にインストールされてしまい、最新版は入れられない)2。
そのため、一部挙動が違ったりして厄介。
当然、最近のChomeに付いている「後で読む」機能も非対応。
そんなわけで、急遽目的を達成するために試行錯誤。
通信を使って良ければ、素直に手持ちのスマートフォンとテザリングしてブラウザで目的のページを開けば良い話では有るのだけど、通信OFFに電池持ち的な意味では劣る。
最初に読み込みだけネットに繋いで接続を切る方法だと、うっかりリロードすると再度ネットに繋がないといけないし面倒。
何より、趣味として通信無しを目指したかったので、無理やり実現してみました。
※注意
今回の方法を試す場合、自己責任でお願いします。
また、今回はうまく動いたけれど、
Prossesing 3.x系のP5モードで作ったjavaScriptでも試してみたら、同様の方法だけでは動かせず…
(9.x系+最新版Chome環境(Ver79….)では動いた。)
なので、必ずしも使えるわけではないことをご了承ください。
あくまでもヒント程度に。
正直、新しい端末3を使ったほうが間違いなく楽。
やった理由&使用機器
かつてフリックス・アレイ4をやっていて、『点数表示が有ったほうがやっぱり楽だし、傍から見てもわかりやすくなるよな・・・』と思い、こんなものを作った。

フリップカウンター!
ただ、作ったけど問題が。
スマホ/タブレットを試合中のフィールド近くに置いておくと、万が一の機体の激突や、人がうっかりぶつかた衝撃で落として壊れてしまったら、金銭的にも痛いし、データ復旧も面倒だし、空気的にも気まずい。
そもそもスマホの設定5を毎回変えるも面倒。
そんなわけで、あまり活用される機会は多くなかった。
とはいっても、試合中のうっかり防止や、ギャラリーへのアピール的にもHP表示用の何かは欲しい。
あれこれ考えていて、ようやく思いつい結論が、
中古品の格安タブレットを
カウンター表示専用に
使えばいい!!
そんな理由で、格安端末を求めて秋葉原。
条件は
・ブラウザさえ使えて簡単なJavaScriptが動けばOK
・安さを最優先
の2点。
おなじみShigezoneさんに良い機種が合ったので調達6。
今回購入した機種は「ADP-707」。
アンドロイドのバージョンは「4.2.2」7。
価格はまさかの1500円。8
下手に工作で得点板を作ったら1500円は超えるので、そういう意味も安上がり。
(電子工作の場合間違いなく1500円じゃ厳しい。プラ材工作でもクオリティにこだわったら高額になる。)
表示方法
前置きが長くなったけど、本題。
古いAndroid端末で電波OFF時に保存済みwebページを開く方法。
①jsを統合したhtmlファイルを用意
まずはPCを使って、実際に開く為の「.jsを組み込んだhtmlファイル」を作成する。
今回のカウンターはCoffeeScriptで作ったもの。
カウンター自体は予めコンパイル済みなのでアプリ本体のjsさえあればOK。
サーバーの同階層にあってそこから読み込む。
もう一つ、ページの表示にjQueryを使っているので、jQueryのjsファイルも必要。
これはweb経由で読み込む。
これら2つのjsファイルを、html中の読み込み指定部分を変更して、html中に直接JavaScriptを記載する方法に変える。
具体的には、「script」中の 「src=~」を消してブロック中にJavaScriptをベタ書き。
正直、時代を逆行している気がするけれど、ネットに公開するものではなく、私的に使うものなので、細かいことは気にしない。
完成したらhtmlファイルをブラウザで開いて動作確認。
htmlファイル自体は正常に動作することをハッキリさせておく。
②ファイルの転送
①で準備したhtmlファイルをAndroid端末に送る。
方法は何でも良いけれど、今回はメール添付で送った。(要gmailアプリ)
少し余談になるけれど、gmailアプリから添付のhtmlを読み込むと、Chomeが立ち上がり、正常にhtmlを読み込む。
この時使えるpassは一時的な物らしく、しばらくすると同じURLで開いても読み込めなくなる。当然お気にいりに入れても意味がない。
そのため、結局ネットに繋がないと開けないので、このままでは役に立たない。
なので、DLして保存したhtmlを直接開けるようにする必要あり。
③htmlファイルをChomeで開くようにする
②までは「電波が使えない環境で、事前保存したJavaScriptを使ったwebページを使いたい」という場合、今でも普通に使えるノウハウ9。
ここからが古いAndroid端末を使う上での、ある意味最大の難関。バッドノウハウ。
最近の端末だとファイラーでhtmlを開こうとすると、開くアプリとしてChomeも選べる10ので、苦もなくDLしたhtmlファイルをネット環境無しでも開くことが出来る。
ところが古いアンドロイドでは、ファイラー経由でhtmlファイルを開こうとすると、強制的に「HTMLビューア」が立ち上がってしまう11。
なので、何らかの方法でhtmlファイルをChomeに紐付ける必要がある。
解決方法は色々ありそうだけど、今回はファイラーアプリをつかって紐付ける方針を採用。その手順について。
「ファイルマネージャー+」をインストール
ADP-707に標準で付いていたファイラーではどうしようもなかったので、「ファイルマネージャー+」をインストール。
htmlファイルの場所に移動
ファイルマネージャー+を立ち上げて、該当のhtmlファイルの階層に移動。
※ファイルマネージャー+経由でも、この時点でhtmlを開いただけではHTMLビューアが立ち上がってしまう。
関連付け変更
するとアプリ選択できるのでChomeを選択
これでhtmlをChomeで開けるようになった。
モバイル通信もwifiも無いけどフリップカウンターのページが動いた!
一度上記設定をすれば「ファイルマネージャー+」を使う限り、htmlはChomeで開くようになるけれど、よく使うならばChome側でお気にいり登録しておくと楽。
ただし、「ホーム画面に追加」機能はNGだった。
追加されたショートカットアイコンを押しても「このアプリはインストールされていません。」と表示されてChomeが立ち上がらない。
さいごに
以上、古いAndroid端末で電波OFF時に保存済みwebページを開く方法の忘備録でした。
手段が目的化していた気もするけれど、やりたかった目的は無事達成できて満足。
ADP-707は流石に動作が重いので、今現役で使っている端末の忘れがちな有り難みを実感できるという意味では密かなメリット。
唯一の欠点は、この方法にたどり着くまで結構試行錯誤したので、ADP-707に対して愛着が湧いてしまい、万が一壊れたらなんやかんやで悲しくなること。
もっとも、『無駄に手間を掛けせやがって』という怒りの感情も有るのでイーブンかも・・・
最後になったけど改めて・・・
無理して使うよりも、
予算が許す限り、
素直に新しい端末を買ったほうが楽。
- アプリケーションバージョン:42.0あたり[↩]
- そのくせにChomeを使っているとアップデートのお知らせ通知は出てくる。[↩]
- 4.x系に比べれば5.x系でも遥かにマシ。[↩]
- ユージンさん提唱の自作競技玩具。フリックス・アレイについての詳細は公式を参照。[↩]
- スリープの無効化、個人情報に関わる表示を消すetc…[↩]
- 厳密には、予めネットで見つけてて、残ってたら良いな的なノリで訪問。[↩]
- 2012年頃。名機「Nexus 7」とかのあたり。[↩]
- 参考:タブレット購入日(2020/1/25)と同日に発売されたベイブレードの「ビッグバンジェネシス」の定価は1320円。180円しか変わらない。[↩]
- というよりも「基本技」といったほうが正しいかも。[↩]
- 何らかのhtmlを開くアプリを「デフォルトで開く」に登録している場合を除く。その場合設定からデフォルトで開く設定を解除する。[↩]
- 当時のHTMLビューアだとJavaScriptが動かない。[↩]
コメント