Android 搭載ケータイでのGoogleモバイルサービス
http://www.youtube.com/watch?v=WJMMSCn2M64&eurl=http%3A%2F%2Fwww%2Egizmodo%2Ejp%2Fweb%2Fbrowser%2F&feature=player_embedded
Androidの売りは「指先で操作できる」とこにあると思う。指先で操作するためには、ある程度のボタンと画面の大きさが必要で、いままでの携帯電話の小さな画面だとちょっと扱いづらい。(日本独特の?)親指文化はそれはそれでいいので、このあたりは別ものとしてUIを扱う必要がある。
で、中古PDAでもInternet Explorerが付いているわけで、Google検索も当たり前のようにできる。が、何が使いづらいって、そりゃ、IEを立ち上げないとGoogle検索ができないのが面倒。
つまり、何か検索しようとすると
1.IEを立ちあげる。
2.お気に入りからGoogleを開く。
3.検索文字を入れて、検索!
ってな感じで3ステップが必要。だから、
1.Google検索アプリを立ち上げる。
2.検索文字を入れて、検索!
でもいいわけで、試しに実現したのがこれ。
ソースはこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | namespace GoogleSearch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private string SEARCH_NULL = "Google検索" ; private void textBox1_TextChanged( object sender, EventArgs e) { } // 空白時の処理 private void textBox1_GotFocus( object sender, EventArgs e) { if (textBox1.Text == SEARCH_NULL) { textBox1.Text = "" ; textBox1.ForeColor = Color.Black; } } private void textBox1_LostFocus( object sender, EventArgs e) { if (textBox1.Text == "" ) { textBox1.Text = SEARCH_NULL; textBox1.ForeColor = Color.LightGray; } } private void picSearch_Click( object sender, EventArgs e) { if (textBox1.Text != SEARCH_NULL && textBox1.Text != "" ) { System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "iexplore.exe" ; proc.StartInfo.Arguments = "http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=" + textBox1.Text; proc.Start(); } } //ロード時 private void Form1_Load( object sender, EventArgs e) { picGoogleLogo.Image = Properties.Resources.GoogleLogo; picSearch.Image = Properties.Resources.SearchIcon; picSearch.Focus(); textBox1.Text = SEARCH_NULL; } } } |
特に何も難しいことはやっていなくて(やることすらできない)、Process クラスでIEを起動しているだけです。画像の貼り付けは、ボタンとかに付けられないのでリソースから明示的に。
問題点としては、
– 文字入力はスタライス入力が必須になってしまうので、別途大きなボタンが必要。
– テキストのコピー&ペーストは自前で作るらしい(iPhoneを笑っていられない)
– ブラウザが基本フルブラウザなので、横スクロールがあって読みづらい。Agentを書き換えて、携帯用のレスポンスを呼び出したほうがいいかも。