2011年11月29日火曜日

JSONGen JSON文字列からJavaのコードを作りたい

WebAPIなんかを利用する際、JSON文字列を取得し解析し、JAVAのクラスとして利用することは割とある。

データの量が少ないものならば良いが、多くなってくると自分でコードを書くのが面倒くさくなる。

そんなとき、このようなサービスがあった。


JSONGen

使い方は簡単、URLにWebAPIのリクエストを書けばいい。

折角なので試してみよう。

URLを
http://express.heartrails.com/api/json?method=getAreas

とし、パッケージ名、クラス名を適当につける。

また、Use Java 5 Genericsにチェックを付ける。


次のようなJAVAのコードが得られる。


package tets;

import java.util.List;

public class Result1{
    private Response response;

  public Response getResponse(){
  return this.response;
 }
 public void setResponse(Response response){
  this.response = response;
 }
}


package tets;

import java.util.List;

public class Response{
    private List area;

  public List getArea(){
  return this.area;
 }
 public void setArea(List area){
  this.area = area;
 }
}


これは便利。

ただし、JSONにJavaの予約語を利用している場合は注意。問答無用で変数が作られるので、困ったことになる。

その場合は、利用しているライブラリによって異なるが例えばJSONICならアンダースコアをつけることで回避できる。

何にせよ便利。

2011年11月27日日曜日

WindowsPhoneで何かやる

WindowsPhoneの開発を始めます。

とりあえず、WindowsPhoneHolidayAppsコンテストを目指して。

UX-TVを参考にしながらインストール。

言語を英語にしてしまって、面倒くさい事になった以外はとくに何も問題はなく進みました。

ちなみに、VisualStudio2010はすでにインストールは既にインストールしてありましたが、時間は30分くらいかかったように思います。

同じくUX-TVを見ながらテストアプリの実装。

エラー    1    アセンブリ ファイルパス\プロジェクト名.dll を読み込めませんでした。このアセンブリは Web からダウンロード済みである可能性があります。アセンブリが Web からダウンロード済みである場合は、ローカル コンピューター上に存在する場合でも Web ファイルであることを示すフラグが設定されています。フラグにより、このようなアセンブリをプロジェクトで使用されることがないようにできます。フラグの設定は、ファイルのプロパティを変更することで変更できます。信頼できるアセンブリについてのみブロックを解除してください。詳細については、http://go.microsoft.com/fwlink/?LinkId=179545 を参照してください。

なるエラーが発生。共有フォルダ上にプロジェクトを作ったことが問題みたいなので、ローカルに移動。

回避方法もあるようだけど未確認。

さて、ハッカソン当日とコンテストで何を作るかを考えるとするか。

多機能日付計算機 リリース

トップ画面

デザインを大幅に変更してリリース。

AndroidMarkey-多機能日付計算機

来週中には、平日のみの計算機能をつけてバージョンアップができるのではないかと考えている。

Marketをぱっとみた感じで、他に営業日計算を実装しているアプリを見たことがないから強みになれる、はず。

レイアウト絡みはこれ以上いじると面倒になるのでスルーで。


本当は、休日一覧を返すWebAPIを実装することを考えていたけど見送り。

他で使えるっちゃ使えるけど、特に用途を思いつかないし。いや、公開すればいいだけの話だけど。

明日からはWindowsPhoneの開発にシフト。

テーマは年末年始なんだけどあんまりネタが固まってないので、HellowWorldとUI弄りくらいにする?かな。

格好いいUIのデザインができるようになりたいものです。

2011年11月26日土曜日

Android RelativeLayoutについて

RelativeLayout
layout_alignParentLeft=true
でも、左寄せにならない現象が発生。

こんな感じ

青い部分のアイコンが中央にある
















結果、利用していた画像が大きすぎることが判明。

Market登録用に用意した512x512を使っていたのが悪かった。

72x72にリサイズして同じパラメータで挑戦。

こうなる。

左によった。TextViewも追加 















という訳で、多機能日付計算機のレイアウトを大幅変更中。

平日のみの計算機能も搭載してリリース予定。

2011年11月22日火曜日

HTM5とPHPで作るインタラクトタテカン

今年度の調布祭での企画その2

TwitterのUserStreamAPIを利用して、適当に更新される立て看板を作ろう! という企画。

折角なので、HTML5準拠のJavaScript、CSSを,HTMLを利用した、つもり。

こちらもGitHubにアップロードしている。処理のメインとなるPHPとJavaSctiptがメイン。HTMLとかはご自分で。


TwitterStreamingSignBoard

簡単なシステムの動作図を描いてみて、今年度の冊子に載せてみたりした。



PEARのOAuthの使い方がよく分からなくて、ソースコードを読みまくってどうにかしたとか、いい経験だったね、ホント。

実質的なコーディング時間は半日程度だったのではないかな?

ちなみに最初はStreamingAPIのFilterを利用していた。でも、全体の1%(?)しか取得しないので、ほとんどお目当てのTweetを取ることができず断念。

OAuth認証で詰まってたときは、HomeTimelineを定期更新すればいいじゃないか!! って言われてたけど、意地と根性でどうにかした。

やっぱり、APIやライブラリのリファレンスが読める程度の英語力が必用だな、と思う今日この頃。

2011年11月21日月曜日

調布祭Nav2011

実は、大学の学祭で展示、模擬店の案内システムを作ったりしてました。

私が実装した部分をGitHubに上げたりしてみたり。

Liability2011-Server


あと、展示用のシステム概要ポスターとかを作ってみたり。



久々の更新ですね。ほんとに。

Twitterからこっちに来る人とかいるのかな? 開発履歴とかを書いておけばいいのかな?