2009年7月24日金曜日

英語ロケールでヨミガナが使いたい(3)

Google Contacts Phonetic

前回英語ロケールのままでも連絡先に「よみがな」がでるようにしました。でも入力するのがメンドクサイな~と思っていたら、いつのまにかPCのほうのContactsに「Name (phonetic)」というカスタム・フィールドがでていて、ここによみがなが!

でも!PC側で入力した内容はandroid側に反映されません(涙。android側で入力した内容は、しばらくするとPC側にも反映されます。む~。

そういえば連絡先に写真を登録してもPC側で見えたり見えなかったりする(同期はちゃんとしてます)のがなんだか不思議だーと思っていたら、chromeだとちゃんと見えました。ふむふむ。

DBに登録したくないメディアファイルを除外する方法

opensource androidのissuesをつらつら眺めていたらベンリそうなTipsが載っている案件がありました。「Music.apkが読み取るパスを設定できるようにしたい」。androidではSDカードを挿すと、その中に入っている音楽や動画などのメディアファイルを自動的に検索してDBに登録します。音楽プレイヤーアプリはそのDBを参照して曲の一覧を作ります。ところが通話録音アプリなどを入れていると、そのデータまで一緒にDBに登録されてしまうのでランダム再生をしていたりすると いきなり会話が始まったりしてビックリすることがあります。

ということで android.comな人がTipsを書いてくれていました:
検索対象外にしたいフォルダはフォルダ名の先頭に「.(ピリオド)」をつける。もしくはフォルダ中に「.nomedia」というファイルを作って置いておく。そうすると検索対象から除外されるようになります。

通話録音アプリは自前でファイルの置き場所を管理しているので録音したものが再生できなくなることはありません。私の端末では他にもコミックビュワーのデータなどがGalleryに出てきてしまっていたので、こちらも除外しておきました。

#本当はそれぞれのデータが「何のデータなのか」という属性をつけられるようなので、それをつけることで制御をしたいところです。そうすれば音楽再生中に着信音が再生されるのも回避できるかなぁとか。どうやったらできるんだろう。

2009年7月18日土曜日

英語ロケールでヨミガナが使いたい(2)

前回、xmlを差し替えたらPhonetic欄はでてきたけれどもソートには反映されません><。となったところで。結局ソースを直しました。直すと言っても日本語ロケールだったらなんたら~と決めうちで書いてある部分の条件を外して、どのロケールでも日本語前提の処理が走るようにしただけです。

Phonetic on English Locale resolved

画面はこんなん。坂本、志村、高島、というような並びになりました。ヨミガナが入っていない愛川さんは後ろの方にあるので、ちゃんとソートが効いていることがわかります。スクロールしたときに右側にでてくるバーもひらがなとカタカナのインデックスがでるようになりました。

あとはヨミガナがまだ同期してくれないので、なにか簡単な入力方法があればなー。Contacts.dbをPCで弄るのがいいのか、携帯側でガンバッテ入力するのか、待ってたらそのうちGoogle Contactsが読みにも対応するのか……。悩ましいところです。

2009年7月14日火曜日

英語ロケールでヨミガナが使いたい

まぁ、そんな人はレアだと思いますが。私が使用しているのはGoogle Deverlopper Conferenceモデルです。当然ながら英語ロケールしか入っていません。でもでもやっぱり連絡先ではヨミガナが使いたい。ヨミガナでソートしたい。ということで試行錯誤中。

Phonetic on English Locale

contacts.dbを見てみると英語ロケールで作ったDBでもPhonetic nameは存在しています。データを入れたら勝手に表示されるかと思いましたがダメ。ってことはアプリ側の処理?

エミュレータから引っ張ってきたContacts.apkの中身を見てみると、リソースに layout-ja-fingerというフォルダが。中には「edit_phonetic_name.xml」と「view_contact_name.xml」が。layout-fingerフォルダにも同じファイルがあって、こちらは英語デフォルト用のようす。ということで layout-fingerの2ファイルをjaのものに差し替えてみたところ英語ロケールでもPhonetic欄がでてきました。わーい。


と、思ったらヨミガナでのソートが効いてません…。


ヨミガナを入れたり入れなかったりしているデータを使ってエミュレータで比較したところ、ロケールによってソートキーが変更されているようです。これはもっとちゃんとContactsのソースから直さないとダメっぽいですねぇ……。ということで続きは週末にでも。なんて言っているうちにオリジナルの連絡先アプリとかどなたか作って発表されそうですが…。

2009年7月13日月曜日

HTC Magicで使っているアプリ紹介(2)

※flickrに飛んでもしょうがないよ!という意見をいただいたので画像クリックを cyrketへのリンクに修正しました。

Phone Recorder
Phone Recorder - 通話内容を自動的に録音するアプリ。といっても内蔵マイクで録音するので相手の声はほとんど聞こえません。(スピーカーホンにすれば録れます)。自分の声だけでも何を話したかのメモには役立つので入れてます。マーケットから。


Places Directory
Places Directory - Google謹製の近くの○○探しますアプリ。Google mapで検索しても似たような感じになりますが、こちらは「レストラン」などの分野でひけます。食べログなどのレビューも勝手に拾ってきます。このへんでどっかお昼を~なんてときに便利です。マーケットから。


Rings Extended
Rings Extended - これは定番。なぜか特定の音しかアラームや着信音にできない制限を取っ払ってなんでも使えるようにしてくれます。マーケットから。


RpnCalc
RpnCalc - 一部の人には必須のアプリ。RPN式の電卓アプリです。私もないと困ります><。マーケットから。


SBankNotify
SBankNotiry - これまた一部の人にはものすごく便利なアプリ。iPhoneでも愛用してました!マーケットから。


Spare Parts
Spare Parts - なんでスペアパーツなのかわかりませんが、どのアプリが通信をいっぱいしてて、どのアプリが起動してる時間が長くて、という記録分析を勝手にやってくれます。ああ、こいつが通信過多ぎみだから電池がもたないんだ~、通信の間隔をあけよう。なんて感じで使えると思います。マーケットから。


Scrobble Droid
Scrobble Droid - Musicで聴いた曲をlast.fmに履歴として投げるアプリ。last.fm愛用ならば。マーケットから。


SnapPhoto
SnapPhoto - いわゆるカメラアプリ。加速度センサーを利用して動きが止まった!という瞬間を狙ってシャッターを切ってくれる機能が便利です。以前はシャッター音オフの機能もありましたがいつの間にか廃止に。マーケットから。


Task Manager 1.6
Task Manager 1.6 - タスク切り替えとタスク終了操作ができるアプリ。先日のバージョンアップで複数のアプリをまとめて終了もできるようになりました。WinMoとは違うのでそんなにコマメニ終了とかは必要ないかもですが気分的に。マーケットから。


Steel
Steel - 定番のBrowserリプレイス。UIが標準とはダイブ違うので、ちょっと戸惑うかも。UA偽装機能があるのでBrowserで見に行くとPCサイトに飛ばされてしまう場合などに「iPhoneのフリ」をして見に行ったりするのに便利。マーケットから。


tetherBlu
tetherBlu - 実験中のアプリ。えーと、Bluetooth経由でPANしてティザリングするアプリです。まだちゃんと動いてません。どっちにしてもroot権限必須。マーケットから。


Wireless Tether for Root User
Wireless Tether for Root User - こちらもroot権限必須のティザリングアプリ。実験中。


Twidgit Lite
Twidgit Lite Home
Twidgit Lite - Twitter Widgetです。最近10件の更新を勝手に拾います。ちょっとしたチェックをしたり、ぱっとtwitするのに便利。機能自体は限定的です。


といったところがいま使用している主なアプリ。開発中アルファのものなどは省略しましたが結構増えてますね。Widgetあたりの増加が最近特に著しいようです。つ、疲れた……。

HTC Magicで使っているアプリ紹介(1)

HT-03Aも出たことですし、いまやっとかないと!なネタっぽいので出遅れた感もありつつアプリ紹介をします!

※flickrに飛んでもしょうがないよ!という意見をいただいたので画像クリックを cyrketへのリンクに修正しました。実機はそこからさらに2次元バーコードでマーケットを開くと便利です。

AndFeed
AndFeed - 開発中のAndroid用FriendFeedアプリ。興味のある方はFriendFeedのAndFeedグループまでどうぞ。


AndroidIRC
AndroidIRC - 習作版?のAndroid用IRCプログラム。ISO-2022-JPに対応しています。ちょっと不安定なところもあったり。試したいかたはAndroidIRC Wikiまで。


Backgrounds
Backgrounds - 背景画像をflickrからカテゴリ別に探し出してくるアプリ。これは似たようなのもいっぱいありますね。マーケットから。


Barcode Scanner
Barcode Scanner - 定番のバーコード・スキャナ。日本の2Dバーコードも読めます。オートフォーカスがあると読み取りもラクラクですね。マーケットから。


aTrackDog
aTrackDog - アプリの更新状況をトレースして教えてくれるアプリ。開発者自身が登録することで、マーケット以外での更新も拾ってきます。更新作業自体も「マーケットから」「作者のサイトから」など選択可能。必須アプリです。これ自身はマーケットから。


Better Terminal Emulator (Cupcake)
Better Terminal Emulator(Cupcake) - Terminalの高機能版。有料版もあります。画面周りが整備されていてGoogle謹製のものより使い勝手が良いです。が、日本語キーボードだと入力できない問題は健在。マーケットから。


Battery Status - Free
Battery Status - Free - 画面左上に「41」と表示しているのがこれです。ひとめで数字で見えるので消耗具合がすぐにわかって便利です。マーケットから。


Carrom 3D
Carrom 3D - エアホッケーとおはじきを組み合わせたようなゲーム。androidでも3Dが動くんだ!というのを初めて見ました(笑。マーケットから。


CouponMap
CouponMap - クーポンマップは日本製ですね。付近のクーポン利用可能なお店情報を表示してくれます。マーケットから。


Continuous Shoot
Continuous Shoot - 多少画像サイズが小さくなりますがぱらぱらマンガのように連続で写真を撮るアプリ。注意しないとブレまくりでさっぱりわからないです。動画より軽い?マーケットから。


JS Weather
JS Weather - 天気予報Widgetです。日本にもいちおう対応。天気予報Widgetは山のようにあるんですが、日本にも対応しているのは、まだあまりないようす。マーケットから。


MarketEnabler
MarketEnabler - 「market制限の回避について(market-enabler)」で紹介したツールです。使用にはroot権限が必要です。


K-9
K-9 - email互換のメールアプリです。純正のemailの不具合やUIがイマイチなところも修正済み。純正emailアプリとは併用できないので注意。まぁ、こっちを使えばいいと思いますが。マーケットから。


NewsRob
NewsRob - 「便利なGoogle Readerアプリ、NewsRob」で紹介したRSSリーダーアプリ。便利です。マーケットから。


とりあえず折り返し。続きは(2)へ。

2009年7月12日日曜日

便利なGoogle Readerアプリ、NewsRob

newsrob_articles

androidで愛用しているアプリにNewsRobというアプリがあります。これはいわゆるGoogle Readerと連携するフィードリーダーです。オフライン機能もついていて、事前取得キャッシュの範囲も「タイトルだけ、RSS本文全体、リンク先のwebページまで」と設定ができたりするところが便利です。

で、たまにRSSには「さわり」だけしかなくて続きはwebでみたいなページがあるわけですが、その先は通常のPC向けのサイトだったりしてレイアウトやボリュームが大きかったりと、android携帯から見に行くと必ずしも見やすくない場合が多いです。ということで「リンク先をbrowserで表示」にしたときにGoogle web proxy経由で見に行くって設定できませんか?と作者のかたにリクエストをしていたら他にも要望があったらしく実装してもらえました :)

Browsing via Google mobile proxy

現在はまだ設定UIを作成中ということですが、早く使ってみたい!という人は sdcardのルートに newsrob.debugという名称のテキストファイルを作って
prefixUrl=http://www.google.com/gwt/n?u=

と中身に記述することでプロキシが適用されるようになります。

いまのところ、外部への転送全てに適用されてしまうので「メールでリンクを送信」なんて場合にも頭についてしまいますが、このあたりは正式版では修正されるでしょう。


3Gで接続していると言っても、PCを前提としているレイアウトや大きな画像をandroidで見るのはツライものがあります。Google mobile proxyを経由することで、携帯に合うように画像サイズやレイアウトが修正されて、かつ縦にながーいサイトも分割して送られてくるのでサクサクサイトを参照できるようになります。便利です。


#bookmarkletが使えれば、browser側で「いま開いてるURLを Google mobile proxy経由にする」なんて処理ができるんですが・・・。間に経由して「Google mobile proxy経由にしますか?しませんか?」を選べる経由アプリを作るというのもいいかなぁ…。

2009年7月11日土曜日

market制限の回避について(market-enabler)

market-enabler

前に「market制限の回避について」でリンク先としてmarket-enablerのURLを載せてました。そのときは、うちの環境ではうまく動いてくれていなかったので手動での対応をしたんですが、いくつかイジってちゃんと動くようになったのでそのメモ。

参考になるのはmarket-enablerの動作について書いてあるcode.google.comのwiki。いまのバージョンは execで実際にsuを発行してコマンドをベタで投げているようです。うちの端末で動かしながら見てみたところ、setpropでの値の設定までは流れてましたが最後の2行で引っかかってました。それぞれ:
kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)

