Android App ウィジェットの更新頻度について要点だけ

updatePeriodMillsの最低間隔は30分 updatePeriodMillsによる更新はデバイスの復帰状態を解除する。要注意。 もっと短い間隔で更新したい場合はAlarmManagerを使う。こっちはスリープも有効。 Android ウィジェット開発の要点だけに書いたとおり、Android ウィジェットの更新はAppWidgetProviderInfoのupdatePeriodMills間隔で行われることになっている。ただし、この更新は端末がスリープも解除して行ってしまうため、あまり頻繁に行う事は推奨されていないし、実際30分より短い間隔でonUpdateは呼ばれないらしい(設定値が無視される)。 これはデバイスのバッテリー消費を抑えるためでごもっとも。望ましくはユーザに更新間隔を設定させるUIも必要かもしれない。 仮に30分より短い間隔で更新を行いたい場合にはAlarmManagerからIntentをコールするような方法を使い、こちらはスリープ中にデバイスをウェークアップさせてしまうことはない(でも操作中はバックグラウンドで動作してしまうから、やっぱり過度な更新は控えるべきなんだろう)。 AlarmManagerを使った更新のやりかたは別途まとめるつもり。

Androidロードマップの要点だけ

POST時点でのロードマップを整理してみるテスト。必ずしも正式発表のものだけではないことに注意: ・リリース済み 2010年1月 2.1 スマートフォン用 API Level 7 2010年5月 2.2 Froyo スマートフォン用 API Level 8 高速化(JIT)/Flash 10.1/Web版Android Market(OTAインストール)/etc 2010年11月 2.3 Gingerbread スマートフォン用 API Level 9 NFC/センサ(ジャイロ、コンパスetc)/フロントカメラ 2011年2月 2.3.3 API Level 10 マイナーリリース。 2011年2月 3.0 Honeycomb API Level 11 タブレット用 ホログラフィックUI/新しいアニメーションフレームワーク/Hardware-acceralated Graphics/マルチコアCPU ・未リリース 2011年後半? 4.0? Ice Cream スマートフォン用とタブレット用が統合される見込み http://developer.android.com/intl/ja/sdk/android-2.1.html http://developer.android.com/intl/ja/sdk/android-2.2.html http://developer.android.com/intl/ja/sdk/android-2.3-highlights.html http://developer.android.com/intl/ja/sdk/android-3.0-highlights.html#DeveloperApis

Android ウィジェット開発の要点だけ

