なんか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 件のコメント:
コメントを投稿