How to code multi touch applications
LYNX3D SH-03Cでマルチタッチに反応するアプリケーションを作ってみました。Android2.1以上に対応します。
指でタッチした場所に円を表示します。5本の指まで反応します。
以下サンプルです。
アクティビティー(Main.java)
マニフェスト(AndroidManifest.xml)
それぞれの円は指の動きを追いかけます。
このアプリを作った時点では、マルチタッチは公式には3本指までしかサポートしていないようで4本以上の指を認識するには隠しパラメータを読み取る必要がありました。(onTouchEventイベントの 0x305 とか 0x036 とか)
実際にタッチしている指の数とAPIの値が一致しないので円が一つ多く表示されることがあります。
MotionEventクラスにはdeprecated(非推奨)にされた定数とメソッドがあるのでご注意ください。
詳細は http://developer.android.com/intl/ja/reference/packages.html をご覧ください。
以上、参考になれば幸いです。
2011年11月26日土曜日
2011年11月19日土曜日
[Application] Wi-Fi sync Screen v1.03公開
Androidアプリケーション Wi-Fi sync Screen v1.03 を公開しました。
"Wi-Fi sync Screen"はWi-Fiスリープを解除した端末のバッテリーを長持ちさせるアプリケーションです。
Android端末をWi-Fi接続すると再起動してしまうAirStationなどをお使いの方におすすめです。
詳細はこちら
v1.03での変更点
・安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約(EULA)を必ずお読みください。
Android Market
◆トラブルシューティング◆
Wi-Fi Sync Screenを設定してもAirstationが再起動する(Wi-Fiルーターが誤動作する)場合は、Android端末のWi-Fiのスリープを解除してください。
Recovered from crash の表示について
Android1.6では画面を開いたとき "Recovered from crash"と表示されることがあります。
リソース不足により動作できなくなったWi-Fi sync Screenを回復したことを意味します。
このメッセージが表示される場合は次の対策を推奨します。
・OSを可能な限り最新版にバージョンアップする
・使用していない常駐アプリケーションを停止する
この機能はv1.03で追加されました。
"Wi-Fi sync Screen"はWi-Fiスリープを解除した端末のバッテリーを長持ちさせるアプリケーションです。
Android端末をWi-Fi接続すると再起動してしまうAirStationなどをお使いの方におすすめです。
詳細はこちら
v1.03での変更点
・安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約(EULA)を必ずお読みください。
Android Market
◆トラブルシューティング◆
Wi-Fi Sync Screenを設定してもAirstationが再起動する(Wi-Fiルーターが誤動作する)場合は、Android端末のWi-Fiのスリープを解除してください。
Recovered from crash の表示について
Android1.6では画面を開いたとき "Recovered from crash"と表示されることがあります。
リソース不足により動作できなくなったWi-Fi sync Screenを回復したことを意味します。
このメッセージが表示される場合は次の対策を推奨します。
・OSを可能な限り最新版にバージョンアップする
・使用していない常駐アプリケーションを停止する
この機能はv1.03で追加されました。
ラベル:
Airstation,
Android,
Application
[Android] 新旧のAndroidで動作するServiceの作り方
How to able to run service applications on all OS versions
ServiceクラスのonStartメソッドはdeprecated(非推奨)に指定され、Android2.1以降では使うべきではないメソッドになってしまいました。実際にAndroid2.1以降ではonStartメソッドが呼ばれないことがあります。
代替メソッドとしてonStartCommandメソッドが用意されましたが、Android1.6にはonStartCommandメソッドがありません。
1.6以降のどのAndroidでも同じように動作するサービスアプリケーションを作るには、onStartメソッドとonStartCommandメソッドの両方を実装します。
1.6以降のAndroidに対応させるので、プロジェクトのBuild TargetはAndroid1.6(API Level 4)とします。
以下はサンプルです。
サービスクラス(MyService.java)
Activity(Main.java)
マニフェスト(AndroidManifest.xml)
このプロジェクトを実行するとActivity(真っ黒の画面)が表示されている間だけMyServiceクラスが起動します。
実行するとAndroid1.6ではonStartメソッドが、Android2.1以降ではOnStartCommandメソッドが呼ばれます。
Build TargetにAndroid1.6をしていたい場合は、onStartCommandメソッドはオーバーライドせずに(@overrideアノテーションを書かずに)コーディングします。
Eclipseを使う場合、[ソース]-[メソッドのオーバーライド] メニューを開いてもonStartCommandメソッドは選べません。メソッド名や引数を間違えないようにAndroidリファレンスからコピーします。
onStartCommandメソッドを使う上で特に注意することがあります。
サービスはOSによってrestartされることがあるのですが、restartされたときに呼ばれるonStartCommandメソッドの引数 intent は null です。
(return START_STICKY; と指定した場合)
Android1.6とAndroid2.xとでは、restartされたときの引数の内容が異なります。
また、Android1.6では「No more background processes」によりrestartされてもonStartメソッドが実行されないことがあります。
Android1.6のサポートが難しくなってきました。
以上、参考になれば幸いです。
2011年11月15日火曜日
[Application] お天気ロイド v1.10公開
Androidアプリケーション お天気ロイド v1.10 を公開しました。
お天気ロイドは最新のWeather Hacks(気象データ配信サービス)をホーム画面に表示してくれるアプリケーションです。
v1.10での変更点
・安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約を必ずお読みください。
Android Market
操作方法
Android Walker様にて動画付きの操作方法が公開されました。
お天気ロイドは最新のWeather Hacks(気象データ配信サービス)をホーム画面に表示してくれるアプリケーションです。
v1.10での変更点
・安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約を必ずお読みください。
Android Market
操作方法
Android Walker様にて動画付きの操作方法が公開されました。
2011年11月13日日曜日
[Application] お天気ロイド v1.09公開
Androidアプリケーション お天気ロイド v1.09 を公開しました。
お天気ロイドは最新のWeather Hacks(気象データ配信サービス)をホーム画面に表示してくれるアプリケーションです。
v1.09での変更点
・Android2.xでの安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約を必ずお読みください。
Android Market
操作方法
Android Walker様にて動画付きの操作方法が公開されました。
お天気ロイドは最新のWeather Hacks(気象データ配信サービス)をホーム画面に表示してくれるアプリケーションです。
v1.09での変更点
・Android2.xでの安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約を必ずお読みください。
Android Market
操作方法
Android Walker様にて動画付きの操作方法が公開されました。
ラベル:
Android,
Application
2011年11月12日土曜日
[Android] OSをバージョンアップするとアプリが動かなくなる理由
The reason for being unable to run applications on recent OS
古いOSで動いていたアプリケーションが新しいOSで動かなくなる理由を調べてみました。
最近になってAndroidリファレンスを見たら、過去によく使われたメソッドや定数がdeprecated(非推奨)にされていました。
たとえばServiceクラスのonStartは現在deprecatedにされ、API Level 5(Android2.0)以降に実装されたonStartCommandが追加されています。
Android1.6にも対応させるにはonStartを使いたいところです。
ところがAndroid2.2ではonStartメソッドが呼ばれないことがあるのです。
この挙動の違いが古いOSで動いていたアプリケーションが新しいOSで動かなくなる理由の一つです。
Serviceクラスの他、Intent・Context・Activity・SQLiteDatabase・MotionEventのように頻繁に使うクラスもdeprecatedが散見されます。
deprecatedのメソッドや定数を使ったアプリはOSのバージョンごとに動作が異なる可能性があります。
市販の書籍を参考にしている開発者は要注意です。書籍で紹介されている方法がdeprecatedの可能性があります。
VisualBasic5.0で作られたフリーウェアがWindows7で動いてる姿を見るとOSは互換性を維持することが当たり前に思えるのですが、Androidは違います。
度の端末でも動作するアプリケーションを作るには、アプリをメンテナンスし続ける必要がありそうです。
次回は1.6と2.xに両対応のアプリケーションのサンプルを公開する予定です。→公開しました
以上、参考になれば幸いです。
古いOSで動いていたアプリケーションが新しいOSで動かなくなる理由を調べてみました。
最近になってAndroidリファレンスを見たら、過去によく使われたメソッドや定数がdeprecated(非推奨)にされていました。
たとえばServiceクラスのonStartは現在deprecatedにされ、API Level 5(Android2.0)以降に実装されたonStartCommandが追加されています。
1.6以前
|
2.0以降
|
|
onStart |
動作する
|
非推奨
|
onStartCommand |
実装されてない
|
動作する
|
ところがAndroid2.2ではonStartメソッドが呼ばれないことがあるのです。
この挙動の違いが古いOSで動いていたアプリケーションが新しいOSで動かなくなる理由の一つです。
Serviceクラスの他、Intent・Context・Activity・SQLiteDatabase・MotionEventのように頻繁に使うクラスもdeprecatedが散見されます。
deprecatedのメソッドや定数を使ったアプリはOSのバージョンごとに動作が異なる可能性があります。
市販の書籍を参考にしている開発者は要注意です。書籍で紹介されている方法がdeprecatedの可能性があります。
VisualBasic5.0で作られたフリーウェアがWindows7で動いてる姿を見るとOSは互換性を維持することが当たり前に思えるのですが、Androidは違います。
度の端末でも動作するアプリケーションを作るには、アプリをメンテナンスし続ける必要がありそうです。
次回は1.6と2.xに両対応のアプリケーションのサンプルを公開する予定です。→公開しました
以上、参考になれば幸いです。
2011年11月4日金曜日
[Application] お天気ロイド v1.08公開
Androidアプリケーション お天気ロイド v1.08 を公開しました。
お天気ロイドは最新のWeather Hacks(気象データ配信サービス)をホーム画面に表示してくれるアプリケーションです。
v1.08での変更点
・Android2.xでの安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約を必ずお読みください。
Android Market
操作方法
Android Walker様にて動画付きの操作方法が公開されました。
お天気ロイドは最新のWeather Hacks(気象データ配信サービス)をホーム画面に表示してくれるアプリケーションです。
v1.08での変更点
・Android2.xでの安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約を必ずお読みください。
Android Market
操作方法
Android Walker様にて動画付きの操作方法が公開されました。
ラベル:
Airstation,
Android
2011年11月3日木曜日
[Application] Wi-Fi sync Screen v1.02公開
Androidアプリケーション Wi-Fi sync Screen v1.02 を公開しました。
"Wi-Fi sync Screen"はWi-Fiスリープを解除した端末のバッテリーを長持ちさせるアプリケーションです。
Android端末をWi-Fi接続すると再起動してしまうAirStationなどをお使いの方におすすめです。
詳細はこちら
v1.02での変更点
・Android2.xでの安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約(EULA)を必ずお読みください。
Android Market
◆トラブルシューティング◆
Wi-Fi Sync Screenを設定してもAirstationが再起動する(Wi-Fiルーターが誤動作する)場合は、Android端末のWi-Fiのスリープを解除してください。
"Wi-Fi sync Screen"はWi-Fiスリープを解除した端末のバッテリーを長持ちさせるアプリケーションです。
Android端末をWi-Fi接続すると再起動してしまうAirStationなどをお使いの方におすすめです。
詳細はこちら
v1.02での変更点
・Android2.xでの安定性向上
ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約(EULA)を必ずお読みください。
Android Market
◆トラブルシューティング◆
Wi-Fi Sync Screenを設定してもAirstationが再起動する(Wi-Fiルーターが誤動作する)場合は、Android端末のWi-Fiのスリープを解除してください。
ラベル:
Airstation,
Android,
Application
登録:
投稿 (Atom)