YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese feliratok

← 09-11 Modify ForecastAdapter - Quiz

09-11 Modify ForecastAdapter - Quiz

Beágyazókód kérése
5 Languages

Showing Revision 2 created 05/25/2015 by aiharat128.

  1. これはxmlファイルの中に
    ハードコーディングされたダミーデータです
  2. ForecastAdapterを使って
    実際の気象データを表示しましょう
  3. ここではひとまず すべてのリスト項目に
    同じレイアウトを使いますが
  4. 次の講義では
    todayのXMLレイアウトを組み込みます
  5. 概念的にForecastAdapterは
    Cursorの行ごとに対応したリスト項目を
  6. 作成するようにロジックを処理します
  7. レッスン1でお話しした
    ArrayAdapterを思い出してください
  8. ただし データソースは配列ではなく
    ここではデータベースのCursorです
  9. リスト項目のレイアウトは
    list_item_forecast.xmlファイルで定義されます
  10. 経由するCursorの1行に対して
    1つずつ進みながら値を抽出します
  11. これを Viewに対して
    データをバインドするといいます
  12. それぞれの列の値を取り込み
    別のViewに設定するからです
  13. 例えば 最高気温の値は最高気温のTextViewに
  14. 最低気温の値は最低気温のTextViewに設定されます
  15. 次の行でも同様にデータをバインドしましょう
  16. Cursor内の各行に対応したリスト項目を
    作成するまで続けます
  17. コードはCursorAdapterクラスから
    派生したForecastAdapterを定義しています
  18. CursorAdapterの文書を見ると
    それはAbstractクラスだとわかるでしょう
  19. オーバーライドするAbstractメソッドは
    2つあります
  20. bindViewとnewViewです
  21. newViewメソッドは データの入っていない
    新しいリスト項目のレイアウトを返します
  22. bindViewメソッドは
    既存のリスト項目のレイアウトを取得し
  23. cursorのデータでそれをアップデートします
  24. ForecastAdapterクラスの中の
    newViewメソッドの中で
  25. list_item_forecast.xmlレイアウトを
    インフレートします
  26. そしてbindViewメソッドの中で
    cursorのデータを個々のViewにバインドします
  27. 例えばcursorから天気の説明を読み出します
  28. そしてビュー階層をたどって
  29. id.list_item_textviewというIDの
    TextViewを探します
  30. TextViewが見つかったら 正しいdescriptionで
    アップデートすることができます
  31. 皆さんのためにbindViewメソッドのコードのGistを
    提供していますが TODOは残しています
  32. Gistの中には ヘルパーメソッドと
    日付のフォーマット用の文字列も入っています
  33. 今の実装では すべての日付が
    同じように表示されるからです
  34. しかし ワイヤーフレームでは
    親しみやすい表記になっています
  35. 例えば 今日、明日、水曜日、木曜日などです
  36. ヘルパーメソッドが作成する
    親しみやすい文字列は次のとおりです
  37. “今週”ならば
    今日、昨日、それから曜日です
  38. 1週間以上先なら
    “6月8日 月曜日”などと表示されます
  39. アプリをコンパイルして実行したら
    実際の気象データが表示され
  40. 日付は親しみやすい表記になっているはずです
  41. 完了したらチェックを入れましょう