User:
Pass:
Keep:   
Xoops Cube Project
XOOPS Cube Project Site
Powered by Google


Powered by XOOPS Cube Legacy 2.1.8
PukiWikiMod 1.5.1
WordPress Module 0.6.0 Alpha

logo

WEBリンク集



  メイン  |  登録する  |  人気サイト (top10)  |  高評価サイト (top10)  |  おすすめサイト (2)  |  相互リンクサイト (0)  

  カテゴリ一覧  |  RSS/ATOM 対応サイト (4)  |  RSS/ATOM 記事 (413)  |  ランダムジャンプ  

メイン  arrow  01.XOOPS関連  arrow  9-その他

訪問   NobuNoblog 人気サイト    rss 最終更新日 2009-8-2 20:05
カテゴリ  01.XOOPS関連  arrow  9-その他
説明
こちらで、ブログを再開しようかと・・・
って続けられる自身は皆無ですけどね!

ヒット数: 122   評価: 0.00 (投票数 0 )
修正  |  リンク切れ報告  |  友達に紹介  |  コメント (0)  |  RSS

RSS feed   rss  最終更新日 2018-11-16 14:43

Android端末で PHS300の電波状態をnobunobuphs300stat2phs300stat0phs300stat1phs300stat3 (2009-10-26 22:00)

現在、私のHT-03AではDocomoの3G通信は使わず、PHS300というポータブルのWi-Fiルータ経由でイーモバイルに接続しています。

移動中は、PHS300はかばんに入れているので、イーモバイルの電波状態などがHT-03A上で見られると良いなと考えて、Andoroidアプリ開発に初挑戦してみました。

phs300stat2

で、できあがったのが、上図のように電波状態をウィジェットとして表示する、”PHS300 Status” アプリケーションです。

Android Marketにも登録してありますので、興味のある方はご活用ください。

Android Marketからインストールして、ホーム画面上のお好きな場所に”PHS-300 Status”ウィジェットを置くと、最初はPHS300に関する設定が何もされていないので、下図のように、”NO PHS300”と表示されてしまいます。

phs300stat0

初期設定をするには、このウィジェットをタッチして設定画面を呼び出してください。

PHS300の無線LANアクセス用SSID、PHS300のIPアドレス、管理ユーザのパスワードの設定が最低限必要となります。
オプションとして、ウィジェットがPHS300をチェックする時間間隔(デフォルトは10秒毎です)や、インターネット上でPINGにより疎通確認が可能なサーバを指定して、実際にインターネットに接続しているかの確認もできます。
但し、自分が管理しているサーバー以外への定期的なPINGチェックは避けた方が懸命だと考えますし、PHS300バッテリ節約のためにUSBモデムの接続をオンデマンド設定されている場合には、バッテリ消費を早める結果になりますのでご注意ください。

これらの設定が終われば、ホーム画面上のウィジェットに現在のPHS300の状態が一定時間間隔で反映されるはずです。

phs300stat1

但し、現在のところまだまだ動作が完璧とはいえません。

まず、このツールはPHS300の管理画面で出力しているxmlを解析して使用していますが、PHS300の管理画面のログイン手順というのが、かなりトリッキーな作りとなっているためログインに失敗してしまう場合があります。PHS300の管理画面ログインについては、zenuさんの、「[雑記]PHS-300を買ってみた」にかなり詳しい解析結果が載せられていますが、javascriptを使用して、PHS300が発行したトークンを元にしたリクエストが必要となっています。

この”PHS300 Status”ではこのPHS300のJavaScriptのロジックをJAVAに置き換えてリクエストを発行しているわけですが、複数の無線LANクライアントからの管理者画面アクセスに対応していないようで、起動実行タイミングによっては、本アプリから複数の要求が発行されたように取られるのか、いつまでたっても”LoginErr”の表示が消えないときがあります。

このような場合には、使用しているAndroid端末もしくは他の無線LANクライアントのブラウザからPHS300の管理画面にログインを一度してやると、本アプリからのログインがうまくいくようになることが多いです。(これも確実とはいえませんが・・・・・)

あと、私がまだAndroidのプログラミングに慣れていないこともあって、定期的なチェック処理がいつの間にか停止してしまう場合があります。

この現象については、現在はAndroidの画面がスタンバイから復帰した時点と、ウィジェットをタッチして詳細状況画面(現在のところは特別なに詳細情報はありませんが・・・下図参照)を呼び出したタイミングで定期チェック処理の再起動を行なうようにして、極力停止しないようにしてあります。(まだまだ改善の余地はあります)

おまけとして、「詳細状況画面」には、モデムの切断、接続用のボタンを用意していますので、必要に応じてご使用ください。

