パーソナルツール
現在の場所: ホーム takalog
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
« 2010July »
Su Mo Tu We Th Fr Sa
        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
このBlogについて
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。 zope/plone関係の技術的な内容については http://takanory.net の方にまとめていこうと思います。 コメント・ツッコミはご自由にどうぞ。
最近のコメント
chanel earring (chanel coco earrings 09-07 17:00)
chanel earring (chanel earring 09-07 16:59)
Re:CyanogenMod 5.0.7 で Willcom core 3G の SIM が使えた (takanori 09-01 12:45)
Re:CyanogenMod 5.0.7 で Willcom core 3G の SIM が使えた (Anonymous User 08-29 12:31)
Re:初吹き (オケのラッパ吹き 07-09 23:27)
最近のトラックバック
日本語にてPlone3.xを使用する便利なプロダクト (ブログ 08-31 13:52)
新しい写真集モジュール (ロバートのブログ 03-18 08:28)
新しい写真集モジュール (ロバートのブログ 03-18 08:28)
トランペットアンサンブルコンサート (人生日記 03-08 17:37)
PloneSlimboxに乗り換え♪ (pt001-blog 02-23 17:14)
カテゴリ
android (15)
av (27)
books (32)
coreblog (49)
ds (22)
ferret (23)
google (34)
icecream (44)
lego (67)
mac (17)
misc (72)
moblog (277)
movie (32)
pc (44)
plone (311)
puzzle (40)
python (50)
server (66)
snowscoot (9)
software (126)
sports (32)
suidou (30)
winds (44)
 
文書操作

ワイヤレスジャパンの Android アプリ開発講座メモ

作成者 takanori投稿日 2010年07月21日 01時51分 最終変更日時 2010年07月21日 01時51分

先週開催されていた ワイヤレスジャパン2010Android アプリ開発講座 という有料のプログラムに知り合いが出られなくなったということで代わりに話を聞いてきました。

以下はその知り合いにも見てもらう意味も含めて書いたメモです。

  • 開始前に諸注意。録音、録画、Ustream等での動画配信、写真撮影の禁止とのアナウンス。Ustreamって。

アンドロイドアプリのマルチ端末対応 - 画面レイアウト編

  • C-LIS の有山 圭二さん
  • MoreLocale 2、近藤昭雄シリーズ(憂鬱、退屈)、薬検索とか作っている人
  • 発表資料とサンプルコードは http://dev.c-lis.co.jp/20100716-WJ.zip からダウンロード可能
  • とりあえずざくっと Android の基本的な説明
  • Android の端末はたくさんあるので、一つのバイナリで複数の端末に対応する必要がある

Androidの画面設計

  • 画面に表示するテキストとか画像とかの部品はリソースとしてリソースマネージャーが管理する
  • リソース修飾子はディレクトリに -修飾子 という形で指定する

  • 複数のリソース修飾子を指定することが可能

  • 設定可能なリソース修飾子の一覧は Providing Alternative Resources を参照。

  • 多言語対応の場合は values/strings.xmlvalues-ja/strings.xml を作成することで実現できる。

  • 言語によって入力フィールドを変えたい場合は layoutlayout-ja のような形で実現できる。

    →感想: あんまり言語によって入力フィールドを変えるとかはやらない方がいいと思うけど...
  • リソースマネージャーは指定されたリソースIDと環境、設定を元にして最適なリソースを返す処理をする。(なかった場合はデフォルトを返す)

リソース修飾子を使った解像度別の画面設計

  • 解像度の異なる端末への対応は以前は解像度を直接指定してた

    layout-480x320:

    HT-03A

    layout-800x480:

    HTC Desire

    layout-854x480:

    Xperia, IS-01

  • この指定方法は非推奨で、ドキュメントからも削除された

  • 推奨される画面の指定方法

    • スクリーンサイズ(-small/normal/large)
    • ピクセル密度(-mdpi(160)/hdpi(240)/ldpi(120))
    • アスペクト比(-notlong(4:3)/-long)
    • 画面の向き(-port/-land)
  • これらの組み合わせでも実際の解像度は認識できない→レイアウトの工夫でどうにかする

  • 相対指定

    fill_parent:

    親要素一杯にする

    wrap_content:

    コンテンツの大きさに合わせる

  • 絶対指定→px は使わない方がいいよ

    px:

    ピクセル指定

    dp:

    ピクセル密度に合わせる

    sp:

    ピクセル密度とフォントサイズに

  • Style リソースで表示する要素のサイズや色を指定することができる。CSS っぽい感じ

    →Style の継承も可能
  • AndroidManifest.xml に対応する画面サイズの指定を書かないとマーケットに出てこないよ

