Hatena::Groupstudyroom

文::字

2011-01-08

[Android] homebrew で入れた Android SDK の zipalign を入れ直す 22:04  [Android] homebrew で入れた Android SDK の zipalign を入れ直す - 文::字 を含むブックマーク

mirah + android - 文字 - はてな自習室の最後にちょっと書いた zipalign コマンドが空になってしまっていて、ant debug コマンドで「アプリ名-debug.apk」ファイルが作成されなかった件。

homebrew のせいなのか、たまたまなのかよく分からないけど、普通に公式ページから Android SDKダウンロードして zipalign コマンドを入れ直したらうまく「アプリ名-debug.apk」が生成されて ant install コマンドも実行できるようになった。

su -
cp /Users/tily/Downloads/android-sdk-mac_86/tools/zipalign  /usr/local/Cellar/android-sdk/r8/tools/zipalign

zipalign コマンド自体についてはここらへんに書いてある。

[]プロジェクト作成 21:57 プロジェクト作成 - 文::字 を含むブックマーク

  • n とか -t とかのパラメタの順番もこの通りにやらないとダメっぽい。
android create project -n TestApp -t 8 -p TestApp -k cc.omora.testapp -a TestApp

[] ゴミメモ 19:01  ゴミメモ - 文::字 を含むブックマーク

ちょっと Perl 書く機会があったのではじめて知ったことメモ。

例外のハンドリング

eval と $@ を使う方法がメジャーらしい。eval ブロックが try で if($@) 以降が catch みたいな感じ。eval {}; の ';' をよく忘れる。

eval {
    die 'something wrong happened.';
};
if($@) {
    print "Error: $@";
}

die だと別モジュールのエラーが起きた行数を正しく記録してくれないことがあるので、別モジュールの中で例外を発生させるためには Carp モジュールの croak とかを使う。

参考:

0e0

boolean コンテクストでは true として評価されるけど、数値としては 0 を表す 0e0 という値がある。DBI を使ってて知った、SQL を実行した結果件数が 0 のときは 0e0、レコード数が不明##場合には -1 が返ってくる。

オブジェクト指向の基礎

package と bless を使ってオブジェクト指向っぽいプログラミングをする。

package Main;
use strict;

my $log = Logger->new();
my $flg = int(rand(2));
my $parser = Parser->new($flg, $log);
$parser->parse('sample text');

package Parser;
use strict;

sub new {
    my ($self, $flg, $log) = @_;
    my ($hash) = {
        'flg' => $flg,
        'log' => $log
    };
    bless $hash, $self;
}

sub parse {
    my ($self, $text) = @_;
    $self->{log}->log("parsing $text, flag: $self->{flg}");
}

package Logger;
use strict;

sub new {
    my $self = shift @_;
    bless {}, $self;
}
sub log {
    my ($self, $text) = @_;
    print $text;

ゲスト



トラックバック - http://studyroom.g.hatena.ne.jp/tily/20110108