phs300stat3

私がブログに、”PHS300 Status”の紹介をするのをサボっているうちに、AndroidのカスタムROMの紹介やPHS300の外付けバッテリ情報などで私も参考にさせていただいている、「あけはら散歩」さんにて、一足早く、「Android 用 PHS300 Status Widget」という記事にてご紹介いただいております。(ありがとうございます)


Android端末で PHS300の電波状態をnobunobuphs300stat2phs300stat0phs300stat1phs300stat3 (2009-10-26 22:00)

現在、私のHT-03AではDocomoの3G通信は使わず、PHS300というポータブルのWi-Fiルータ経由でイーモバイルに接続しています。

移動中は、PHS300はかばんに入れているので、イーモバイルの電波状態などがHT-03A上で見られると良いなと考えて、Andoroidアプリ開発に初挑戦してみました。

phs300stat2

で、できあがったのが、上図のように電波状態をウィジェットとして表示する、”PHS300 Status” アプリケーションです。

Android Marketにも登録してありますので、興味のある方はご活用ください。

Android Marketからインストールして、ホーム画面上のお好きな場所に”PHS-300 Status”ウィジェットを置くと、最初はPHS300に関する設定が何もされていないので、下図のように、”NO PHS300”と表示されてしまいます。

phs300stat0

初期設定をするには、このウィジェットをタッチして設定画面を呼び出してください。

PHS300の無線LANアクセス用SSID、PHS300のIPアドレス、管理ユーザのパスワードの設定が最低限必要となります。
オプションとして、ウィジェットがPHS300をチェックする時間間隔(デフォルトは10秒毎です)や、インターネット上でPINGにより疎通確認が可能なサーバを指定して、実際にインターネットに接続しているかの確認もできます。
但し、自分が管理しているサーバー以外への定期的なPINGチェックは避けた方が懸命だと考えますし、PHS300バッテリ節約のためにUSBモデムの接続をオンデマンド設定されている場合には、バッテリ消費を早める結果になりますのでご注意ください。

これらの設定が終われば、ホーム画面上のウィジェットに現在のPHS300の状態が一定時間間隔で反映されるはずです。

phs300stat1

但し、現在のところまだまだ動作が完璧とはいえません。

まず、このツールはPHS300の管理画面で出力しているxmlを解析して使用していますが、PHS300の管理画面のログイン手順というのが、かなりトリッキーな作りとなっているためログインに失敗してしまう場合があります。PHS300の管理画面ログインについては、zenuさんの、「[雑記]PHS-300を買ってみた」にかなり詳しい解析結果が載せられていますが、javascriptを使用して、PHS300が発行したトークンを元にしたリクエストが必要となっています。

この”PHS300 Status”ではこのPHS300のJavaScriptのロジックをJAVAに置き換えてリクエストを発行しているわけですが、複数の無線LANクライアントからの管理者画面アクセスに対応していないようで、起動実行タイミングによっては、本アプリから複数の要求が発行されたように取られるのか、いつまでたっても”LoginErr”の表示が消えないときがあります。

このような場合には、使用しているAndroid端末もしくは他の無線LANクライアントのブラウザからPHS300の管理画面にログインを一度してやると、本アプリからのログインがうまくいくようになることが多いです。(これも確実とはいえませんが・・・・・)

あと、私がまだAndroidのプログラミングに慣れていないこともあって、定期的なチェック処理がいつの間にか停止してしまう場合があります。

この現象については、現在はAndroidの画面がスタンバイから復帰した時点と、ウィジェットをタッチして詳細状況画面(現在のところは特別なに詳細情報はありませんが・・・下図参照)を呼び出したタイミングで定期チェック処理の再起動を行なうようにして、極力停止しないようにしてあります。(まだまだ改善の余地はあります)

おまけとして、「詳細状況画面」には、モデムの切断、接続用のボタンを用意していますので、必要に応じてご使用ください。

phs300stat3

私がブログに、”PHS300 Status”の紹介をするのをサボっているうちに、AndroidのカスタムROMの紹介やPHS300の外付けバッテリ情報などで私も参考にさせていただいている、「あけはら散歩」さんにて、一足早く、「Android 用 PHS300 Status Widget」という記事にてご紹介いただいております。(ありがとうございます)


Androidの開発言語simpleを試すnobunobuHelloWorldHelloNobuNobu (2009-8-13 18:15)

Android用のVisualBasicともいうべきsimpleというアプリケーション開発環境が公開されていることを知ったので、少しだけテストしてみました。

インストールや設定・コンパイル・HT-03Aへの移送方法については、

Androidアプリケーション用開発&実行環境 simpleを使ってみる

