Android JSON パース 入れ子にハマる

    • { }[ ] に要注意!

気付いてしまえば、なんてことはない。でも、↑を見間違えてパースできない(泣)。なんてことになったから φ(..)メモメモ

Android (Java) において JSON パースは

  • {"key": "value"} は、getJSONObject()
  • {"key": ["value"]} は、getJSONArray()

コレが基本。でも、入れ子(ネスト)がでてくると

{
 "key":"value",
 "items": [
  {
   "hoge":"hage",
   "itemInfo": {
    "title":"JSON"
   }
  }
 ]
}

こんな感じに。

title をゲットしようと思うとgetJSONArray("items").getJSONObject(0).getJSONObject("itemInfo").getString("title")

てな文に。

“items” は配列で “itemInfo” はオブジェクトなのだが { }[ ] を見間違えると、メソッドがゴチャゴチャになりパースできない。 (T_T)

光速度不変 なぜ?を考えてみた

Newton の別冊「時間とは何か」を読んでると「光速度不変の原理」というものがでてくる。

光速度不変の原理とは、「光源がどんな速さで運動していても、光の速度を計測する人(観測者)がどんな速さで運動していても、真空中での光の速さはかわらない」 p54

が、論拠が書いていない。あえてそれっぽいのを挙げると “光速度不変 なぜ?を考えてみた”の続きを読む

アンドロイドで1次元バーコードリーダー アプリを作りたい。

てことで、GoogleAPI for Android の Vision.Barcode を使ってみる。リアルタイムでカメラの向きというかバーコードが横を向いてても読み取ってくれる賢い子。MultiProcessor を使うと複数同時に読み取れるけれど、必要性を感じられないので今回はシングルの Processor を使う方向で。

とりあえず、BarcodeScan.java のコード。MainActivity でテストするときは、適宜読み替えを。 “アンドロイドで1次元バーコードリーダー アプリを作りたい。”の続きを読む

YouTube APIと JavaScriptクライアント ライブラリ の使い方

概要

YouTube Data API v3 は、公開データの検索であれば APIkey を取得すれば可能。動画のアップロードなどプライベートデータにアクセスする場合は、Auth2.0 の認証が必要。

JavaScript クライアント ライブラリは、これらの操作を JavaScript で行う時に便利なライブラリ。 “YouTube APIと JavaScriptクライアント ライブラリ の使い方”の続きを読む

vimeo 再生速度変更 Firefoxアドオン

HTML5 Video Everywhere!

ビミオの動画は、再生スピードが変えられずイラッとしませんか?

ユーチューブみたいに1.5倍速とか2倍速とかにできればいいのに再生遅いぞ!って思いませんか?

そんな時は、ファイヤーフォックスのアドオンを使ってネイティブのHTML5 プレイヤーで再生できるようにしてみよう。 “vimeo 再生速度変更 Firefoxアドオン”の続きを読む