新しい端末に備えて...

  • デフォルトのリソースを活用
  • SDK ドキュメントのリソースに関する記述(英語だけど)をチェック

アンドロイドアプリのマルチ端末対応 - コード編

最適なロケーション・プロバイダーを選択する

  • ロケーションプロバイダー: 位置情報を取得する情報元

  • 条件を指定して、最も良いロケーションプロバイダーを取得する

  • 検索条件

    Accuracy:

    取得する位置情報の精密度(FINE・COARSE)

    AltitudeRequired:
     

    高度情報が必要→基地局とかは高度が取れない

    BearingRequired:
     

    方向情報が必要

    SpeedRequired:

    スピード情報が必要

    CostAllowed:

    位置情報の取得に費用がかかるのを認める

    PowerRequirement:
     

    消費電力(高・中・低)

縦横切り替えを処理する

  • 縦横切替時には一旦 Activity が終了する
  • onSaveInstanceState で状態を保存する
  • Activity の復帰時に onRestoreInstanceState で保存されたものを取得する
  • 縦横切り替えでエラーが出る場合は AndroidManifest.xml に android:configChanges を書くと対処できるけど、あんまりおすすめではない。

様々なテスト環境を作成する

  • 仮想デバイス(AVD)でテストする
  • いろいろ指定できる

解像度に依存しない画像素材を作る

  • Draw 9-patch
  • 画像を 3x3 に分割して、拡大したときにきたなくならないようにする
  • コンテンツの領域を決めると文字列がきちんと表示される
  • Android の SDK に入っている tools/draw9patch.bat を実行する

質疑応答

  • 言語リソースを管理しやすくするツールとか方法があるのか?

    →支援するツールは存在しない。言語によって順番が変わる(日付とか)ところとかの置き換えはサポートされている。
    →男性、女性とかの対応はできないと言われた。
  • Android の開発とマーケットと iPhone の開発との違いは?

    →iPhone で開発したことはないので実際のところはわからない
  • Google Maps とかが乗っている端末は CTS (Compatibility Test Suite)に規定された試験を通っている

    →IS01の右側にメニューが出ているのは CTS を通すために画面サイズを小さくするためとのこと(へー)
  • 各OSで書いたときにきちんと動くのか?

    →下位互換性はあることになっているが OS 1.5 で書いたは 1.6 で動作しない場合もある。ただその時は CTS がなかった。

感想

  • なんとなく、どんな端末でも動作する Android アプリを作るためのポイントはわかった
  • そうは言っても、そもそも Android のアプリを作ったことがないので、まずはそこからなかなと...
  • Draw 9-patch はなるほどなーといった感じ

デザイナと仕事する方法

  • 矢野りんさん
  • NTT Docomo Android の Blocco のデザインをやっている
  • ペルソナ作り: コンシューマ向けデザイン手法
  • ムードボード: こういう人はこういう雰囲気の UI が好きなんじゃないか
  • Smartphone の画面だと、画面遷移するよりも縦に長い1画面にまとめるほうがよかったりする
  • イメージを表す写真から色を取り出すという手もある

感想

  • ペルソナという言葉は初めて聞きました。コンシューマ向けをやるときには試してみようと思った。(やることあるのか?)

内容的には私は無料で聞けたので問題ないですが、22,000円という価格設定は正直ちょっと高いかな感じました。偉そうですいません。

カテゴリ
android android
トラックバック用URL:
http://takanory.net/takalog/1238/tbping

Powered by vine linux, python, zope, plone, coreblog