こっちは trと cutが存在したいないのでエラーに。→ 別途導入済みの busyboxに入ってるので、それぞれリンクを作成。なおpsは toolboxの出力を前提にしてるので busyboxのほうにリンクし直してたりするとうまく行きません。
rm -rf /data/data/com.android.vending/cache/*

こちらは rmが toolboxのものだと -fオプションがなくてエラーに。busyboxのものと差し替えました。

ということでボタン一発でSIMカードの認識がT-Mobileの値に書き換わってUSマーケットの有料アプリも一覧にでてくるようになりました。ソース公開されてるのでテキトウに作り直してしまってもよいかもですね。T-mobileではなくてEUのvodafoneにすればEU限定のアプリも見えるようになりますし。

2009年7月8日水曜日

アプリの切り替えが遅くなった気がします(2)

memory usage

まだ1日ですが体感で明らかに分かるほどの改善が見られました。そういえば使い始めたばかりのころはこんなだった!というのを思い出したり。たんにアンインストールした特定のアプリが悪かっただけという可能性もあるので継続してようすを見ていこうと思います。

なお、どうしてもアンインストールしたくないWidget・常駐ものもあるわけで。そういうものはできるだけメモリ確保量の少ないモノを選ぶようにするべきな感じ。

ということでこんなアプリあるといいなぁ:
  • メモリ消費量が少ないよ!な天気予報Widget。今使っているJSWeatherはvsize 90000ぐらい。
  • 標準のカレンダーWidgetより表示量が多いカレンダーWidget。マーケットで見つけたQuickCalendarは要件を満たしてたけど vsize 1万~2万も(涙
  • psで見るのは面倒なので、vsizeを見ながらタスク終了・切り替えができるアプリ。

正直、このvsizeを目安にしていいのかどうかは よくわかりません。どれも表示する値が妙に多いような気がするし、容量よりも動作のしかたやアプリの作り方の方が影響しているのかもしれません。そのあたり、もうすこし追っかけてみる必要があるようです。。。

2009年7月7日火曜日

アプリの切り替えが遅くなった気がします

free your memory

調子に乗ってWidgetを沢山入れていたら、何となくアプリの切り替えが重くなってきたような気がします。ホームに戻ってもアイコンが表示されるまでに時間がかかったり、アプリ一覧を出してもアイコンがバラバラと表示されていったり。文字入力もキーが効き始めるまでに間がだいぶあったり。

WindowsMobile的な考えで
  • 再起動してみる
  • 使っていないアプリをいちいち終了させてみる
をやってみてもあまり効果なし。プロセスや空きメモリの変化を眺めてみると、もともとけっこう目一杯までメモリは使用されていて、アプリが上がってくるのに合わせてクルクルと終了・起動が裏で調整されているようす。正常に調整が行われていれば、切り替えでそこまで待つというのもないような気がします。

ということで仮説:
  • Widgetや常駐系のアプリは「居座ろうとする」のでは?

プロセスを眺めていると、ホームにいるようなWidgetやバッテリ動作監視などの常駐系アプリは常にリストにいてメモリを確保しています。「メモリきつくなってるから終了して交代してもいい?」と聞かれても、こういったアプリは場所をあけてくれなさそうです。ということは、そういった「居座る」感じのプロセスが増えるとやりくりがタイヘンになって、その結果切り替えがモタツクようになるのでは?という仮説。


まぁ、正直、眺めて思っただけで検証が足りないので、いくつか常駐系のアプリをやめてみて、様子を見てみようと思います。う-。

【参考】「24時間くらい経つと動作が遅くなってきます」http://androidcommunity.com/forums/f7/slowness-after-around-24-hours-20827/

2009年7月5日日曜日

androidで曲名を正しく表示させる方法

Magicを使い始めて困ったことのひとつに転送した「曲名が化ける」という問題があります。化けたままにしておくのも気持ちが悪いので化けない設定を探してみました。ちょっとステップが長いですが要は「ID3v2.3 UTF-16」にするということです。手順は以下の通り:

  • Mp3Tagの設定で「Write: ID3v2, UTF-16」を選択。他はお好みで。
  • 化けちゃってるファイルを開いて、全選択した上で上書き保存。見た目は変わりません。
  • 確認のためにSTEPで「ファイルの種類」をチェック。「ID3v2.3 UTF-16」になっていればOK。(STEPでも「オプション」-「プラグイン設定」-「STEP_mp3」-「設定」-「その他」で保存形式を v2.3 UTF-16にすればいけるかも。未確認。)
  • iTunesに変更を反映するため、曲を選択して「プロパティ」を開く。開くだけで再読み込みして変更が反映されます。沢山あるときは ALT+Nを押しっぱなしに。
  • できあがったファイルをandroid端末に転送。私はdoubleTwistを使っています。doubleTwistの場合は同期が終わった後に「HTC Android Phone」のMusicを選択した状態で曲名などが化けてなければOK。

以下、画像:

Mp3tag Settings
Mp3Tagの設定画面

STEP result
更新が反映されているかどうかSTEPで確認

iTunes Settings
iTunesで曲のプロパティを開いて変更を反映

doubleTwist
同期後にMusicで、ちゃんと曲が表示されているかどうかを確認


doubleTwistは、さりげなくDRM曲も解除して転送してくれるのでiTunesに曲を買い込んでる人には違う意味でも便利かもしれません。 この機能はなくなったようです。m4a(保護なし)は転送しますが、m4p(保護付き)はエラーでスキップされていました。