に書かれているのを参考にし、
言語の仕様については、simpleプロジェクトが提供しているサンプルプログラムのTetrisのソースや、開発プロジェクトのWikiを参考にしながら、お決まりのHelloWorldに少しだけ毛の生えたようなプログラムを作ってみました。

基本的には、開発用のプロジェクト用に、HelloWorldというディレクトリを作成後、その中に以下の2つのファイルをそれぞれの場所に作成して、

  1. HelloWorldフォルダーの一つ上のディレクトリをカレントディレクトリとして、
    simplec HelloWorld\simpleproject\project.properties
    というコマンドでコンパイル
  2. HT-03A実機をUSB接続後に
    adb install -r “HelloWorld\build\deploy\HelloWorld.apk”
    でインストール

という手順で、HT-03A上での稼動が確認できました。

HelloWorldHelloNobuNobu

ソースにもあるように、基本的には各イベントハンドラーや関数定義などをBasicもどきの言語にて記述するロジック部分と、$Properties以降で定義する実際のフォーム(画面)定義部分から、一つのファイルが構成されています。フォームのレイアウト定義は、今回のように$Propeties内に静的に定義する以外に、Initialize()メソッド内で動的にそれぞれの画面コンポーネントクラスを生成する方法もあるようです。

また、インストール手順で判るように、simplecコマンドによるコンパイル時に、simpleで書かれたクラスファイルがJAVAのクラスファイルに変換されて、AndroidのSDKによってAndroid標準のインストールパッケージが生成されるようになっています。

simpleプロジェクトサイトのWikiのリファレンスを見たところでは、まだまだ開発途上でファイルI/O・センサー入力などのクラスやライブラリは存在していますが、ネットワークアクセス用のライブラリはまだ用意されていないようですので、現在のAndroidアプリで一般的なインターネットとのコラボレーションの実現するには、もう少し待たなくてはいけないようです。
(ドキュメントの全部を読みつくしたわけでは無いので、自信はありませんが・・・)

画面定義もVBライクに出来る様な統合環境が出来れば、かなり便利になると思いますが、今のところはJAVAが得意な人は、Eclipse上での標準的な開発を行った方が、 早いかもしれません。 これからに期待っていうところでしょうかね。

・HelloWorld\simpleproject\project.properties

main=com.nobunobu.simple.helloworld.HelloWorld
name=HelloWorld
assets=../assets
source=../src
build=../build

・HelloWorld\src\com\nobunobu\simple\helloworld\HelloWorld.simple

' -----------------------------------------------------------------------------
' Initialization event used to dynamically construct the Application
' -----------------------------------------------------------------------------
Event HelloWorld.Initialize()
  AddMenuItem("Quit")
End Event

' -----------------------------------------------------------------------------
' Analyze keyboard input
' -----------------------------------------------------------------------------
Event HelloWorld.Keyboard(keycode As Integer)
  Select keycode
    Case Component.KEYCODE_BACK
      Finish()
  End Select
End Event

' -----------------------------------------------------------------------------
' Analyze touch input
' -----------------------------------------------------------------------------
Event HelloWorld.TouchGesture(direction As Integer)
End Event

' -----------------------------------------------------------------------------
' Handle menu events
' -----------------------------------------------------------------------------
Event HelloWorld.MenuSelected(caption As String)
  Select caption
    Case "Quit"
      Finish()
  End Select
End Event

' -----------------------------------------------------------------------------
' Handle Form Button Click event
' -----------------------------------------------------------------------------
Event GoButton.Click()
  If InputText.Text = "" Then
      MessageLabel.Text = "Hello World!!"
  Else
      MessageLabel.Text = "Hello "& InputText.Text & "!!"
  End If
End Event

$Properties
  $Source $Form

  $Define HelloWorld $As Form
    Layout = Component.LAYOUT_LINEAR
    Layout.Orientation = 1
    BackgroundColor = &HFF444444
    Title = "Hello World"

    $Define Panel1 $As Panel
      Layout = Component.LAYOUT_TABLE
      Layout.Columns = 2
      Layout.Rows = 1
      Width=Component.LENGTH_FILL_PARENT
      BackgroundColor = &HFF444444

      $Define InputText $As TextBox
        Column = 0
        Row =0
        Width=180
      $End $Define

      $Define GoButton $As Button
        Column = 1
        Row =0
        Width=60
        Text="Your Name?"
      $End $Define
    $End $Define

    $Define MessageLabel $As Label
      Width=Component.LENGTH_FILL_PARENT
      Justification = Component.JUSTIFY_CENTER
      Text = "Hello World!!"
      FontSize = 30
      TextColor = &HFFFFFFFF
    $End $Define

  $End $Define
$End $Properties