(参照:http://developer.android.com/guide/topics/appwidgets/index.html) 概要 App Widgetとは、他のView(典型的にはHome画面)に埋め込まれる小さいアプリケーション。 構成要素 (1)AppWidgetProviderInfo:XMLで定義。レイアウトや更新頻度などを定義する (2)AppWidgetProvider:updated(onUpdate)/enabled(onEnabled)/disabled(onDisabled)/deleted(onDeleted)なとき、このクラスを介して処理を行う。このほかonReceiveメソッドも利用できるが通常不要。onUpdateはupdatePeriodMillis間隔で呼ばれる。 (3)View layout:Widgetのレイアウトを定義する。使えるレイアウトやウィジェットに制限がある(RemoteViews) 手順 AndroidManifest.xmlにAppWidgetProviderのreceiverを定義する。このときintent-filterはandroid.appwidget.action.APPWIDGET_UPDATE。meta-data要素としてAppWidgetProviderInfoリソースのxmlを指定する。AppWidgetProviderInfoで指定できるのは幅(android:minWidth)高さ(android:minHeight)更新頻度(android:updatePeriodMillis)レイアウト(android:initialLayout)および設定用のActivity(android:configure)。 App Widget Configuration Activity App Widget Configuration Activityは通常のActivityとして定義するが、intent-filterとしてandroid.appwidget.action.APPWIDGET_CONFIGUREを設定する。 そのうえでこのActivityはAppWidgetProviderInfoリソースで宣言される。WidgetがConfigurationActivityを使うとき、このアクティビティはWidgetの状態/設定を更新する責任がある。これはAppWidgetManagerのupdateAppWidgetメソッドを介して行う。

Android Content Providerの要点だけ

http://developer.android.com/intl/ja/guide/topics/providers/content-providers.html 1.アプリ間でデータを受け渡す仕組み。これ以外には無い。 2.android.providerパッケージで標準のContentProviderを見ることができる 3.permissionを宣言しないといけないものもある 4.独自のものを作ることも可能。その場合、ContentProviderをサブクラス化する。 5.データモデルは1行1レコードのシンプルなデータベース 6.データセットにはURIが対応する。CONTENT_URI定数をチェックすれば分る。 7.典型的な形式はcontent://com.example.transportaionprovider/trains/122。  - スキーム部分(content:は固定)  - ドメイン部分はauthorityを示す。カスタムの場合、Manifestのandroid:authoritiesアトリビュートで宣言されるもの  - パスの部分はデータ種別。0~複数セグメントがあり得る。  - 末尾はレコードの_ID値 以下のブログとかを見ると、Content URIはOSバージョンとかメーカーとかで違っているケースがありそうなので要注意。 Android 2.2 のカレンダーContentProvier に対応http://d.hatena.ne.jp/rmiya/20100725/1280028729

EKEvent howto: 設定できる項目

Event Kit Programming Guideからのメモ。 プログラムからEKEventを作成するときに設定できる項目は以下。 ・タイトル ・開始および終了日時 ・カレンダー:新規作成は不可で、既存のもののみ。  カレンダーはEKEventStore.calendarsでEKCalendarのNSArrayが取得できる。もしくはEKEventStoreインスタンスのdefaultCalendarForNewEnents。 ・繰り返し設定。EKRecurrenceRule。 ・アラーム:EKEventにaddAlarm:(EKAlarm *)alarmできる。 以上を設定した上で、EventStoreのsaveEvent:span:errorインスタンスメソッドを呼んであげる。

Xcode 4 howto: フレームワークの追加

Xcode 4で既存のフレームワークを追加する方法です。 1.Project Navigatorを開く 2.ターゲットのアイコンを選択  そうするとSummary/Info/Build Settings/Buid Phases/Build Rulesというタブがエディタエリアに表示される。 3.”Build Phases”を選択 4.”Link Binary With Libraries”を選択 5.”+”を選択 6.ダイアログでフレームワークの一覧が表示される。ここから選択して”Add” 7.Project Navigatorにフレームワークが追加されます。 ちなみにAdd Files…でフレームワークのフォルダを直接指定しても追加されるみたい。

地震救援情報まとめ:茨城関連

ケータイの方はこちらからご覧下さい http://bit.ly/hrmI6N できるだけ掲載しますので、追加修正などあれば、 http://twitter.com/h_kurosawa まで、またはコメント欄に記入お願いします。 茨城県>義援金・寄附金をお寄せいただく場合の窓口ご案内 http://www.pref.ibaraki.jp/important2/20110311eq/20110318_13/ 【茨城県ボランティア募集】 茨城県のボランティアセンターは県内各地の避難所で食事を準備したりするボランティアのスタッフを募っています。センターでは午前8時半~午後9時までの間電話を受け付けていてボランティアを求めている避難所を紹介しています。029-241-1133 以下の市町でボランティアを募集中。常総市、鉾田市、笠間市、小美玉市、潮来市、東海村、那珂市、石岡市、常陸大宮市、日立市、行方市、牛久市、鹿嶋市、大洗町、常陸太田市。受入は各市町村在住者のみ。詳細は下記URLまで http://bit.ly/dK1QpQ (@Asahi_Shakai) 水戸市は災害ボランティア活動対策本部を設置したとのことです。問合せは、市民会館203号室(福祉総務課)又は水戸市社会福祉協議会ボランティアセンター電話029-309-5001/メール syakyo@mito-syakyo.or.jp /受付8:30-18:00 日赤県支部029(241)4516は、震災義援金を同支部のほか、各市町村の赤十字担当窓口で受け付け。振り込みの場合は郵便局、ゆうちょ銀、常陽銀本店、筑波銀県庁支店、県信組県庁前支店。19日午後5時までに77件約3883万円受け付け(@ibarakishimbun) つくば市/物資は直接、避難所に持ち込むのではなく、まず、市災害対策本部(029・854・8522~8526)に電話して、支援できる物資と数量を登録してください。その後、市が必要に応じて支援者に連絡します。つくば市は、ボランティアも、市ボランティアセンター(029・883・1360)に連絡して登録し、調整してから活動するよう呼びかけています。(@Asahi_Shakai) 総務省:東北地方太平洋沖地震に関するチェーンメール等にご注意ください。 http://www.soumu.go.jp/menu_kyotsuu/important/kinkyu01_000096.html ■東北地方太平洋沖地震、ネット上でのデマまとめ http://d.hatena.ne.jp/seijotcp/20110312/p1 限られた情報の中ではデマが蔓延しやすいです。落ち着いて判断・行動してください。 メディア 茨城放送 水戸局 1197kHz / 土浦局・県西中継局 1458kHz 茨城放送Twitcasting…