develop

Aptana Studioをアップデートしたら起動しなくなったときの対応の要点だけ

OSXで、Aptana Studioをアップデート後に起動しなくなるときがある。 こんな具合のエラーが出る時: “The AptanaStudio3 executable launcher was unable to locate its companion launcher jar.” このときは以下のような手順を取れば起動するようになる。 AptanaStudio3.appを右クリック 「パッケージの内容を表示」する 以下のファイルをテキストエディタで開く:Contents/MacOS/AptanaStudio3.ini 以下の行を探す(たぶん最初の2行)-startup../../../plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar org.eclipse.(中略).jarが見つかってないことが起動しない(unable to locate)な原因。これを、plugins/org.eclipse.equinox.launcher(略).jarの存在するファイル名に書き換える。 ファイル保存してAptanaStudio3.appを再起動。 以上で起動するようになります。 (ちなみに僕のケースでは、Aptana Studio 3を3.0.6にアップデートしたときに発生しました)

OSXでgitの使い方の要点だけ(インストール編)

Android自体のソースコードもそうだけど、最近いろんなオープンソースプロジェクトがSubversionから移行していたり、githubを使う機会もなんだか増えて来たのでgitの使い方を整理してみる。当方Subversionはまあまあ使っていて、OSX Snow Leopardという環境です。まずはインストールから。

AndroidでLayoutからイベントリスナの設定方法の要点だけ

どうやらAndroid 1.6かららしいんだけど、Layoutファイルにandroid:onClickというプロパティを指定することができます。例えばOK/Cancelボタンを配置した場合は、以下みたいなLayoutファイルになります。 <Button android:text=“@string/label_button_cancel” android:layout_height=“wrap_content” android:layout_width=“wrap_content” android:id=“@+id/cancelButton” android:onClick=“onCancelClicked”/> <Button android:text=“@string/label_button_ok” android:layout_height=“wrap_content” android:layout_width=“wrap_content” android:id=“@+id/OKButton” android:onClick=“onOKClicked”/> こういう記述のあるlayout.xmlファイルをActivityの中でsetContentView()してやると、OKまたはCancelボタンをタップしたときに、そのActivityの中にあるandroid:onClickに指定した名前のメソッドを読んでくれます。listenerの設定とかが必要ないので、非常に便利。 メソッドのシグネチャは、public void aHandler(View v)なので、上記の例だとそれぞれ public void onOKClicked(View v) { Log.d(“DEBUG”, “ok clicked”); } public void…

Android Bazaar & Conference Summer 2011に行ってきた所感要点だけまとめ

Android Bazaar and Conference Summer 2011というAndroidのイベントに参加してきました。2011年7月17日@早稲田大学。 細かいことは置いておいて、気付いたことの要点だけ書く。聞いたセッションは以下。 主にDeNA、GREE、CyberAgentのセッションを聞いてきて、DeNAは2セッションあってどちらもngCore関係(2つ聞いたんだけど、ほとんど内容同じだった。)、GREEはGREE Platform、CyberAgentは自社の開発環境や体制についての話。

外部のActivityを明示的Intentで開始するやりかたの要点だけ

Androidアプリの開発で、パッケージ名およびActivity名が分かっているアプリを、自分のアプリから起動したい時がある。たとえばプリインストールのGoogle製アプリとか。 この場合も、自パッケージ内の明示的インテントと同様に起動することができる。具体的には以下みたいにする。 Intent i = new Intent(); i.setAction(Intent.ACTION_MAIN); i.setClassName(“com.example.external.package”, “com.example.external.package.SomeActivity”); //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //外部Activityを自分のActivityスタックとは別に立てたいとき。 startActivity(i); 注意点として、setClassName(String packageName, String ActivityName)するときに、ActivityName側もフルパッケージ名で指定する必要があること。これをしないとClassNotFoundExceptionになる。 あと、setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)しないと、例えば起動したアプリをHOMEボタンで終了した後にもう一回自分のアプリを立ち上げた時、自分のパッケージから起動したSomeActivityの方の画面が出てよくわからない事になる。これを避けるにはIntent.FLAG_ACTIVITY_NEW_TASKフラグを指定した状態でstartActivity()する。 このへんはTASKについて整理する必要がありそうだけど、別の機会にします。