Androidの開発言語simpleを試すnobunobuHelloWorldHelloNobuNobu (2009-8-13 18:15)

Android用のVisualBasicともいうべきsimpleというアプリケーション開発環境が公開されていることを知ったので、少しだけテストしてみました。

インストールや設定・コンパイル・HT-03Aへの移送方法については、

Androidアプリケーション用開発&実行環境 simpleを使ってみる

に書かれているのを参考にし、
言語の仕様については、simpleプロジェクトが提供しているサンプルプログラムのTetrisのソースや、開発プロジェクトのWikiを参考にしながら、お決まりのHelloWorldに少しだけ毛の生えたようなプログラムを作ってみました。

基本的には、開発用のプロジェクト用に、HelloWorldというディレクトリを作成後、その中に以下の2つのファイルをそれぞれの場所に作成して、

  1. HelloWorldフォルダーの一つ上のディレクトリをカレントディレクトリとして、
    simplec HelloWorld\simpleproject\project.properties
    というコマンドでコンパイル
  2. HT-03A実機をUSB接続後に
    adb install -r “HelloWorld\build\deploy\HelloWorld.apk”
    でインストール

という手順で、HT-03A上での稼動が確認できました。

HelloWorldHelloNobuNobu

ソースにもあるように、基本的には各イベントハンドラーや関数定義などをBasicもどきの言語にて記述するロジック部分と、$Properties以降で定義する実際のフォーム(画面)定義部分から、一つのファイルが構成されています。フォームのレイアウト定義は、今回のように$Propeties内に静的に定義する以外に、Initialize()メソッド内で動的にそれぞれの画面コンポーネントクラスを生成する方法もあるようです。

また、インストール手順で判るように、simplecコマンドによるコンパイル時に、simpleで書かれたクラスファイルがJAVAのクラスファイルに変換されて、AndroidのSDKによってAndroid標準のインストールパッケージが生成されるようになっています。

simpleプロジェクトサイトのWikiのリファレンスを見たところでは、まだまだ開発途上でファイルI/O・センサー入力などのクラスやライブラリは存在していますが、ネットワークアクセス用のライブラリはまだ用意されていないようですので、現在のAndroidアプリで一般的なインターネットとのコラボレーションの実現するには、もう少し待たなくてはいけないようです。
(ドキュメントの全部を読みつくしたわけでは無いので、自信はありませんが・・・)

画面定義もVBライクに出来る様な統合環境が出来れば、かなり便利になると思いますが、今のところはJAVAが得意な人は、Eclipse上での標準的な開発を行った方が、 早いかもしれません。 これからに期待っていうところでしょうかね。

・HelloWorld\simpleproject\project.properties

main=com.nobunobu.simple.helloworld.HelloWorld
name=HelloWorld
assets=../assets
source=../src
build=../build

・HelloWorld\src\com\nobunobu\simple\helloworld\HelloWorld.simple

' -----------------------------------------------------------------------------
' Initialization event used to dynamically construct the Application
' -----------------------------------------------------------------------------
Event HelloWorld.Initialize()
  AddMenuItem("Quit")
End Event

' -----------------------------------------------------------------------------
' Analyze keyboard input
' -----------------------------------------------------------------------------
Event HelloWorld.Keyboard(keycode As Integer)
  Select keycode
    Case Component.KEYCODE_BACK
      Finish()
  End Select
End Event

' -----------------------------------------------------------------------------
' Analyze touch input
' -----------------------------------------------------------------------------
Event HelloWorld.TouchGesture(direction As Integer)
End Event

' -----------------------------------------------------------------------------
' Handle menu events
' -----------------------------------------------------------------------------
Event HelloWorld.MenuSelected(caption As String)
  Select caption
    Case "Quit"
      Finish()
  End Select
End Event

' -----------------------------------------------------------------------------
' Handle Form Button Click event
' -----------------------------------------------------------------------------
Event GoButton.Click()
  If InputText.Text = "" Then
      MessageLabel.Text = "Hello World!!"
  Else
      MessageLabel.Text = "Hello "& InputText.Text & "!!"
  End If
End Event

$Properties
  $Source $Form

  $Define HelloWorld $As Form
    Layout = Component.LAYOUT_LINEAR
    Layout.Orientation = 1
    BackgroundColor = &HFF444444
    Title = "Hello World"

    $Define Panel1 $As Panel
      Layout = Component.LAYOUT_TABLE
      Layout.Columns = 2
      Layout.Rows = 1
      Width=Component.LENGTH_FILL_PARENT
      BackgroundColor = &HFF444444

      $Define InputText $As TextBox
        Column = 0
        Row =0
        Width=180
      $End $Define

      $Define GoButton $As Button
        Column = 1
        Row =0
        Width=60
        Text="Your Name?"
      $End $Define
    $End $Define

    $Define MessageLabel $As Label
      Width=Component.LENGTH_FILL_PARENT
      Justification = Component.JUSTIFY_CENTER
      Text = "Hello World!!"
      FontSize = 30
      TextColor = &HFFFFFFFF
    $End $Define

  $End $Define
