2011-01-01から1年間の記事一覧

Titanium Mobileで、iPhoneとAndroid両方にアプリリリースを目指して

Titanium Mobileを勉強しはじめたのですが、折角なのでiPhoneとAndroid両方にアプリリリースを目指して開発をはじめました。 ここのOS独自部分で分岐はあるにしても、ひとつのソースで両OS用のアプリを開発をできるか検証していきます。 開発するための言語…

iPhone、Androidアプリ開発の入門書

2冊、本を買いましたのでご紹介しておきます。 1冊目は「Titanium Mobileで開発するiPhone/Androidアプリ 」 Titanium Mobileの本です。iPhoneとAndroidの両方について解説されています。少し内容が古いですが、APIリファレンスとして使うにはいい感じです。…

Titanium Mobileで、iPhoneアプリを作りました。

「iPhoneアプリを作りました」と言っても、サンプルを動かしただけですが・・・ 前回、Windows環境でTitanium Mobileを使い、Androidアプリを動かしました。こんどはMacでiPhoneアプリを動かしてみます。 前回同様、開発環境の構築ははしょります。Titanium …

Titanium Mobileを使った、Android開発をはじめました

Android開発を勉強しはじめたのですが、Android開発は、Android SDK + Eclipseによる開発が現状のデファクトと言っていいでしょう。(将来的にはHTML5+Javascriptに世界は流れると考えています。) しかーし、私はひねくれ者なのでTitaniumやHTML5+Javascript(…

iPhoneアプリを、Adobe Flash Professional CS5.5で開発し実機で動作確認

簡単なiPhoneアプリを、Action Scriptで作成して実機で動作させてみます。 Action Scriptなんて何年も使ってないので、すっかり忘却の彼方。フラッシュチュートリアルでググり、ふらちゅうさんのサンプルをいただいてきます。 カラフルな円がたくさん表示さ…

Adobe Flash Professional CS5.5を入手

Adobe CS5.5を発売日前に入手できました、最速レポートです。Adobe Flash Professional CS5.5 まずは、画面の確認です。起動画面です、iOSに加えAndoroidが追加されたようです。 「iPhone OS」から「AIR for iOS」に名称が変わっています。 AIR for iOSを新…

iPhoneアプリをWindowsで開発したい。

前回、こういうことを言ってたのですが 開発プラットフォームを用意するのが大変(Macだけで良いかもしれませんが…) 開発ツール、言語をそれぞれで覚えるのは大変 作ったアプリの資産をiOS、Andoroidで共有したい 少々、調べました。いろいろ開発ツールはでて…

FLASH PROFESSIONAL CS5を使って、iPhoneアプリ1(アプリの作成から配布まで)

iPhoneアプリもAndroidアプリも作りたいけど 開発プラットフォームを用意するのが大変(Macだけで良いかもしれませんが…) 開発ツール、言語をそれぞれで覚えるのは大変 作ったアプリの資産をiOS、Andoroidで共有したい 開発プラットフォームとしてLinux、Wind…

iPhoneでSQLite3を使う12(INSERT OR REPLACE文)

SQLiteでテーブルにデータを追加する際、あれば更新なければ追加ということがしたかったので 1.あるかどうかのチェックをSELECT文 2-1.あればUPDATE文 2-2.なければINSERT文 という形で実装していたのですが、なければSELECT→INSERT、あればDELETE→INSERTと…

Xcode4が4.0.1になってた!!

Whatʼs New in Xcode 4.0.1 Improved Assistant editor logic when switching among different file types Fixed a bug that prevented indexing of some projects Fixed a bug related to nil settings in the Core Data model editor Fixed a bug in LLVM G…

TwitterをObjective-Cから使う12(MGTwitterEngineのAPI呼び出し後に値を受ける)

基本、MGTwitterEngineのAPI呼び出しの結果は、デリゲートメソッドのxxxxReceivedで受信して処理することになります。 結果がNSArrayで返ってきます。NSArrayには、1件分のNSDictionaryが格納されています。 あとはobjectForKeyを使って、各値を取り出せばOK…

今日、3本目のアプリを申請しました。

3日くらいで作っちゃいました。リジェクトされなければ、4月はじめくらいにストアに並びます。プログラミングしている時間より、Illustratorでお絵かきしていた時間の方が長かったw サウンド、ネットワークとアプリを組んだので、次はカメラアプリです。プ…

あたらしいアプリを作成しはじめました

昨日から、新しいアプリ作成に入りました。プログラミングは、1日でほぼ終わったのですw あと、ローカライズとか細かな作り込み、アイコンとかのデザインがまだなのです。アイコンは、イメージはあるけど絵に落とす能力がw あぁ、睡眠が削られていく。

iPhoneでSQLite3を使う11(DBテーブルからUITableViewを表示)

DBテーブルからのUITableViewに表示する際に、データ数が多い場合に全部読み取るとメモリ消費も大きくなりますし、データに対して処理をする場合は時間もたくさんかかってしまいます。そのため、一度に読む量を区切り順番にページ送りして表示するようにペー…

TwitterをObjective-Cから使う11(MGTwitterEngineで同期通信する)

MGTwitterEngineを使っていて、同期通信を行いたい場面がでてきました。NSURLConnectionでsendSynchronousRequestで同期通信で送信するものを、最初に作りましたがタイムアウトの設定ができない、途中でキャンセルできないなどの問題がありました。 そのため…

iPhoneでSQLite3を使う10(iPhoneアプリリリース後のテーブルの構造変更)

iPhoneアプリをリリース後に、機能追加でテーブルの構造を変更する必要が生じました。sqlite3のDBファイルは、初回のアプリインストール時に作成されて、アプリをバージョンアップした際でも上書きされません。 ※アンインストールすると、DBファイルも消えま…

iPhoneでSQLite3を使う9(制約)

今回は、制約です。だんだん、iPhoneから遠ざかってる気がしてきましたがw 制約とはテーブルという器に、入れる値にルールをつける機能です。この列にはこんな値しか許さないというルールをつけることができます。 今回は次の4点を紹介しておきます。 NOT N…

iPhoneでSQLite3を使う8(インデックス)

テーブルにインデックスをつけましょう。 インデックスとは、本で言うところの目次です。特定の情報を探すときに、本のページを全部読むより、目次だけを読む方が早く読めますよね。それと同じでテーブルにデータを入れた時に、インデックスを作成することで…

iPhoneでSQLite3を使う7(サンプルソース)

SQLite3の過去の記載に間違いがちらほら、気づいたところは直しました。まだ間違いがあるかもしれませんので、サンプルソースを確認していただいた方が確実です。また、テーブルの構造を変更しましたのでご注意ください。 サンプルは、Testボタンのみw ボタ…

iPhoneでSQLite3を使う6(DBのエラー処理)

今回はDBのエラー処理を実装していきます。エラー処理を放置していましたので作りこんで行きます。 基本方針として、メソッド毎に戻り値を見てエラー処理をするのは面倒なので、try catchを使ってエラーをさばいていくことにします。 try catchを使えば、try…

iPhoneでSQLite3を使う5(データの追加と更新)

今回は、追加と更新についてです。SQLではINSERT文とUPDATE文を使います。 INSERT文の例 INSERT文では、どのテーブルにどんな値を追加したいかを記述します。列の個数と列の順番にあわせて値を記述します。 INSERT INTO テーブル名 VALUES (値, 値, 値, 値…)…

iPhoneでSQLite3を使う4(データの削除とバインド変数)

今回は、削除についてです。SQLではDELETE文を使います。 DELETE文の例 DELETE文では、どのテーブルを削除したいかを記述します。また、削除するときにこんなデータだけ削除するという、条件をつけることもできます。 DELETE FROM TABLE名 WHERE 条件例えば…

iPhoneでSQLite3を使う3(データの選択)

SQLite3の3回目、基本的なデータ操作について書きます。 1回目で書いた通り、データの操作はSQLで行います。SQLのDML文(データ操作言語)には、4つの種類があります。 SELECT(選択) INSERT(追加) UPDATE(更新) DELETE(削除) 名は体を表す。見たまんまです。 …

iPhoneでSQLite3を使う2(DBファイルのオープンとトランザクションとは)

前回、twitterDB.sqliteというDBファイルを作成するところまでやりました。今回は、プログラムからテーブルを使える状態にする準備部分の実装をやります。 まず、前回作った「twitterDB.sqlite」を、xcodeプロジェクトに追加してください。 それと、#import …

iPhoneでSQLite3を使う1(SQLite起動とファイルの作成)

なぜいまさら、SQLiteなのか。それはCore Dataに挫折したからです。私がOracleとかSQL Serverに慣れ親しんでいるからというのもあるのですが、Core Data使いにくい。DB(データベース)を使ったことがない人はSQLが障壁になるのかもしれませんが、より複雑な…

TwitterをObjective-Cから使う10(TouchJSON版ソース)

認証するだけのサンプルを作成しました。認証が結果は、NSLogで出力されます。 基本libxml2版と同じです。 ソースコードはこちら http://www.eonet.ne.jp/~einstein/iOS/design/Sample05.zip Sample03AppDelegate.hの下記を書き換えて、お使いください。 #de…

TwitterをObjective-Cから使う9(MGTwitterEngineにTouchJSONを組み込む)

FollowManは、libxm2で組んじゃってるんでいまさらなんですが、TouchJSONも試しておこうと思います。 yajlのソースが能力的に読めなかったから、TouchJSONに逃げようとしている訳じゃないです。 TouchJSONは、下記に最新ソースが公開されています。 https://…

TwitterをObjective-Cから使う8(MGTwitterLibXMLParserの修正)

libxml2を使うときに、MGTwitterEngineを使ってうまくいかなかったところを、メモしておきます。 users lookupなどのAPIでユーザ情報を取得するときに、xmlだとこんな感じで返ってくるのですが。 6253282 Twitter API twitterapi San Francisco, CA ・ ・ ・…

TwitterをObjective-Cから使う7(データの取得)

このシリーズ、4回目でfriends/ids APIを叩いてみましたが、実際に値を取り出す方法を書いておきます。 getFriendIDsForの結果は、非同期にURLConnectionからデータを受信。パースされMGTwitterEngineのデリゲート、socialGraphInfoReceivedメソッドが呼ばれ…

iPhoneアプリでアプリ起動中の割り込みテスト

iPhoneアプリでアプリ起動中に、割り込んでくるものを思いつくままに・・・ アプリに起動中に、割り込まれても問題ないことを確認しないといけませんね。特に音を鳴らすアプリなんか、スクリーンショットの"パシャ"とか入ってきますから。 シミュレーターで…