2009-07-28から1日間の記事一覧

Minutes Widget for Android (初音ミクVer) 、1.0.2 リリースしました。

大変長らくお待たせしました。Minutes Widget for Android (初音ミクVer) 、1.0.2 リリースしました。愛用して頂いている方、消費電力の件につきまして大変ご迷惑をお掛けしました。 Minutes Widget1.0.2、本日リリースさせて頂きました。 リリースまでに時…

で、現在の問題点。

で、実はまだ最後で詰まっていて、リリースが出来ておりません。 具体的に言うと、onReceive内からonUploadを呼び出す際に使用するAppWidgetManager appWidgetManagerの取得で詰まっています。んがー、これどうやんだぁぁぁぁぁ。 ※参考URL // Intentに関す…

さらなる問題点!

さらに、普段のActivity等では余り関係してこない、AppWidgetProvider特有の問題があります。通常のActivity等では複数起動はほとんどありえないため、同一クラスが複数存在することは、特殊な設定を行わない限りありえません。しかし、AppWidgetProviderは…

補足しておきますね。

Intentを送り出す仕組み受信側によって、メソッドを変更する必要があります。 たとえばActivity以外との通信の場合、startActivityではだめで、startBroadcastを使う必要があります。今回のようにAppWidgetProviderとの通信の場合は当然startBroadcastが必要…

ここまで、上手く辿りついたみたいですが・・・

実際には細かくあちこちで躓いています。サンプル量の問題などから汎用のactionでテストしようとandroid.intent.action.VIEWとかを定義し、動作を確認していたんですが、ACTION_APPWIDGET_ENABLED / ACTION_APPWIDGET_UPDATE / ACTION_APPWIDGET_DISABLED / …

androidではIntentを受信するにはIntent-filter定義が必要です。

さらに、無事にIntentを発信出来たとしても、受け側がきちんと出来上がっていないと、受け取る 相手のいないラブレターを永遠に書き続ける人になってしまいます。 うちのミクがそんなことになったらちょっとさみしいので、きちんとミク自身の中に受信先を定…

明示的InterntをPendingIntentを経由して使う

今回のようなケースでは、受信側のクラスが指定されるので、明示的Intentで書く必要があります。 でも、それだけではなくて、生成したIntentをそのままアラームやボタンに定義はできません。 アラームやボタンにインテントを仕掛けるには、PendingIntentへ組…

おさらい、終わり。

でも、正直言って、これだけで済むんなら週末にはリリース出来てました。

とはいっても・・・。

まあ、ここではコンストラクタで区別できる書き方で書きましたが実際にはIntent intent = new Intent(); intent.setClass(this, DataListactivity.class) intent.setAction(Intent.ACTION_VIEW); intent.setData(uri); startActivity(intent); なんて形で中…

ついでにサンプルも用意してみました。

明示的Intentの例: // データ定義 Uri uri = Uri.parse(“http://google.com”); final String str = "Message!"; // Intentの生成処理 Intent intent= new Intent(this, DataListactivity.class); intent.setAction(Intent.ACTION_VIEW); intent.setData(uri…

というわけで、まずおさらいとして明示的Intentと暗黙的Intentの違い。

明示的Intent ⇒ クラス指定が存在し、どのアプリに対するインテントであるか明確であるもの。 Intent生成時或いはその後に設定されたクラスを起動し、必要であれば値を渡す。暗黙的Intent ⇒ クラス指定を伴わないIntent。 全てのインストール済みアプリの中…

翻訳を抜粋して意訳すると、

実際のonUpdateは、指定された時間ぴったりに起動するとは限らないし、出来るだけまれに バッテリーのためには1時間に1回程度で - アップデートする事を提案します。 メモ: デバイスがスリープ状態にあったとしても、(updatePeriodMillisの定義通り)アップ…

お、行けるじゃん。

と、思ってみていたら、Dev GuideのFramework TopicsにあるApp Widget項目の中に下記記述が。The actual update is not guaranteed to occur exactly on time with this value and we suggest updating as infrequently as possible—perhaps no more than on…

解決方法を考えた。その2

色々考えながらAndroid developpersを読み漁って居たところ、1)AppWidgetProviderはBroadcastReceiverの子クラスで、onReceiveが使える。 2)そもそも、onUpdate自体、ACTION_APPWIDGET_UPDATEのIntentの専用レシーバにすぎない。 3)ということは、/res…

解決方法を考えた。その1

最初は現在最前面にHomeがある場合、というのを取得出来るんじゃないだろうか、と期待して 検索してみたんですが、この方法は1発でダメとのこと。 ここでちょっと行き詰りました。

参考資料として具体的に説明します。

で、なんでこれが必要なのか。 それは省電力対応のAppWidget対応のためです。現在の多くのAppWidgetProviderをベースにしたウィジェットは更新周期をres/xml/*.xml側の android:updatePeriodMillis定義によって更新作業を行っています。 これは、更新の周期…

思ったより、省電力対応の作りにするのに時間かかっている件

すいません、週末に終わらせるつもりが、1.0.2、まだ出せていないです。 何に時間が取られているかというと、Intentによるウィジェット間での通信処理が原因です。と言っても、Intentによる連携自体は 割とネット上にも本等の資料にもあります。 ただし、そ…