2016年10月11日火曜日

[Glaeja Ext.] Lotr



 『Lotr』は、GPSから取得した端末の位置情報を『Glaeja』に伝えて、天気情報の地点設定を自動的に追跡させるエクステンションです。

 ちなみに、『Location tracker』の略で『Lotr』です。

 インストールと使い方の説明は以下から。


インストール


 『Lotr』の最新版は「ver. 1.0.0」です。下のアイコンをクリックするとPlayストアにジャンプしますので、そこからインストールしてください。


 インストールする端末がOSバージョン6.0より前のものだった場合、インストール時にアクセス許可を求める画面が出ます。OSバージョン6.0以降では、アクセス許可は『Lotr』起動後の設定画面で出ます。

OSバージョン5.1でのパーミッション許可画面

LOTRの動作条件


 『Lotr』は、『Glaeja』ver. 4.7.0以上がインストールされている端末でしか動作しません


使用前の準備


 『Lotr』を使用して天気情報地点設定の自動追跡をおこなうには、OSや『Glaeja』側で設定しなければならないことがあります。

OSの設定


 『Lotr』をインストールした後(できれば初めて起動する前に)、OSの設定で「位置情報」をオンに、モードを[高精度]か[端末のみ](要するに、位置情報の取得にGPSを用いるもの)に設定してください。

OSバージョン4.4での位置情報とモード画面


OSバージョン6.0での位置情報とモード画面

 これらの画面はOSバージョンや機種によって異なりますのでご注意ください。

『Glaeja』の設定


 『Glaeja』の[環境設定]→[天気情報取得の設定...]で[位置指定の方法]を[緯度と経度]にしてください。

「ひとくち予報 in Feed」の[緯度と経度]

「OpenWeatherMap」の[緯度と経度]

 [位置指定の方法]が[緯度と経度]になっていないと、『Lotr』から位置情報が伝達されません。

『Glaeja』エクステンションの登録


 『Glaeja』の[データ管理]→[エクステンションの管理]に進み、[新規登録]ボタンをクリックして『Lotr』を登録してください。

エクステンション登録ダイアログ

エクステンションの管理画面

 「GEXコード」の初期値は“GEX_LOTR”ですが、お好みで変更しても構いません。

 アイテム欄右端の設定アイコンをクリックすると、『Lotr』の設定画面を開くことができます。

 『Lotr』をバージョンアップや再インストールした場合には、一度ドロワーから『Glaeja』を起動して[データ管理]→[エクステンションの管理]を開いてください。この画面を開いたタイミングで、『Lotr』の初期化がおこなわれるためです。

 ※ 実を言うと、『Lotr』は独立したアプリとして機能するため、エクステンションとして登録しなくてもGPSによる端末位置情報の取得と伝達、および『Glaeja』での天気情報地点設定の追跡はおこなわれます。ただし、登録しなかった場合には「A:GEX_LOTR@Z@」等による「端末位置の文字列展開」はおこなわれなくなります。


『LOTR』設定画面


 ドロワーもしくはエクステンション管理画面から『Lotr』を起動すると、以下の設定画面が表示されます。

『LOTR』設定画面

 このとき、端末に『Glaeja』がインストールされてない、または『Glaeja』がver.4.7.0より前のものだった場合には以下のようなポップアップが表示され、『Lotr』が設定できません。

『Glaeja』がインストールされていない場合

『Glaeja』のバージョンが古い場合

GPS


 [GPSによるトラッキングをおこなう]をオンにすると、GPSへアクセスして端末の現在位置を取得し、それを『Glaeja』へ伝達する、という処理がおこなわれるようになります。

 端末のOSバージョンが6.0以上の場合、これをオンにしたタイミングで、アクセス許可を求めるダイアログが表示されます。

OSバージョン6.0以上でのパーミッション許可ダイアログ

位置情報の取得タイミング


 [位置情報の取得タイミング]を、以下の2つから選ぶことができます。

位置情報の取得タイミング

 [画面オン時に一度だけ取得する]は、画面オフの状態からオンになったタイミングでGPSにアクセスして位置情報を取得します。この後は画面オン中は一度も位置情報を取得しません(下図参照)。

[画面オン時に一度だけ取得する]動作ロジック

 上図での「(最大15秒間)」は、GPSが測位できない場合や、前回測位した位置から動いていない場合などでは、最大で15秒間GPSがオンにされ、前回測位した位置を『Glaeja』へ伝達します。

 「画面がオンで『Glaeja』ウィジェットが設置されているホーム画面を表示したまま、天気情報地点が変わるほど長距離を移動する」という使用状況はそうそうありえませんので、この[画面オン時に一度だけ取得する]が電池消費量からも実用的だと思われます。

 [5分ごとに位置情報を取得する]は、画面オフの状態からオンになったタイミングに加えて、画面オンの間は常に5分ごとにGPSにアクセスして位置情報を取得します(画面オフの間はGPSにアクセスしません)(下図参照)。

[5分ごとに位置情報を取得する]動作ロジック

 「画面オンでホーム画面を表示したまま長距離を移動して『あ、いま地点が変わった!』と確認したい」場合にお使いください。

緯度と経度


 [緯度と経度]は設定項目ではなく、単に『Lotr』が認識している現在の位置情報を表示しているものです。


『Glaeja』上での使い方

天気情報取得地点の自動追跡


 [天気情報の取得先]が「ひとくち予報 in Feed」でも「OpenWeatherMap」でも、その[位置指定の方法]が[緯度と経度]になっていれば、自動的に地点の緯度・経度が『Lotr』から伝達されたものに設定され、その地点の天気情報を各々のサーバから取得します。

 位置がちょっと変わっただけで、いちいちサーバにアクセスして天気データをダウンロードしていたのでは、無駄に電池が消費されまてしまいます。そこで、『Lotr』から伝達された位置が「最後に天気データをダウンロードしたときの位置」から2km以上離れていた場合にのみサーバから天気データをダウンロードする、という処理を『Glaeja』側でおこなっています(下図参照)。

距離によるダウンロード制御

『Glaeja』からの呼び出し


 『Lotr』をエクステンションとして登録しておくと、『Glaeja』から「該当部分文字列:GEX_LOTR@.../.../\Z@」のようなエスケープキャラクタ・シーケンスで呼び出すことができます。

 該当部分文字列には、
  • A : 『Lotr』が取得した緯度
  • O : 『Lotr』が取得した経度
の2つを使用することができます。

 [天気情報の取得先]に「OpenWeatherMap」を使用した際の天気情報エスケープキャラクタ展開文字「%A%」「%O%」も緯度と経度に展開されますが、これらは「天気データを取得している地点の緯度・経度」であり、『Lotr』の「A:GEX_LOTR@Z@」「O:GEX_LOTR@Z@」は「端末がいる現在地の緯度・経度」であることに注意してください。


その他

OSSライセンス


 『Lotr』は以下のオープンソース・ソフトウェアを利用しています。
Copyright (c) 2014 kanitawa

 ライブラリJar“GlaejaExtension_v100.jar”は、MITライセンスのもと公開されています。

http://opensource.org/licenses/mit-license.php

既知の不具合


  • ver. 1.0.0 では特に不具合は報告されていません。

更新履歴


  • Lotr
    • 2016-10-11:ver.1.0.0 公開



以上

0 件のコメント:

コメントを投稿