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

はじめてのandroid その1

Xperiaを購入して半年、そろそろアプリ開発のお勉強をはじめよう。 ということで、androidアプリ開発メモを残しておく。今回は、Xperia SO-01B(Google™ Android version 2.1)をターゲットにして、アプリを書いてみる。 まずは開発環境としてSDKとIDE(Eclipse…

はじめてのandroid その2 (Android SDKをインストールする)

1.ダウンロードしたAndroid SDKを解凍 $ cd ~ $ mkdir android $ cd android $ unzip ~/Desktop/android-sdk_r07-mac_x86.zip [...] $ ls -F android-sdk-mac_x86/ $ cd android-sdk-mac_x86/ $ ls -F SDK Readme.txt market_licensing/ temp/ add-ons/ plat…

はじめてのandroid その3(Xperia SDKをインストールする)

1.ダウンロードしたXperia SDKを解凍 Android SDKのadd-onディレクトリにダウンロードしたXperia SDKを展開する $ cd ~/android/android-sdk-mac_x86/add-ons $ unzip ~/Desktop/102216-XPERIA-X10_SDK_Add-on_r1.zip Archive: ~/Desktop/102216-XPERIA-X10_…

はじめてのandroid その4(ADTをインストールする)

Android Development Tools(ADT)は、Eclipse上でAndroidアプリを開発するためのプラグイン。 IDEとしては、netbeansのNBandroidも考えたけど、ここは無難にEclipseを選択した。 1.Eclipseを起動 2.プラグインをインストール Help -> Install New Software...…

はじめてのandroid その5(ADT環境を設定する)

Eclipseに対してプラグインのインストールが完了したら、続いてADTの完了設定を行う。 といっても、ここでは既にインストール済みのAndroid SDKのベースディレクトリパスを、SDK Locationに設定してやるだけ。 1.Eclipseの環境設定 Eclipseメニューから環境…

はじめてのandroid その6(ADV ManagerでVirtualDeviceを作成する)

開発環境準備の締め括りとして、エミュレータ用のVirtual Deviceを作成する。 1.ADV Managerを起動 Virtual Devicesを選択する。 2.新規Virtual Deviceを作成する。 Newボタンを押して新規Virtual Deviceを作成する。 Create AVDボタンを押すと、Virtual Dev…

はじめてのandroid その7(Hello, World!)

いよいよプロジェクトの作成と、エミュレータ上での実行! プロジェクト名は、もちろんHelloWorld。 実際にアプリケーションをXperiaには転送しないので、ここまではXperiaは不要。 1.Eclipse上からプロジェクトを作成 fileメニュー -> New -> Android Proje…

はじめてのandroid その8(HelloWorld起動!)

エミュレータの起動にはちょっと時間がかかります。 MacBookPro15インチ(Intel Core2 Duo 2.4GHz)で約45秒。 起動中... 起動完了。ここまで約45秒くらい。 ロックを解除する ドロワーを引き出してアプリ HelloWorld を起動 実機でのタッチスクリーン操作はマ…

XperiaでASE

Xperia購入から一ヶ月。 時々3gを掴めなくて再起動しないと復旧しないとか、まだまだ安定しないねぇ。そんな中、Android Scripting Environmentをインストールしてみたよ。 でもXperiaではPython/JRuby/Perlは利用できないみたい。現在のase-r25ではshellとl…

Pythonのsyslogモジュールを使ってsyslogd経由でログ出力してみる。

手順としては、 syslogモジュールをimport syslog.openlog()でプログラム名,Option,Facilityを設定し、syslogdに接続開始 syslog.syslog()でログレベルを設定してメッセージを出力 syslog.closelog()でsyslogdとの接続終了 python-2.6.4のコードを見ると、 s…

ひょんなことから、emailアドレスのフォーマットが正しいかどうかをチェックするスクリプトを書くはめになった。

正規表現を考えてみたけど、こんな感じかしら。 import reclass Validation: def email(self, argv): msg = '^\w[\w\.\-\_]*[^\.]@\w[\w\-]*(\.[\w\-]{1,})+[^\.]$' regex = re.compile(msg) if regex.match(argv): return True return False

とあるプログラムのテストコードをpickleを使って表現しようと思ったんだけれども、どうも手書きでデータ構造を生成するのは大変そう。しかたがないのでYAMLにしてみた。

YAMLパーサはモジュールを別途インストールしないといけないの...電池付属のPythonの付属の電池だけでなんとかしたかった... PythonのYAMLパーサとしてはPyYAMLとPySyckが主流(なのか?)みたい。 どちらを使うか PyYAML is the next generation YAML parser a…

あらかじめファイルに保存しておいたpickle化済みデータを読み込んでみる。

$ python >>> import pickle >>> fp = open('dict.txt','r') >>> x = pickle.load(fp) >>> print x {'mem': '4GB', 'os': 'Snow Leopard', 'name': 'MacBook Pro', 'cpu': 'Core2 Duo'} >>> fp.close() >>> 実際にどんな内容が書かれているかというと... $ c…

Pythonライブラリリファレンスによると、pickleモジュールを使うとPythonのオブジェクト階層をバイトストリームに変換(pickle化)したり、バイトストリームをオブジェクト階層に変換(unpickle化)したりできるらしい。

バイトストリームにしてしまえば、それをファイルに保存したり、逆にファイルからそのバイトストリームデータを読み込んでオブジェクトに変換することも可能ってことね。 テスト用のデータ構造とかを生成できると楽かなぁと思って使ってみようと思ったけれど…

Pythonのyieldを使ってフィボナッチ数列を表現してみるメモ

Pythonでは関数定義の中にyield文があると、その関数はジェレネレータ関数となる(らしい)。フィボナッチ数列を10項表示してみるとこんな感じ。 $ python >>> def fib(): ... x, y = 0, 1 ... while True: ... yield x ... x, y = y, x + y ... >>> z = fib()…