$End $Properties

HT-03A Androidの修復nobunobu (2009-8-11 13:04)

アンドロイド携帯 HT-03A、かなり気に入ってはいるものの、まだまだ不安定な箇所もあるようで、今までにその修復の目的でに2度「データの初期化」を実行しています。

メール・カレンダー・アドレス帳はGoogleサービスとのデータ連携なので、初期化してしまっても、アカウント情報を入れなおせばすぐに復旧するし、アプリケーションに関しても、AppManagerというソフトを入れればSDカードにバックアップが可能、(設定の保存は出来ないけど)、音楽・画像データはSDカード上なので初期化の影響を受けないので、実害はあまりないですが、不具合の度に初期化実行は、それでも少々めんどくさいです。

今朝、またもや「データの初期化」を必要としそうな不具合発生。
症状は、

  • ホームボタンが動作しない
  • 電話発信ボタンが動作しない
  • 終話ボタンを押すとスリープモードにはなるが、スリープ解除時にロックスクリーンの表示がされない。
  • 終和ボタンの長押しで、「電源を切る」以外の選択オプション(「機内モード」など)が表示されない

という複合的な不具合で、おそらくシステム設定領域がおかしくなっているか、サービスの一つがうまく動かなくなっていたのだと思います。

この不具合は、以前に発生したときは「データの初期化」で回復可能であることは確認できているので、何か別の代替手段が無いか調べてみると、

Dial and Home buttons stopped working

というアンドロイドコミュニティ掲示板でのスレッドを発見し、この中に

「データ初期化」を必要としない解決策

を見つけました。

手順としては、

  • Android Market から AnyCutというツールを入手してインストール
  • ホーム画面の壁紙部分を長押し。
  • ポップアップメニューから「ショートカット」-「Any Cut」という順番に選択する
  • Any Cut の画面上で「Activity」−「セットアップウィザード」の順に選択する
  • ポップアップでOKを押す
  • ホーム画面に作成された「セットアップウィザード」アイコンを選択すると
    データ初期化時と同様にGoogleアカウントなどの設定画面が表示されるので、これらを設定しなおす。

ということだそうです。

実際に、HT-03Aで上記手順を実行したところ、「Any Cut」上のActivity選択時に「セットアップウィザード」が2つ並んで表示され、このうちの2番目を選択しないと実際の「セットアップウィザード」は起動しなかったり、Googleのアカウントを入力してログイン確認した時点で「セットアップウィザード」が異常終了して、きちんと再設定されませんでした。

掲示板の方にも、うまくいった人もいれば、上記と同様に異常終了の人もいるので、別途の環境に依存しているかもしれないと考えました。
私のHT-03Aでは独自ドメインをGoogle Apps利用しており、別途の情報でAndroidではGoogle Apps用に別途のデータストアを持っているような事を見た覚えがあったので、「設定」-「アプリケーション」-「アプリケーションの管理」を開いて、「Gmail」「Gmailストレージ」「Google Apps」を選択してそれぞれの画面内の「データを消去」を選択後に、セットアップウィザードを再実行してみるとなんとかうまくいきました。

但し、『終和ボタンの長押しで、「電源を切る」以外の選択オプション(「機内モード」など)が表示されない』件だけは元に戻っていないようですが・・・この部分はほとんど使っていないのでとりあえずこのままで使うこととします。


HT-03A Androidの修復nobunobu (2009-8-11 13:04)

アンドロイド携帯 HT-03A、かなり気に入ってはいるものの、まだまだ不安定な箇所もあるようで、今までにその修復の目的でに2度「データの初期化」を実行しています。

メール・カレンダー・アドレス帳はGoogleサービスとのデータ連携なので、初期化してしまっても、アカウント情報を入れなおせばすぐに復旧するし、アプリケーションに関しても、AppManagerというソフトを入れればSDカードにバックアップが可能、(設定の保存は出来ないけど)、音楽・画像データはSDカード上なので初期化の影響を受けないので、実害はあまりないですが、不具合の度に初期化実行は、それでも少々めんどくさいです。

今朝、またもや「データの初期化」を必要としそうな不具合発生。
症状は、

  • ホームボタンが動作しない
  • 電話発信ボタンが動作しない
  • 終話ボタンを押すとスリープモードにはなるが、スリープ解除時にロックスクリーンの表示がされない。
  • 終和ボタンの長押しで、「電源を切る」以外の選択オプション(「機内モード」など)が表示されない

