2011年7月28日木曜日

第3回SHARPハッカソンに行ってきました

7月23日、24日の土日にて 第3回SHARPハッカソンに行ってきました。

私としては初めてのハッカソンだったため、ドキドキしながら行ってきました。
場所は広島の八本松。
名古屋から広島まで新幹線に乗っていき、そこから鈍行に乗り、八本松までという長い道のりでした。


参加者はテレビで見たならぬ、ネットで見たことある!という豪華メンバー多数。
今まで会ってみたいなって思ってた人にも会えました。
こんなすごい人達と一緒に参加できることが大変ありがたかったです!

ハッカソンでは
SHARPさんから2011年夏モデルの最新端末をお借りし、
チームで2日間の期間を使い、アイデア出しからアプリを完成するところまでするというものでした。

自分たちのチームは、   TEAM びすこ。
メンバーは、
デザイナー
 @korowan
 @rie05
開発者
 @itog
 @dd0125 (自分)
という構成でした。

デザイナーさんがいるということは新鮮でした!

アイデアとしては色々候補はあったのですが
せっかくSHARPのイベントなので、SHARP API と使おうということで、

歩数計APIでコインを貯め、開閉通知APIで動かすスロットということで決定。
@rie05 さんの ウキウキノコ というキャラクターを使わせてもらいました。

1日目、1日目の夜、2日目と開発を頑張った結果がこれ。


うちのチームは39分から!



最後に一番面白かったチームはということで投票をするのですが、
な、な、なんと準優勝を頂けました。
頑張ったことは確かですが、皆さんすごかったのでいいのかなーって思いながらでした。
すごく嬉しかったです。





帰りは広島焼きを食べて帰りました。

よし、最後に広島らしいことした!



・今回感じたこと

デザイナーと開発者が混ざると科学反応が起きるということ。

開発者はデザイナーさんが作った綺麗な画像を動かせることに感動。
デザイナーさんは自分が作ったものが動くことに感動。
双方いい影響を与えてる!

またハッカソン参加したいなーって思いました。^^

SHARPのみなさん、ブリリアントサービスのみなさん!
そして参加者のみなさん、メンバーのみなさん、ありがとうございました!


イベントについて更に詳しくはこちらのブリリアントサービスさんのブログで
http://d.hatena.ne.jp/bs-android/20110727

2011年7月21日木曜日

【Android】他パッケージのActivityを呼び出すには

例えば電池使用量の画面を出すには、結論から言うと、
Intent intent = new Intent(Intent.ACTION_MAIN);
        ComponentName compo = new ComponentName("com.android.settings","com.android.settings.fuelgauge.PowerUsageSummary");
        intent.setComponent(compo);
        startActivity(intent);

・ComponentName に パッケージ名とクラス名を設定しています。

他の画面はどうやって出すの?って気になった場合は

なにか画面を起動したときに出る、
LogCatの
07-21 02:47:06.246: INFO/ActivityManager(116): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.contacts/.DialtactsActivity bnds=[5,244][115,362] } from pid 1016
を参照し、 cmp=com.android.contacts/.DialtactsActivity となってるのが、
パッケージ名とクラス名。ちなみにこれは電話アプリ。

この場合は、
ComponentName("com.android.contacts","com.android.contacts.DialtactsActivity");
となる。

これで電話アプリが起動する。

2011年7月19日火曜日

【Android】文字列から id(int型) を取得する

現在のActivityのパッケージリソースから取得する場合は、

R.string.XXXXX というリソースでは、

int resid = getResources().getIdentifier("XXXXX","string",this.getPackageName());

と取得。

R.drawable.YYYY では、

int resid = getResources().getIdentifier("YYYY","drawable",this.getPackageName());

で取れる!