2011年12月30日金曜日

AndroidではGData-java-clientライブラリは使えません

AndroidアプリからGoogle Document APIを使いたくてgdata-java-clientをDLして組み込んでみるも、なぜか実行時に落ちますこのGDataクライアントはGoogle Data APIのラッパークラスで、以下のようにURLからGoolgleドキュメントのワークシートを引っ張ってきて簡単に弄れる優れものなんです。


        URL url = FeedURLFactory.getDefault().getSpreadsheetsFeedUrl();
        SpreadsheetQuery sq = new SpreadsheetQuery(url);



なんで落ちるんだろ~?と思って説明をよく読んでみたら


gdata-java-client
http://code.google.com/p/gdata-java-client/
>Android support
>Since GData Java Client Library does not support Android, Android developers
>should instead use the new library Google API Client Library for Java.


なぜかAndroidだけサポートしなくなったようです。
javaバイナリなので自作アプリに組み込んでビルドまでできるけど実は動かない
このトラップには要注意(´・ω・`) ← 何時間もハマった


Q. ではAndroidでGoogleドキュメントにアクセスしたい場合はどうするのでしょう?
A. Google-api-java-clientを使ってアクセスすることになります。
このライブラリはGoogleが提唱するhttpサーバー・クライアント間のデータ交換を行うプロトコルのラッパーであり、GData-clientのようなOOP的にGoogleドキュメントを扱うものではないので実装は面倒になります。


google-api-java-client
http://code.google.com/p/google-api-java-client/

2011年12月10日土曜日

mac mini (mid2011)+Windows7がスリープから復帰しない!

mac miniを導入して3週間前後経ちましたが、ここにきてスリープから復帰しないトラブルが発生。(Windows7 SP1)
前日までは正常だったんですが・・・・
スリープしてすぐに復帰させると成功するのに、1~2時間置いてから復帰しようとすると失敗。
モニタがNO SIGNALのままでUSBデバイスも無反応で復帰しません。

スリープ直後はACPI S1,S2ステートでこの時点では正常に復帰できるが、しばらくするとS3ステートに落ちて状態が変わるのかなー?と推測しましたが、powercfg/aで確認すると
mac miniはS1,S2をサポートしていない様子。

調べた所、HIDデバイスのFastResumeDisableを1にすれば直りそうなので試してみます。
Windows Vista ベースのコンピューターをスリープ状態または休止状態から再開した後、USB キーボードの一部の LED ランプがキーのオン、オフを正しく表示しないことがある


2011/12/12 追記
上記の対処で無事直ったようです。

2011年12月5日月曜日

スタンバイ復帰の原因を探る

先月mac mini(Mid2011)を導入しました。このPCは非常に消費電力(スタンバイ時2W)が少ないので
普段はスタンバイ状態しておき、数秒でサッと使うことができます。
さてWindowsをスタンバイにしていると、なぜか勝手にスタンバイ復帰してしまうことがあります。
実害はないのですが、節電の観点からはあまり好ましくありません。
そこでスタンバイが復帰してしまった原因を探ってみましょう。
コマンドプロンプトからpowercfg -lastwakeを実行します。その結果、


Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Wake Timer
    Owner: [PROCESS] \Device\HarddiskVolume4\Windows\System32\services.exe
    Owner Supplied Reason: Windows は、スリープ状態の解除を要求したスケジュール
されたタスク '\Microsoft\Windows\Media Center\mcupdate_scheduled' を実行します。


タスクmcupdate_scheduledがスタンバイ復帰の原因であることが分かりました。
タスクスケジューラから当該タスクのプロパティを開き、「タスクを実行するためにスリープ解除する」のチェックを外せば勝手にスタンバイから復帰することはなくなります。