という複合的な不具合で、おそらくシステム設定領域がおかしくなっているか、サービスの一つがうまく動かなくなっていたのだと思います。

この不具合は、以前に発生したときは「データの初期化」で回復可能であることは確認できているので、何か別の代替手段が無いか調べてみると、

Dial and Home buttons stopped working

というアンドロイドコミュニティ掲示板でのスレッドを発見し、この中に

「データ初期化」を必要としない解決策

を見つけました。

手順としては、

  • Android Market から AnyCutというツールを入手してインストール
  • ホーム画面の壁紙部分を長押し。
  • ポップアップメニューから「ショートカット」-「Any Cut」という順番に選択する
  • Any Cut の画面上で「Activity」−「セットアップウィザード」の順に選択する
  • ポップアップでOKを押す
  • ホーム画面に作成された「セットアップウィザード」アイコンを選択すると
    データ初期化時と同様にGoogleアカウントなどの設定画面が表示されるので、これらを設定しなおす。

ということだそうです。

実際に、HT-03Aで上記手順を実行したところ、「Any Cut」上のActivity選択時に「セットアップウィザード」が2つ並んで表示され、このうちの2番目を選択しないと実際の「セットアップウィザード」は起動しなかったり、Googleのアカウントを入力してログイン確認した時点で「セットアップウィザード」が異常終了して、きちんと再設定されませんでした。

掲示板の方にも、うまくいった人もいれば、上記と同様に異常終了の人もいるので、別途の環境に依存しているかもしれないと考えました。
私のHT-03Aでは独自ドメインをGoogle Apps利用しており、別途の情報でAndroidではGoogle Apps用に別途のデータストアを持っているような事を見た覚えがあったので、「設定」-「アプリケーション」-「アプリケーションの管理」を開いて、「Gmail」「Gmailストレージ」「Google Apps」を選択してそれぞれの画面内の「データを消去」を選択後に、セットアップウィザードを再実行してみるとなんとかうまくいきました。

但し、『終和ボタンの長押しで、「電源を切る」以外の選択オプション(「機内モード」など)が表示されない』件だけは元に戻っていないようですが・・・この部分はほとんど使っていないのでとりあえずこのままで使うこととします。


XOOPSCubeのWizMobileでGoogle Analyticsnobunobu (2009-8-6 16:15)

私が作成してるほとんどのサイトのアクセス解析には、Google Analyticsを使用していますが、今年になって携帯対応サイトをGusagiさんのWizMobileを使って作ったはいいものの、携帯サイトではGoogle Analyticsをそのままでは使えない、なんて事に気がつきました^^;

携帯対応めざして Google Analyticsを解析をされた先人たちがおられて、
[PakuReserve R&D Laboratory –Google Analytics を携帯から使う]
とかを参考にさせてもらいました。
Google Analyticsは通常はJava Script経由だけど実際にはそのスクリプト内で画像を生成してそのパラメータでアクセス情報を Googleに伝達しているらしいです。

確かにこの方法でアクセスの履歴はGoogle Analyticsに記録はされたのですが、そのままのコードでは、セッション単位がページアクセス単位となってしまい、携帯のアクセスによってセッション数が跳ね上がってしまう結果となりました。

Docomo携帯等はRefererを出力しないので、このあたりが原因かと思いサイト内だけで有効な擬似的なRefererをURLパラメータで渡すなどの対策を行ないました、それだけではうまくいきませんでした。

このあたりについて、Google Analyticsをさらに解析された、
[Archiva – 携帯版Google Analyticsで滞在時間とか検索ワードとか]
を見つけて、Perlでのサンプルを参考に、PHPに書き直したら、なんとかセッション数のカウントがそれらしくなったように思われます。但し携帯でのクッキー保存は通常できないため、訪問回数とかの解析はこれでも無理なようです。

XOOPSCubeでは、とりあえずURLに擬似Refererを追加するPreloadと、携帯用テーマにAnlytics用GIFを埋め込むPHPソースとテーマテンプレートの修正で携帯からのアクセス解析も何とかなりそうです。

もう少し、解析結果をみて、ソースも汎用化してから公開したいと考えています。


XOOPSCubeのWizMobileでGoogle Analyticsnobunobu (2009-8-6 16:15)

私が作成してるほとんどのサイトのアクセス解析には、Google Analyticsを使用していますが、今年になって携帯対応サイトをGusagiさんのWizMobileを使って作ったはいいものの、携帯サイトではGoogle Analyticsをそのままでは使えない、なんて事に気がつきました^^;

