2012年2月12日日曜日

Smart Extras™ 、Smart SDK で謎の例外


なんでしょうねぇ。。。 たまぁーにでてるんですよねぇーーー。
エミュレータだからかなぁ????
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1096)
Caused by: android.database.sqlite.SQLiteException: database is locked
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
at android.content.ContentResolver.query(ContentResolver.java:250)
at com.sonyericsson.extras.liveware.extension.util.notification.NotificationUtil.querySources(NotificationUtil.java:517)
at com.sonyericsson.extras.liveware.extension.util.notification.NotificationUtil.getExtensionSpecificIds(NotificationUtil.java:272)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.registerOrUpdateSources(RegisterExtensionTask.java:258)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.registerOrUpdateExtension(RegisterExtensionTask.java:157)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.doInBackground(RegisterExtensionTask.java:114)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.doInBackground(RegisterExtensionTask.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 4 more

2012年2月11日土曜日

Gmail Notifier - Smart Extras™ 、SmartWatch の Gamil 通知 をマーケットに公開しています。

Gmail Notifier - Smart Extras™
Gmail Notifier - Smart Extras™ をマーケットにコミットしました。 http://goo.gl/Ac8Pt

とりあえず、とにかく「Sony Ericsson "SmartWatch Meeting 2012"」までにコミットしておきたかったのです。。。
私は残念ながら関西在住なので参加できませんが、きっとmeeting で、smartwatchを先行して手に入れた方が必要としてくれるはず。。。。使ってみてくれるはず。。。。。





基本的に仕様は、Liveviewの poor Gmail Notifier と同様で、各アカウントのパスワードを入れた場合、着信があると、GmailのAtomFeedを読みに言って、FromとSubjectを通知する仕掛けになっています。
パスワードが設定されていないアカウントや、通信状態に問題があってAtomFeedを読めない場合は、着信があったことと未読数のみの簡易通知になります。

ちょっと気になったのが、smartwatch はBluetooth3.0対応と言うことで、2.1に比べて通信速度があがっているんだと思います。
しかし、現状発売されているスマホはすべてがBluetooth3.0に対応しているわけではありません。
ハード面での進化もあり、smartwtach側の表示がTimeScape風にできる(背景画像を送れる)んですが、これ、2.1だとどうなんだろう???と思っています。
通知されてなんぼ、のウェアラブルデバイスだとおもっていますので。

あと、背景画像を設定すると、文字が見にくい。。。。


とかなんとか思いにふけっていますが、正直実機をさわらないことには。。。。

あー早くほしい。。。。。

2012年2月1日水曜日

poor Gmail Notifier Extension for SmartWatch


poor Gmail Notifier Extension for SmartWatch
と言う訳で、SmartWatch でも当然スマートなGmailの通知はまずは必要だろうということで、LiveView版からの移植作業をしています。

とりあえず、エミュレータでの動作確認は完了。

しかし、無骨なエミュレータですw

全く実機のイメージがつかめません。



ところで、SmartWatchのSDKですが、Liveviewのものとは全く互換性がありません。

Smart Extension SDK      LiveView micro display SDK


よって、LiveViewのPluginをSmartWatchで利用したいと言う場合、移植が必要になります。めんどくさい。

今回SmartWatchのSDK、Notification部分を見ることになりましたが、Liveviewと違って、アプリがServiceとして常駐していなくてもブロードキャストで起動されて動作するくさいです。
これはタスクキラー系アプリにkillされるとあっさり動かないLiveviewから大きな進化です。

Bluetoothの接続部分はExtension側とは切り離されているようで、ソニエリが用意しているcontentProvider(DB)へ書きこむと、SmartWatchに通知が行くようになっている雰囲気です。
これも、Bluetoothが不安定な状態でのアプリのフリーズなんかが起こりにくそうなので、うんうんな感じになっています。

なんだかAndroidの特徴フル活用な仕掛けになっているように感じますね。(良い事です。)

ま、想像はふくらみますが、何にしろ実機を手に入れないことには・・・と言うところです。