Blog Posts

xmlのボタン切り替えselectorでstate_pressedが効かないと思ったらitemの順番に意味があった

タッチしたときに画像が切り替わるボタンを作るのでxmlをselectorで作りました。 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="

Read More
C2DMについて調べてみた

C2DMについて調べてみた

申請はアプリのパッケージ単位です。登録はGoogle Accountが必要です。 必須条件 Android 2.2に対応したAndroid Marketアプリが入っている端末 有効なGoogleアカウント 全体構成図 AndroidにはBroadcastReciverとしてC2DMの情報を受ける口を実装します。 自由に実装した3rd party App ServerでC2DMの情報を送信します。 Google管理下のC2DMServerと介して情報はAndroidに送られます。 C2DMの有効化

Read More
startup weekend fukuoka に参加して思ったことと、次に参加する皆さんへ

startup weekend fukuoka に参加して思ったことと、次に参加する皆さんへ

しかだよ。 福岡開催は初となるstartup weekend fukuoka に参加してきました。とても実りある3日間でした。 Event | Startup Weekend

Read More
C2DMに対応しているAndroidアプリ一覧

C2DMに対応しているAndroidアプリ一覧

C2DM使ってるアプリの挙動が知りたかったので、C2DMが動いているアプリTwitterで聞いて探してみた。 公式Twitter 公式Maps ピーチク PushMoNi GuiDog 他にもたくさんありますよ。見つけきれてないけど。

Read More
インストールされているアプリの一覧を取得するなど

インストールされているアプリの一覧を取得するなど

しかだよ。 AppCircleという、Androidのアプリを楽しむ探すアプリを作ってます。 そのなかの仕組みで、端末にダウンロードしてインストールしたアプリの一覧を取得したくなりました。 @t_eggさんの助言をもらい、以下な実装になりました。 ...略... //パッケージマネージャを利用して、アプリケーションの一覧を取得する。 //IntentにCATEGORY_LAUNCHERを指定しているので、厳密にはランチャーに表示されるアプリの一覧です。 PackageManager pm = getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); List<ApplicationInfo> apps = pm.getInstalledApplications(0); Log.i(TAG, "ApplicationInfo count:"+apps.size()); /* * アプリケーションの一覧の中身に応じて色々処理する。 */ for(ApplicationInfo info : apps){ //アプリケーションにSYSTEMフラグが立っていたら(0000 0001)それはプリインストールされたアプリである。 if((info.flags & ApplicationInfo.FLAG_SYSTEM) == ApplicationInfo.FLAG_SYSTEM) continue; …略…

Read More
Android ソースコード読書会 第4回 Activity.java

Android ソースコード読書会 第4回 Activity.java

というわけで、日本Androidの会福岡支部の中で、Android SDKのソースコードを読む読書会(輪講)を隔週でやってまして、今回は第4回目です。Androidの中心とも言えるActivity.javaのライフサイクルを中心にソースコードを読み進めていきました。担当は @kenz_firespeed さんでした。 android.git.kernel.org Git - platform/frameworks/base.git/blob - core/java/android/app/Activity.java まずはライフサイクルの整理

Read More

Effective Java 読書会 第1回目のまとめだよ。

しかだよ。Effective Javaの読書会を始めたのでブログにまとめてみるよ。 Effective Java この本は中級以上のJava技術者になるための必須本ですね。 Effective Java 第2版 (The Java Series)

Read More
Handler.javaを読む。

Handler.javaを読む。

Androidの勉強会でAndroidのソースコードを読む会を隔週月曜日の夜に行っています。 日本Androidの会福岡支部 Android Study Night : ATND Android Study Night vol.2 : ATND Handler.javaを理解する。 throw Life - AndroidのHandlerとは何か?にadamrockerさんがめちゃくちゃわかりやすくまとめて下さってますので、Handlerに興味が有る方はそちらをどうぞw

Read More
macportsからhomebrewへ移行したよ

macportsからhomebrewへ移行したよ

しかだよ。 macportsだとビルドに大変時間がかかるので、SSDの乗り換えに合わせてhomebrewに移行しました。 http://mxcl.github.com/homebrew/ インストール https://github.com/mxcl/homebrew/wiki/installation 公式サイトにチュートリアルが乗ってるので説明は不要ですね。ですが、僕のxcodeのバージョンが低くて、エラーになりました。 shikajiro-MacBook:~ shikajiro$ brew install git Warning: Xcode is not installed! Builds may fail! ==> Downloading http://kernel.org/pub/software/scm/git/git-1.7.5.4.tar.bz2 File already downloaded and cached to /Users/shikajiro/Library/Caches/Homebrew ==> make prefix=/usr/local/Cellar/git/1.7.5.4 install GIT_VERSION = 1.7.5.4 * new build flags or prefix ./generate-cmdlist.sh > common-cmds.h+ && mv common-cmds.h+ common-cmds.h gcc -o hex.o -c -O3 -march=core2 -msse4.1 -w -pipe -I. -DUSE_ST_TIMESPEC -DSHA1_HEADER='<openssl/sha.h>' -DNO_MEMMEM hex.c cc1: error: invalid option ‘sse4.1’ hex.c:1: error: bad value (core2) for -march= switch hex.c:1: error: bad value (core2) for -mtune= switch make: *** [hex.o] Error 1 make: *** Waiting for unfinished jobs.... ==> Exit Status: 2 http://github.com/mxcl/homebrew/blob/master/Library/Formula/git.rb#L31 ==> Environment /usr/bin/gcc HOMEBREW_VERSION: 0.8 HEAD: (none) HOMEBREW_PREFIX: /usr/local HOMEBREW_CELLAR: /usr/local/Cellar HOMEBREW_REPOSITORY: /usr/local HOMEBREW_LIBRARY_PATH: /usr/local/Library/Homebrew Hardware: dual-core 64-bit penryn OS X: 10.6.7 Kernel Architecture: i386 Ruby: 1.8.7-174 /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby Xcode: GCC-4.0: build 5465 (5494 or newer recommended) GCC-4.2: build 401 (5664 or newer recommended) LLVM: N/A MacPorts or Fink? false X11 installed? true ==> Build Flags CC: /usr/bin/cc => /usr/bin/gcc-4.0 CXX: /usr/bin/c++ => /usr/bin/c++-4.0 LD: /usr/bin/cc => /usr/bin/gcc-4.0 CFLAGS: -O3 -march=core2 -msse4.1 -w -pipe CXXFLAGS: -O3 -march=core2 -msse4.1 -w -pipe MAKEFLAGS: -j2 Error: Failed executing: make prefix=/usr/local/Cellar/git/1.7.5.4 install Please report this bug: https://github.com/mxcl/homebrew/wiki/new-issue

Read More
Androidのシナリオテストツール Robotium やってみた。

Androidのシナリオテストツール Robotium やってみた。

昨日、パプテマス Scirocco 触ってたら中はRobotiumというのを使っていたので調べてみたら、そこそこメジャーなシナリオテストツールだったので、触ってみました。 Robotium とは Androidのシナリオテストを簡単に書けるライブラリです。UIスレッドを意識せずに書けるので、テスト仕様書に近いコードを書くことができます。ブラウザテストツールのSeleniumを意識してるみたいですね。 公式サイト robotium - It’s like Selenium, but for Android™ - Google Project Hosting

Read More