携帯対応めざして Google Analyticsを解析をされた先人たちがおられて、
[PakuReserve R&D Laboratory -Google Analytics を携帯から使う]
とかを参考にさせてもらいました。
Google Analyticsは通常はJava Script経由だけど実際にはそのスクリプト内で画像を生成してそのパラメータでアクセス情報を Googleに伝達しているらしいです。

確かにこの方法でアクセスの履歴はGoogle Analyticsに記録はされたのですが、そのままのコードでは、セッション単位がページアクセス単位となってしまい、携帯のアクセスによってセッション数が跳ね上がってしまう結果となりました。

Docomo携帯等はRefererを出力しないので、このあたりが原因かと思いサイト内だけで有効な擬似的なRefererをURLパラメータで渡すなどの対策を行ないました、それだけではうまくいきませんでした。

このあたりについて、Google Analyticsをさらに解析された、
[Archiva - 携帯版Google Analyticsで滞在時間とか検索ワードとか]
を見つけて、Perlでのサンプルを参考に、PHPに書き直したら、なんとかセッション数のカウントがそれらしくなったように思われます。但し携帯でのクッキー保存は通常できないため、訪問回数とかの解析はこれでも無理なようです。

XOOPSCubeでは、とりあえずURLに擬似Refererを追加するPreloadと、携帯用テーマにAnlytics用GIFを埋め込むPHPソースとテーマテンプレートの修正で携帯からのアクセス解析も何とかなりそうです。

もう少し、解析結果をみて、ソースも汎用化してから公開したいと考えています。


人間ドックnobunobu (2009-8-3 18:58)

今日は年に一度の人間ドックの日。三〇歳以上が対象の生活習慣病健診に、四〇歳以上は一万円追加で検査項目が増えて人間ドックとなり、さらに今回は内臓脂肪測定と動脈硬化度測定の検査オプションを追加。
メタボ判定の基本となるウェスト測定もとりあえず3.5cmの余裕を残してクリアし、即日で結果の出た血液検査や胸部X線も問題なし。
最終結果は10日後ぐらいに自宅に送ってくるが、いつも結果を見るまではかなりドキドキ するもんです。

一万円追加の人間ドック受診者は、特典?として周辺の飲食店で使える千円分の飲食券がもらえるのだけど、オプション検査を申し込んだこともあって検査が終わったのが丁度12時前だったこともあって、久しぶりにこれを使って昼食をとることにしました。蕎麦屋で900円の定食を頼んでこの飲食券を使ったら、お釣りが現金で帰ってきました。

お釣り貰えるなんて知っていれば、もっと安いものを頼むのだったなぁ(笑)


人間ドックnobunobu (2009-8-3 18:58)

今日は年に一度の人間ドックの日。三〇歳以上が対象の生活習慣病健診に、四〇歳以上は一万円追加で検査項目が増えて人間ドックとなり、さらに今回は内臓脂肪測定と動脈硬化度測定の検査オプションを追加。
メタボ判定の基本となるウェスト測定もとりあえず3.5cmの余裕を残してクリアし、即日で結果の出た血液検査や胸部X線も問題なし。
最終結果は10日後ぐらいに自宅に送ってくるが、いつも結果を見るまではかなりドキドキ するもんです。

一万円追加の人間ドック受診者は、特典?として周辺の飲食店で使える千円分の飲食券がもらえるのだけど、オプション検査を申し込んだこともあって検査が終わったのが丁度12時前だったこともあって、久しぶりにこれを使って昼食をとることにしました。蕎麦屋で900円の定食を頼んでこの飲食券を使ったら、お釣りが現金で帰ってきました。

お釣り貰えるなんて知っていれば、もっと安いものを頼むのだったなぁ(笑)


SourceForge.netのWikiSpaceが・・・nobunobu (2009-8-2 1:09)

30日の木曜の朝一番のメールチェックで、
”Wikispaces being removed from SourceForge.net 2009-07-30”
という件名のメールを発見。発信人はもちろん”SourceForge.net Team”って事で、SourceForge.netの管理チームからのAlertメールに間違いがないのだが、
「2009-07-30って今日じゃぁないですかぁ・・・」と唖然・呆然・驚愕・愕然・・・・

On Thursday July 30, 2009 at 8:00 AM Pacific Time, the SourceForge.net
staff will be removing the Wikispaces facility that has been available to
project teams since 2007.

とあるので、日本時間ではおそらく31日午前0時で削除って事なのでその時点での猶予は約16時間ということになるわけで・・・まぁギリギリのタイミングで気がついいたわけです。

