2011-01-01から1年間の記事一覧
会社のブログの方でAppleTVを○○するとNASから直接音楽や動画を再生できるよ!というエントリ書いたのですが、ちょっとしたことがきっかけで以下AppleTV(2G)をJB(脱獄)しました。上記リンク先の会社のブログでも触れていますが、元々はNAS上の音楽データをM…
前回のエントリから2週間近く更新滞った理由というのは画面遷移で最初・最後のページにたどりついた処理に悩んでいるから。ButtonBarとして配置したボタンをクリックした時にイベント発火されて、該当のページに遷移するんだけど、そのページの表示が完了し…
前回の記事をベースにして、Stateパターン適用しようと思い骨格となる部分だけ考えてみました。デバッグし易さを優先したいので、Titanium Mobile固有のAPIを利用せずGoogleChromeの開発ツール上で動作確認してます。 var Page = function(page){ this.event…
先日書いたエントリで 現在のページ数チェックとどのボタンクリックしたのか判定しているため基本同じようなコードが存在して、スパゲッティコードになりそうなので、この部分の設計をしっかりしておかないと、後々大変になりそうなので、ここはちょっとじっ…
Googleの検索で、「Titanium xxxx」みたいな感じで思いつく限りのキーワードを入れて関連しそうな情報をチェックしたり、Githubでお手本になりそうなソースを探したりと色々なことをやってきて、これ以上進展がないかなーと思ってました。そんな状況の中で、…
Titanium Mobileで開発初めて、関連するエントリについては001から連番ふってきたけど、あと1つで50エントリ。自分の当初見込みでは30エントリ位でとりあえず形になるものを作る予定だったけど、全然見積もりが甘かったなーさて、ここから本題。先月書いた…
全然ブログ書いてなかったので、とりあえずGWの振り返りを。 前半は散々でした・・ GW前半は、うちの娘が嘔吐した後に、高熱(39度超)&下痢という状況で、その看病やら家事やらに追われて、娘が回復したら今度は自分がちょっと調子悪くなるという感じで日…
前回のエントリでボタンクリック時のイベントハンドラの処理で実装しないといけない点がいくつかあるとメモしておきました。 一番新しい/一番古いエントリかどうか判定した上で、適切なボタンを配置 エントリ一覧画面生成する際に、Ti.UI.createTableViewRow…
画面イメージについての考え BylineのようなGoogleReaderクライアントのような画面遷移出来るようなUIをどうにか実現できない考えています。 アプリケーション起動時にはエントリ一覧を表示(※下記画面キャプチャ1) エントリのタイトルをクリックすると、…
SQLiteを活用してJSON形式のデータを保存できるようになったので、今度は読込について考えました。 実装方法に最初はまる SQLiteに保存する時に //省略 var res = this.db.execute( 'INSERT INTO entries (blogger,permalink,title,html_body,post_date) VAL…
まず現在のJSONフォーマット 以前書いたエントリでは投稿した日付をIDとして活用すればいいかなぁと考えていたものの、何となく処理をやりづらそうな何とも言えないモヤモヤ感がしてました。twitterのAPIで返すJSON形式を眺めていたら、下記のような形式が良…
アディダスが5/31までの期間限定でクツカスというシューズレンタルサービスを行っています。この前の木曜日にシューズが届いたので時間が許す限り履き比べました。元々買う気は無いですが4足履くとこの中の1足くらい買おうかなという気持ちになるので、アデ…
昨日書いたエントリでふれたようにサーバ側のJSON生成部分から見直すことにするため028-Crawlerは一応完成というエントリで触れたCrawlerから手をつけました これまでのCrawlerと今後実装するべき処理検討 あすなろブログの各エントリ情報を取得する際に ブ…
Controllerを見直すうちにどんどん深みにはまっている感じがします。(苦笑) キャッシュファイルの読み取りを考える仕様を考えるうちに深みにはまってきた テストコードを test("load Entry cache", function(){ var c = new Controller('hibi'); c.init();…
今までEntryクラスでエントリ一覧のキャッシュの保存と読み出しをこんな感じするようにしていました Entry = function(){//略}; Entry.prototype = { saveCache:function(json,page_number){ /* ブロガー名+現在のページ数.jsonというファイル名で ローカル…
エントリ情報をローカルにキャッシュすることは出来て、これで完成間近・・・と思ったのですが「Aというブロガーは何ページ目まで読み込んだのか誰(=どのクラス)が管理するべき?」という部分で疑問が出てきました。Entryクラスは、エントリ情報を管理す…
前回のエントリで下記のようなことを書きました。 ※このブログを書き始めてコード読み返していて気づいたのですが、ローカルのキャッシュ処理する際にブロガー毎にキャッシュするようにしてないから、この部分は別途書きなおす必要が有る。。 Titanium.App.E…
タイトルそのままですが、insertRowAfterにこれ以上固執してもうまくいかない気がしてきたので違うやり方を検討しました。 TableView.setData(data)を活用した処理の流れ 自分はまだ1.5.1使っているのでこのTitanium Mobile のAPIドキュメントを改めて読んで…
CreateTableViewのreceive()は、エントリ一覧のオブジェクトに加えて、iPhone上で何ページ目が表示されているのかそのページ数を受取、2ページ目以降ならば、TableViewのinsertRowAfterメソッドを使って、rowを動的に追加しようと考えました。結構簡単にでき…
地震発生から数日経過しましたが、日に日に被災状況の深刻さを知って今回の地震の凄さというのを実感してます。あの日の出来事&その時の心境についてまとめておこうと思います。 地震発生した時、どこにいたのか 「地下深いところ(*)」にいました。ここ最近…
Titanium Mobile使ってアプリ作るときに、MVC的にクラスをわけるのがどこまで効果があることなのか正直わかっていません。ただ、下記2点を考えると、個人的には「アリ」かなぁと思っています。 今つくっているアプリ以外にも、GoogleReaderとかGitHubリーダ…
実際に実装しはじめると自分のスキルの無さを痛感してます。。。簡単に出来ると思ったけど最後の最後でうまくいかないのでその点についてまとめておきます 処理の流れについて簡単 アプリ起動。5件分のエントリを表示 「次の5件を読み込む」という箇所をクリ…
RSSリーダーのようなアプリの場合、起動時に数件読み込み、ボタンクリック等のイベントをトリガーにして次のxx件を読み込むというのはよくある処理だと思うのでこれについて考察してみました そもそもaddEventListenerはどこに仕込むのか 自分は最初この部分…
記事一覧から、記事詳細情報を表示する Sinatraで生成したJSONをxhrで読み込み→TableViewで記事一覧生成→clickイベントで、記事詳細情報に画面遷移までやっと出来た! twitterより とtwitterでつぶやいたように下記のような画面遷移する処理までは出来てまし…
ブログを閲覧するアプリに欠かせないページング処理(paginate/pagination)について調べて、実装をしているのですが、思ったように作れないこともあってしばらくブログ更新滞ってしまいました。ページング考える上で、サーバ側、クライアント側のiPhone双方…
Unable to parse JSON string MongoDBに格納した情報を、Sinatra + mongoidでJSON形式で出力するところまでは出来たので、これを読み込むような処理をするためにこんなコードを書きました var Blogger = function(){ this.httpclient = Titanium.Network.cre…
JSON形式の出力は単に object.to_json でOKというのを知って、「おー、これならあっという間にできるなあ」と思ってapp.rbに get '/api/:name.json' do blogger = params[:name] @items = Entry.find(:conditions => {:blogger => blogger}) @items.each do …
あすなろBLOGを巡回するcrawlerは出来たので、JSON形式で値を返すWebアプリが必要なので、Sinatra使って実装し始めています。 どんな仕様にするか http://xxxx.xxx/api/yokota.json http://xxxx.xxx/api/oohashi.json : という感じで、 /api/ブロガーの名前.…
しばらくサーバーサイドの開発してて、Titanium MobileをいじりたくなってきたのとGoogle Readerから情報取得するコードをちょっと見直していたので、試しにGoogle Readerのスターアイテム一覧を取得するコード書いてみました。 //google_account.js var Goo…
各ブロガー別にサイトの更新状況をチェックするクローラーを動作させるという仕様を考えているため、どこまでクロール済かを管理する仕組みを作る必要があるかと思っています。処理を待つ一連のジョブを管理するクラスとしてひとまずqueueというクラスを作り…