日本Androidの会 中国支部 第32会勉強会(20130713)

Preview:

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日月曜日