Intentで妄想ネットワークアクセスAPI
症状
WebAPIを叩く時にIntentをデータ通信の要とし、応答をJavaObjectとして返すことにより、ネットワーク越しのAPI叩きをまるで端末内の別プロセスであるかのように抽象化できないかと思った。
用法・用量
Intent intent = new Intent(RpcAdapter.REST_POST); intent.setData(Uri.parse("http://hoge.hoge.com/data")); intent.putExtra("name", "vvakame"); intent.putExtra("token", "1192296"); startRpc(intent);
onRpcResult(int requestCode, int resultCodem Intent data){ // dataの中にはJavaObjectが詰まってる }
こんな感じ。
動悸
これが出来たら熱いぞ…!!!
これだとWebに関する知識とかあんまいらんし、ボイラープレートなコードとかほとんどないように見えるしかっこいい!!
息切れ
と思ったけど、onRpcResultとかをコールして結果を返す方法なくね?JavaScriptのarguments.callerみたいな感じでスタックフレームの一個上のインスタンスとか触れればなぁ…
と思ったけど、JSONが返ってくるとして逐次処理させるためにはListenerを渡せないといけないと思うんだけどIntentに含められないよね(Parcelableとかにしても環境が渡せない)
そーすると、
startRpc(intent, new RpcListener(), new JsonListener());
みたいな呼び出しになっていまいちかっこ良くない。
診断結果
なんかやる気にならない…!!
誰かなんかいいアイディアないですかね?