2011年7月20日水曜日

[他]javaのパッケージ名登録サービスを利用する

androidアプリケーションでは、パッケージ名を使って、アプリケーションをユニークにするという仕組みがあります。しかしjavaの実装上、適当にパッケージ名をつけることができます。
また、企業であればドメインを使うのが一般的ですが、じゃあ個人は?といったとき、ちょっと困ってしまいます。で、調べてみると「パッケージ名登録」というサービスが...。しかも無料で利用できます。
サービスの提供元は、財団法人インターネット協会です。公的な団体だと思いますので、個人でアプリ開発してマーケットに登録するような人は1つ持っておくといいかもしれません。

2011年7月19日火曜日

[Android]ScrollViewとHorizontalScrollView

サイズの異なるデバイスの動作確認をしたいとき、小さな画面のデバイスを使うと、画面仕切れません。そこで、縦横にスクロールさせるためにScrollViewとHorizontalScrollViewを組みあわせてコンテンツをスクロールさせることがありました。

しかし、微妙なタッチを認識するのか、たてにスクロールさせようとしているのに横向きのスクロールがヒットしたりして、イライラします。

で、対面に座っている人に、「いいのがアルヨ」と教えてもらったのが、この2DScrollView。コレコレ。こういうの探していたのよ。
クラスも1つだし、Apache License2.0って書いてあるので、比較的使いやすいかも。

2011年7月5日火曜日

[Android]スキーマ起動に対応する

ブラウザのハイパーリンクで何かアクションしたい場合に使えます。
amコマンドでINTENT投げても起動します。えぇまぁ、 AndroidMAnifest.xmlにかくだけですよ。

<!-- xxx://com.foo.bar/appname で起動可能になる -->
<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="xxx" android:host="com.foo.bar" android:path="/appname"/>
</intent-filter>

2011年7月4日月曜日

[Android]AppWidgetからActivityを呼び出したらエラーが...

先日、AppWidgetsを作成していて、ボタンを押下したらActivityを起動するために、ボタン押下でブロードキャストし、AppWidgetProvider#onReceiveで、Context#startActivityしてみると、こんなエラーが...。

java.lang.RuntimeException: Unable to start receiver com.dustroid.dust04.CountDownAppWidget: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

で、調べてみると、Intent#setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)っていう風にする必要があるらしいことがわかった。っていうかメッセージをよく見ればわかるよね。
...英語読めるようになりたいな。