メールのその後に続く文章には、SF.net内のHosted AppであるMediaWikiかTracへの移行のリクエストが可能であるというので、とりあえずWiki機能だけの移行が必要なのでMediaWikiへの移行申請をすることに。

PJメンバーとのやりとりやら、アナウンスやら、移行申請やらいろいろとあったけど、ようやく土曜日の早朝に移行完了の通知がきて一安心。

最近の、SF.netはユーザインターフェースが一新されたり、新機能がHosted Appsに追加されたりしていることは、SF.netからの通知メールの斜め読み等で認識指定はいたのだが、よもや現行機能を削除するアナウンスが流れていたとは、まったく気が付いていませんでした。
おそらく30日のメールであわてたPJが多数あったようで、金曜日の晩の時点で移行リクエストの待ち行列に250PJもエントリされていました。

30日のメールも件名が目を惹いたからよかったのでしょうけど、気が付かなければ悲惨なことになるところでした。


SourceForge.netのWikiSpaceが・・・nobunobu (2009-8-2 1:09)

30日の木曜の朝一番のメールチェックで、
”Wikispaces being removed from SourceForge.net 2009-07-30”
という件名のメールを発見。発信人はもちろん”SourceForge.net Team”って事で、SourceForge.netの管理チームからのAlertメールに間違いがないのだが、
「2009-07-30って今日じゃぁないですかぁ・・・」と唖然・呆然・驚愕・愕然・・・・

On Thursday July 30, 2009 at 8:00 AM Pacific Time, the SourceForge.net
staff will be removing the Wikispaces facility that has been available to
project teams since 2007.

とあるので、日本時間ではおそらく31日午前0時で削除って事なのでその時点での猶予は約16時間ということになるわけで・・・まぁギリギリのタイミングで気がついいたわけです。

メールのその後に続く文章には、SF.net内のHosted AppであるMediaWikiかTracへの移行のリクエストが可能であるというので、とりあえずWiki機能だけの移行が必要なのでMediaWikiへの移行申請をすることに。

PJメンバーとのやりとりやら、アナウンスやら、移行申請やらいろいろとあったけど、ようやく土曜日の早朝に移行完了の通知がきて一安心。

最近の、SF.netはユーザインターフェースが一新されたり、新機能がHosted Appsに追加されたりしていることは、SF.netからの通知メールの斜め読み等で認識指定はいたのだが、よもや現行機能を削除するアナウンスが流れていたとは、まったく気が付いていませんでした。
おそらく30日のメールであわてたPJが多数あったようで、金曜日の晩の時点で移行リクエストの待ち行列に250PJもエントリされていました。

30日のメールも件名が目を惹いたからよかったのでしょうけど、気が付かなければ悲惨なことになるところでした。


PicSayとPostBotでnobunobu (2009-8-1 21:50)

カメラで撮った写真の投稿ならこの組み合わせが便利かも。

写真は、昨日の恵比寿駅前盆踊り大会の大盛り上がりの模様です。


PicSayとPostBotでnobunobu (2009-8-1 21:50)

カメラで撮った写真の投稿ならこの組み合わせが便利かも。

写真は、昨日の恵比寿駅前盆踊り大会の大盛り上がりの模様です。


wpToGoからの投稿nobunobu (2009-8-1 20:42)

androidで動くHT-03Aには、wpToGoというアプリがあります。
XMLRPC経由での更新が可能です。とりあえず、投稿のテストてす。


wpToGoからの投稿nobunobu (2009-8-1 20:42)

androidで動くHT-03Aには、wpToGoというアプリがあります。
XMLRPC経由での更新が可能です。とりあえず、投稿のテストてす。


WordPress.Comにnobunobu (2009-8-1 20:27)

WordPress.Comでブログ書きを復活しようかと思案中・・・・

それにしても、WordPress かなり使いやすくなってますね、
どこぞのXOOPS用WordPress モジュールとは隔世の感です。

最近は最新のWordPressそのままをXOOPSCubeモジュールとして組み込めるものが、XPressME Integration Kit のように、発表されているので、XOOPSCubeユーザにはお勧めの様です。
(使ったこと無いので、「・・の様です」にとどめておきます)


WordPress.Comにnobunobu (2009-8-1 20:27)

WordPress.Comでブログ書きを復活しようかと思案中・・・・

それにしても、WordPress かなり使いやすくなってますね、
どこぞのXOOPS用WordPress モジュールとは隔世の感です。

最近は最新のWordPressそのままをXOOPSCubeモジュールとして組み込めるものが、XPressME Integration Kit のように、発表されているので、XOOPSCubeユーザにはお勧めの様です。
(使ったこと無いので、「・・の様です」にとどめておきます)



投稿された内容の著作権はコメントの投稿者に帰属します。