本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Marketでの配布を目指しましょう
Androidで、これまでにないWebのユーザー体験を
- - PR -
NTTドコモがHTC製Android携帯電話を発売開始してから1カ月以上経ちました。日本でもAndroidアプリの開発サービスを始める企業も増えてきています。
そんな中、Androidに関して新たな2つの動きが出てきているのをご存じでしょうか。
■ 組み込みや小型ノートPC/端末に広がるAndroid
1つはAndroidによる組み込み用途への適用です。組み込みシステム向けの拡張プラットフォーム「OESF Embedded Master」の発表や(参考:Androidの組み込み向け拡張プラットフォーム発表)、組み込み用端末も増えてきています(参考:Androidにも対応するタッチパネル搭載汎用評価ボード)。ほかにも組み込み向けAndroidに関しては、以下の記事を参照してください。
もう1つは、NetbookやMID(Mobile Internet Device)など、携帯電話ではない小型ノートPC/端末分野へのAndroidの活用です。コヴィア・ネットワークスがOSにAndroidを搭載したMID「SmartQ5」の国内販売の予約を9月1日から開始していますし、AcerもAndroid搭載Netbookをリリースすると発表しています。
こういった動きは、もちろんAndroidがオープンソースということで、さまざまな端末に適用しやすいのもありますが、やはりWebを重視しているグーグルが発表したAndroidが、Webブラウジングのためのプラットフォームとして有力視されているところが大きいでしょう。
■ AndroidのWebブラウジングは「WebView」で
Androidは、Safari(Mac OS XやiPhone/iPod touchのWebブラウザ)やAdobe AIR、そしてWebブラウザGoogle Chromeなどで使われているオープンソースのレンダリングエンジン「WebKit」を搭載していて、「WebView」という、HTMLを表示させる専用のクラスが用意されています。今回は、このWebViewの使い方と特徴を詳しく見ていきます。
これまでのケータイアプリでは、Webブラウザを起動してHTMLを表示することはできても、アプリの一部としてHTMLを表示させることはできませんでした。Androidではアプリの一部としてHTMLを表示できるのに加え、JavaScriptとアプリを連動させ、これまでにないWebのユーザー体験を提供可能です。
![]() |
| 図1 Google翻訳の結果をAndroidアプリに取り込むサンプル |
図1は、白い背景の部分がHTMLで、翻訳結果をAndroidアプリに取り込んでいます。WebViewを使うと、こんなことが簡単にできてしまうわけです。
ここからは、WebViewの基本的なところから解説を始め、徐々にレベルを上げて、最後にこのGoogle翻訳の作り方を説明していきます。
今回使用するサンプルは、以下からダウンロード可能です。
URLを指定してWebサイトを表示するには?
Androidアプリでは、指定したURLを表示するだけなら、たった3行で出来てしまいます。
WebView webView = new WebView(this);
webView.loadUrl(“http://www.yahoo.com”);
setContentView(webView, new LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
1行目で、WebViewのインスタンスを作成します。2行目で、URLを指定します。3行目で、WebViewのインスタンスを表示されるビューとして設定します。
実行すると、図2のような画面が表示されます。PC向けのWebサイトをそのまま表示しているのが分かります。
![]() |
| 図2 www.yahoo.comを表示させたところ |
サンプルではなく、自分でソースコードを書いている方は、ここで以下のような画面が出てしまうのではないでしょうか。
![]() |
| 図3 エラー画面 |
これは必要な設定が足りていないだけで、EclipseのADT(Android Development Tools Plugin for the Eclipse IDE)で以下のように設定すれば、正常に表示できるようになります。
![]() |
| 図4 インターネットにアクセスするためのパーミッションを追加 |
XMLだと<manifest>要素の任意の場所に、<uses-permission android:name="android.permission.INTERNET" />を足せばよいだけです。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.web"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name="Main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Example01" />
<activity android:name="Example02" />
<activity android:name="Example03" />
<activity android:name="Example04" />
<activity android:name="Example05" />
<activity android:name="Example06" />
<activity android:name="Example07" />
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
次ページでは、アドレスバーの配置の仕方や履歴管理に必須の進む/戻るボタンについて解説します。
| Index | ||||||||
|
||||||||
Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»
- 第1回 Android Market配布を目指しEclipseでHelloWorld!
- 第2回 Androidアプリ作成の基本“Activity”とは何か?
- 第3回 ブラウザや地図、ストリートビューの基、Intentとは?
- 第4回 簡単でワクワクするAndroidウィジェット10連発!
- 第5回 Androidアプリの使いやすさを左右する5つのレイアウト
- 第6回 AndroidでSQLiteのDB操作をするための基礎知識
- 第7回 常駐アプリが作成できるAndroidの“サービス”とは
- 第8回 アプリを国際化してAndroid Marketから世界へ発信
- 第9回 Netbookにも広まるAndroidで、かつてないWeb体験を
- 第10回 Androidのホーム画面に常駐するアプリを作るには
- 第11回 Android 1.6のジェスチャーとテキスト読み上げを使う
- 第12回 SurfaceViewならAndroidで高速描画ゲームが作れる
- 第13回 iPhoneより多彩なAndroidのセンサをアプリで操作
- 第14回 Android 2.1の新機能で作る、美しく燃える“待ち受け”
- 第15回 Android NDKでJNIを使用してアプリを高速化するには
- 第16回 地図/位置情報/GPSを使うAndroidアプリを作るには
- 第17回 もはやケータイに必須のカメラをAndroidで制御しよう
- 第18回 開発者が知っておきたいAndroid 2.2新機能 12連発
- 第19回 XMLレイアウトでAndroidアプリに“設定画面”を追加
- 第20回 Androidアプリで“アニメーション”するための基礎知識
- 第21回 アニメーションでAndroidに独創的な画面エフェクトを
- 第22回 開発者が知って得するAndroid 2.3の新機能18選
- 第23回 Android 3.0の新APIで簡単ドラッグ&ドロップ実装
- 第24回 Androidの画面の大きさの違いを解決するFragments
- 第25回 Compatibility packageで2.x系でもマルチサイズ対応
- 第26回 開発者が知らないと損するAndroid 4.0の新機能44選
- 第27回 Android 4.0でアプリ開発を始めるための環境構築
- 第28回 Android 4.0で注目の顔認識をアプリに組み込むには
| ご意見、ご感想は Smart&Social 会議室へどうぞ |
| Smart&Social フォーラム トップページへ |
TechTargetジャパン
- 検索技術を使うなら知ってないと損する6つのこと (2012/2/9)
ソーシャルアプリなど大規模Webサービスや企業内システムでも欠かせない検索技術のまとめ - AWSとAndroidを直結するSDKで何ができるのか? (2012/2/3)
簡単なコーディングでAndroidアプリからAmazon S3のストレージに直接接続できるサンプルを基にSDKの使い方を紹介 - HTML5/jQuery MobileなどスマホWeb開発記事33選 (2012/1/31)
スマートフォン向けWebアプリを作るための@IT記事のまとめ。HTMLやCSS、JavaScript/jQuery自体の基礎学習記事も紹介 - iPhoneで動くARアプリを作るためのライブラリ10選 (2012/1/25)
ARToolkitをはじめ、iOS(iPhone/iPad)で使えるAR(拡張現実)を実現するためのさまざまなライブラリをサンプルやコードを交えて紹介
|
|
キャリアアップ
スポンサーからのお知らせ
イベントカレンダー
- - PR -







