Upload
shinya-sato
View
548
Download
4
Embed Size (px)
DESCRIPTION
日本Androidの会 中国支部 第32会勉強会 2013.07.13 セッション4
Citation preview
2013.07.13 SUGARSPOT
AndroidにおけるHTMLの使いどころ
in 日本Androidの会 中国支部第32回勉強会
13年7月15日月曜日
自己紹介
佐藤 慎也
個人事業でAndroidアプリ開発を主とした活動してます
13年7月15日月曜日
日本Androidの会中国支部
自己紹介
GDG中国
13年7月15日月曜日
アプリ紹介Wepho BNBW きいてみるClippic
おるすばんLW おるすばんSC RapidMail Mapino TimeAjustment
マーケットで「SUGARSPOT」と検索!
Picton BW
13年7月15日月曜日
告知
8月18日(日)A8D:1
13年7月15日月曜日
昨年の様子
13年7月15日月曜日
HTMLの使いどころAndroidアプリにおける
13年7月15日月曜日
3つのパターンHTMLを使う
13年7月15日月曜日
標準ブラウザを呼び出すアプリ→ブラウザ→アプリ① 標準ブラウザを呼び出すアプリ→ブラウザ→アプリ①
WebView (HTMLをネット取得)②
WebView (HTMLを内包)③13年7月15日月曜日
標準ブラウザ呼び出し
パターン1
13年7月15日月曜日
アプリからブラウザをIntentで呼び出し
①
13年7月15日月曜日
アプリからブラウザをIntentで呼び出し
ブラウザをユーザーに操作させる
①
②
13年7月15日月曜日
アプリからブラウザをIntentで呼び出し
ブラウザをユーザーに操作させる
ブラウザからアプリに処理を戻す
①
②
③
13年7月15日月曜日
● Webシステムを流用する → 会員登録 → コンテンツの表示
● Webサービスの認証 など
どんな時につかう?
13年7月15日月曜日
intent-filterにブラウザからの呼び出しを受け取るよう記述
どうやってアプリに戻す?
<category android:name="android.intent.category.BROWSABLE"/>
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
プログラムで値を取得
13年7月15日月曜日
● 資産が流用できるメリット
デメリット● エラーの際などアプリに 戻らないこともあるかも●標準ブラウザへPOSTできない●オフラインで利用できない
13年7月15日月曜日
WebView(ネットからHTMLを取得)
パターン2
13年7月15日月曜日
WebView?
13年7月15日月曜日
WebView
アプリに組み込んで使える簡易ブラウザ=
13年7月15日月曜日
OSのバージョンによって違いがあります
2.1
2.2境界
OSバージョンを判別して
HTMLを切替
13年7月15日月曜日
基本的には、普通のブラウザと同じような事ができます
できること
setPluginsEnabled
setJavaScriptEnabled
setBuiltInControls
setSaveFormData
setSavePassword
プラグインの有効・無効
JavaScriptの有効・無効
ズームの有効・無効
フォームデータ保存の有効・無効
パスワード保存の有効・無効
設定で出来ること制限する(以下、一部だけ)
13年7月15日月曜日
● 簡単に使える● 出来ることを制御可能● HTMLの部分は分業しやすい● 豊富なJSライブラリが利用可● CSSで見た目を操作しやすい● POSTができる
メリット
13年7月15日月曜日
●アプリのバージョンアップを せず見た目や機能を変更可●HTMLなので拡大・縮小表示も 簡単
メリット
13年7月15日月曜日
デメリット●反応が遅い(ネイティブと比較して)
●JavaScriptを有効にしてると セキュリティ的に不安あり●OSバージョンで動きが違うかも
●URLが見えない状態だと少し 怖いよね OAuth認証の場合とか、ショッピングサイトとか 本当に正しいサイトにアクセスしてる?・・・不安
13年7月15日月曜日
デメリット
●オフラインでは使えない
13年7月15日月曜日
案件例●課金&ライセンス確認 → 起動時にライセンスサーバーへ ・ライセンスがない場合の課金はWEBで
→ ライセンスOKでアプリを利用可 ・ブラウザから戻ってきたら再度ライセンス確認
・スキームだけで判断は呼び出し元が保証できない
13年7月15日月曜日
案件例●お店のメニューアプリ → メニューはWEBサイト ・アクセス制御
→ 一定時間操作がないとスクリーン セーバーで広告を表示 ・画面操作の判定
・スクリーンセーバーでの広告表示
13年7月15日月曜日
WebView(HTMLを内包)
パターン3
13年7月15日月曜日
HTML
css
JS
HTMLHTML
JS
css
アプリに含める
13年7月15日月曜日
● オフラインでも使える● HTMLなどのダウンロードが 発生しないので少し早い●テンプレートエンジン使うと 動的HTMLも作りやすい
メリット
13年7月15日月曜日
デメリット
WebViewのデメリットは同じそのほかに、●アプリサイズが大きくなる●デザインを変更するためには アプリのバージョンアップ
13年7月15日月曜日
案件例●グラフの表示 → 色々なパターンのグラフが可能 → 折れ線グラフ、棒グラフの併用 → つかったグラフのライブラリ ・jQueryのプラグイン「jqPlot」
・http://www.jqplot.com/
13年7月15日月曜日
実際の動作デモ実機+USB+AndroidScreenMonitor
アプリ「パチ帳スロ帳」
13年7月15日月曜日
jqPlot使ってみよう
13年7月15日月曜日
サンプルを見てみるアルファシス – alphasis.info -http://alphasis.info/jquery-plugins/jqplot/
13年7月15日月曜日
HTMLの 使いどころ
まとめ
13年7月15日月曜日
発注元や利用者にとって
「何で作られてるか」は重要ではない
13年7月15日月曜日
「満足度」
13年7月15日月曜日
どこで満足度が得られるかそこは人それぞれ
13年7月15日月曜日
満足度を得られるポイントに注力するために
楽できる所は楽しよう!
13年7月15日月曜日
ネイティブで作ると面倒なとき・作業時間の問題
・費用の問題
・メンテナンスの問題
使いどころ
13年7月15日月曜日
あたりまえのはなしでしたが
まとめは以上。
13年7月15日月曜日
気になることは、個別に聞いてください
聞かなきゃ損
13年7月15日月曜日
ありがとうございました
マーケットで「SUGARSPOT」と検索!
13年7月15日月曜日