2011年7月14日木曜日

Go 節電プロジェクトに乗っかってみた

なんかAPIが公開とかなので、これに乗っかってみた。

いきなりですが、節電には興味ありません(キリッ

本当に節電させたければ、強制的にやらないと無理だと思うんですけどねぇ…


というわけでAndroid で取得してみた



 private final static String mInstanceUri = "http://api.gosetsuden.jp/usage/tokyo/instant/latest";
 private static String  elecConsumption = null;

 
 private boolean getInstanceConsumption() {

  String jsonStr = getJsonData( mInstanceUri);
  if( jsonStr == null){
   return false;
  }

  try{
   JSONTokener token = new JSONTokener( jsonStr);
   JSONArray arr = new JSONArray( token);

   if( arr.length() != 1){
    return false;
   }

   // 良くうん千万KWと聞くので、上から4桁でいいやという適当実装
   elecConsumption = arr.getJSONObject( 0).getString( "usage").substring( 0, 4);

  }catch( JSONException e){
   return false;
  }

  return true;

 }


 private String getJsonData( String uri) {

  String ret = null;
  try{
   HttpClient httpClient = new DefaultHttpClient();
   HttpGet httpGet = new HttpGet( uri);

   HttpResponse response = httpClient.execute( httpGet);

   // 失敗時の処理
   if( response.getStatusLine().getStatusCode() != HttpStatus.SC_OK){
    return null;
   }

   // 解析と出力
   // サーバーからのデータを取得
   InputStream is = response.getEntity().getContent();
   InputStreamReader isr = new InputStreamReader( is);
   StringWriter strin = new StringWriter();
   BufferedReader buf = new BufferedReader( isr);
   for ( String line; ( line = buf.readLine()) != null;){
    strin.write( line);
   }

   is.close();
   isr.close();
   buf.close();

   ret = strin.toString();

   strin.close();


  }catch( ClientProtocolException e){
   return null;
  }catch( IOException e){
   return null;
  }

  return ret;

 }

これで直近の消費電力量が取れました。合っていると思いますw
詳細なAPI仕様はこっちを見てください。

なお、恐らくドキュメント側がまだ整理されていないようで、2011/07/14 現在

  • ミリ秒と書いてあるけど秒単位のやつがある
  • 日本基準時間と書いてあるけどGMTで返ってくるやつがいる
とかありましたので、時間データを使う際は微妙に注意してください。
ドキュメントが正しいのか、データが正しいのか早めに決めて欲しいですね~


この手のアプリは既に腐るほど世の中に出回っていますので、それこそ時間を掛けてじっくり作るより、
即座に飛びついて速攻公開のほうが注目されるかと思いますw


とは言うものの、見せ方だよなぁ…
ぱっと思いつくなら、今頃もっといろんなモノ作れているっつーの。



おまけ
会社の人に頼んで、絵を作ってもらってちゃちゃっと作ったwidget
やっぱり絵が作れるっていうのは凄い… その才能が欲しいです…
しかも絵の作成も早いしww


0 件のコメント:

コメントを投稿