2014年12月26日金曜日

DynamoDBにてHash+RangeのQuery設定方法(v2対応)

久しぶりにDynamoDB触ってみたら、Hash+RangeのQuery設定方法がv2で変更になっていて、古いコードがエラーになってしまったので。。。。



GWTにてFlexTableに配置されたボタンのクリックを特定する ~IDの設定と取得~

下記の図のように、FlexTableにボタンを配置して、押されたボタンの位置(行)を特定することを考えます。

その方法は下記のようになります。
  • getElement().setIdを利用して各ボタンにidを割り振る(id=行とする)
  • クリックイベントにてevent.getSource()を呼び出し、クリックされたボタンを取り出す
  • そのボタンのidを調べる
以上の方法により、下記のような動作をします。

(一番上のボタンをクリックした場合。)


(上から3番目のボタンをクリックした場合)


コードは下記のようになります。



GWT:FlexTableを利用して動的にWidgetを張り付けながら管理する

データベースに入っている内容をそのまま表示したり修正したりするには、データをFlexTableに表示するのがベターです。しかし、その際には
  • Widgetsを動的に配置
  • 配置したWidgetsにJavaコード内で管理
という条件を満たす必要があります。その際は、表示しているWidgetを内部でも同様に管理するのがベターです。例えば下記のような方法です。ここでは、配置しているWidgetを行単位でリストに保存しています。



2014年12月25日木曜日

GistのJSONデータからファイル情報を取ってくる(gson利用) ~キーがわからないJSONオブジェクトへのアクセス~

Gist APIを使ってJSON形式でGistのコードスニペットを取ってくるプログラムを書いてるんですが、filesの中身にある各スニペットの情報は、ファイル名がキーになっているので、その中身をどうやって取ってくるか?が悩みどころになります。
解決策は下記の通り。なお、JSONのアクセスにはgsonを利用してます。