六曜カレンダーRokuCalendarを更新 Froyoに対応しました
Androidアプリ「RokuCalendar」、六曜を表示できるカレンダーアプリ、を更新しました。
Androidの標準予定表、つまりはGoogleカレンダーと同期しています。というかAPIでデータをとっています。
今回の修正は、Android 2.2(Froyo)への対応です。恥ずかしながら最新版OS2.2で動作確認取っていなかったんですが、それが原因のバグがあることに、知人がGalaxy S購入してインストするまで気づきませんでした。
標準のスケジュールを取得するためのAPI(コンテントプロバイダ)は正式には公開されておらず、URIは例えばイベントを取得する場合、Android 2.1以前では
content://calendar/events
のようになりますが、Froyoの場合は
content://com.android.calendar/events
となるそうです。
OSのバージョンを取得するには
Build.VERSION.SDK(またはSDK_INT)
を調べればいいと思います。
参考ページ
http://www.andreabaccega.com/blog/2010/08/09/add-events-on-google-calendar-on-android-froyo/
Microsoft AJAX Libraryでページロード時に実行される関数を登録する
今さらながら重要なポイントなので覚え書き。
Microsoft AJAX Libraryで、ページが全てロード完了後に実行されるハンドラを登録するには
Sys.Application.add_load関数を用いる。
Sys.Application.add_load(function(){ ... });
既定の関数名としてpageLoadを用いると、より簡単に同じ動作を得ることも出来る。
function pageLoad() { ... }
この場合注意が必要なのは、pageLoadとして定義できるのは一関数だけなので、同名の関数定義が複数存在すると、後からロードされたもので上書きされてしまう点かな。ユーザーコントロールなど、複数のスクリプトファイルを用いている場合は要注意。前者の方法のがいいと思う。
六曜を表示するAndroidカレンダー・アプリを公開しました
間ではブログ更新する気力が全然なくて放置してましたが、
androidアプリを一つ公開しました。
android標準の予定と六曜を同時に確認できるカレンダー、RokuCalendarです。(インストール)
個人的に六曜(特に友引)を常に意識しなければならない仕事に就いていて、大分前に(HT-03Aを使っていた頃)六曜を確認できるアプリを自分用に作って使っていたのですが、急に思い立ってあちこち手入れをし、とりあえず完成させました。
特徴は、
- 一ヶ月表示のみ。前後の月への移動は左右にフリックするだけ。
- 各日にちのセル内に出来るだけ沢山予定を表示するようにしました。HVGA機種で4件程度、WVGA機種で5行程度。
- 設定で「5行表示」を選択すると、本当は最大で6行ないと一ヶ月を表示できないのですが、6行になってしまった月は、カレンダーの頭の部分に月の最後の週を表示することで、無理矢理5行表示にできます。こうすると、一日あたりHVGA機種で5件、WVGA機種なら6件の予定を確認できるようになります。
- 表示できない予定がある場合は、その日のセルの右下に小さな赤い逆三角が表示されます。
- 標準で六曜表示、特に友引は色付で表示してます。設定で変更可。
- 一日のセルをタッチすると、その日の予定をダイアログで表示します。さらに予定にタッチするとandroid標準のカレンダーの一日表示を使って確認できます。もちろんそこから編集もできます。
- 予定の新規作成もできます(標準カレンダーの新規ダイアログが開きます)。
- 自分のGoogleアカウントに2つ以上カレンダーがある場合はメニューから表示するカレンダーを(複数)選択できます。
- 予定を追加したりして、Googleカレンダーと本体が同期中だったりすると、予定がすぐには取得できなくてプログレス表示になります。
- また六曜の取得は、1年ごとに最初にその年のカレンダーを表示したときに端末内で計算して行っているので多少時間がかかります。その間は六曜が表示されません。
こちらから各種サイトを通ってインストールできます。
HttpWebRequest使用例
snaptic.comのAPIがRESTで公開されているので、ASP.NETでアクセスする方法。
POST動作について、ASP.NETのHttpWebRequestを使ってサービスにパラメータを投げる方法を http://developer.yahoo.com/dotnet/howto-rest_cs.html#post から抜粋。
// We use the HttpUtility class from the System.Web namespace using System.Web; Uri address = new Uri("http://api.search.yahoo.com/ContentAnalysisService/V1/termExtraction"); // Create the web request HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; // Set type to POST request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; // Create the data we want to send string appId = "YahooDemo"; string context = "Italian sculptors and painters of the renaissance" + "favored the Virgin Mary for inspiration"; string query = "madonna"; StringBuilder data = new StringBuilder(); data.Append("appid=" + HttpUtility.UrlEncode(appId)); data.Append("&context=" + HttpUtility.UrlEncode(context)); data.Append("&query=" + HttpUtility.UrlEncode(query)); // Create a byte array of the data we want to send byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString()); // Set the content length in the request headers request.ContentLength = byteData.Length; // Write data using (Stream postStream = request.GetRequestStream()) { postStream.Write(byteData, 0, byteData.Length); } // Get response using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { // Get the response stream StreamReader reader = new StreamReader(response.GetResponseStream()); // Console application output Console.WriteLine(reader.ReadToEnd()); }
5月8日のつぶやきから
- グリッドUIのワンタッチ発信アプリその二。Contacts Grid 有料だけに、なかなかのもの。MeContactsの機能に加え、並び替えや写真の下に名前も表示出来る。もうこれで十分かも。 http://ow.ly/1IuJm posted at 15:46:44
- グリッドUIのワンタッチ発信アプリその一。MeContacts スター付きとは連携しないものの、ほとんど欲しかった機能が実現。グリッド数も変えられる。並び替えは出来ない(再登録)。 #android #xperia http://ow.ly/1IuE3 posted at 15:43:56
- お気に入り(スター付き連絡先)にアクセスしているアプリって意外に少ない。そんな少ない一つがDialFavsなんだけど、グリッド表示じゃないのが惜しい。でも機能的には一応便利。 #android #xperia http://ow.ly/1IuDa posted at 15:25:33
- 個人的には顔写真をクリック、というUIがいいかなあ。 RT @nbaden: 「お気に入り連絡先」というアプリはどうでしょう?タッチ数は変わらないかもですが… QT @dondoko2009: とりあえず、お気に入り連絡先にアクセス出来る便利そうなアプリ探し中。 posted at 15:21:25
- お、これはなかなか便利ですね!ちゃんと顔写真も出るし。これが標準アドレス帳のスターと自動で同期するアプリがあるとベストなのですが。 RT @gon_w: @dondoko2009 自分も不便に感じてたんで、ホーム画面でショートカット→直接発信。でそれをホーム画面に作ったフォルダ posted at 14:02:39
- とりあえず、お気に入り連絡先にアクセス出来る便利そうなアプリ探し中。 RT @Ricckn: わかる! RT @dondoko2009: #xperia のTimeScapeの持っている連絡先詳細画面は、開くのに重すぎて、とっさに電話するのには全く向いていないんだよ! posted at 13:58:45
- インストしてみました。電話帳としては便利かもしれませんが、少ないタッチでよく使う連絡先に発信するという用途では特別便利ではなさそうです。 RT @washi_taka: @dondoko2009 ワンタッチではないけれど、無料のe電話帳というアプリが便利です。 #android posted at 13:55:43
- #xperia のTimeScapeの持っている連絡先詳細画面は、開くのに重すぎて、とっさに電話するのには全く向いていないんだよ! #android posted at 13:50:36
- #xperiaで電話を掛ける場合、「電話」ボタンを押す、お気に入りまたは連絡先から探す、長押しで「発信」を選ぶか短押しで詳細表示して番号をタッチ、と結構手間かかる。お気に入りに登録した相手の時は一覧表示からワンタッチで発信したいんだけど、そんなアプリないかなあ。 #android posted at 12:28:38
- DropBox使ったほうが便利そうだけど。あと電話帳データはGMailで同期でしょ基本は。 RT @andronavi 『Bluetooth File Transfer』〜データのやりとりを頻繁に行う人へ〜 - http://andronavi.com/2010/05/17833 posted at 11:08:22