ステップ 2
NotesDbAdapter.javaを参照します。このクラスは、データベースへのアクセスを行うクラスのようです。
NotesDbAdapter のコンストラクタでは、コンテキストを受け取ります。
ActivityクラスはContextクラスを実装しているので、Activityから呼び出す際には、thisを渡してインスタンスを作成します。
open メソッドは、DatabaseHelperのインスタンスを作成し、getWritableDatabaseで書き込み用にデータベースをオープンします。
close メソッドは、データベースを閉じ、リソースの解放を行います。
createNote メソッドは、ノートのタイトルと、本文の文字列を受け取り、データベースにレコードを追加します。
deleteNote メソッドは、rawIdを受け、そのIDを持つレコードを削除します。
fetchAllNotes メソッドは、notesテーブルの全レコードをCursorインタフェースで取得します。
fetchNote メソッドは、rawIdを受け、そのIDを持つレコードをCursorインタフェースで返します。
updateNote メソッドは、rawIdで受けたレコードの、タイトル、本文を更新します。
ステップ 3
res/layout/notepad_list.xmlを開きます。<?xml version="1.0" encoding="utf-8"?>は、Androidのレイアウトファイルの定型文です。
今回の場合、その次の行は、レイアウト定義になっています。
レイアウト定義には、Androidの名前空間(xmlns:android="http://schemas.android.com/apk/res/android")が指定されている必要があります。
これが指定されることで、android:hoge が使用できます。
ステップ 4
リストを保持するレイアウトを作成します。res/layout/notepad_list.xmlを開き、LinearLayout 要素を以下のように変更します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <? xml version = "1.0" encoding = "utf-8" ?> < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "wrap_content" android:layout_height = "wrap_content" > < ListView android:id = "@android:id/list" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> < TextView android:id = "@android:id/empty" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text = "@string/no_notes" /> </ LinearLayout > |
@android:idで始まる場合は、Android OSのリソースIDを指します。
@+idで始まる場合は、自分のプロジェクト内のリソースIDを参照している事を意味します。
また、これらのidを見ても分かるように、ListViewはノートが存在する場合に表示され、TextViewはノートが存在しない場合に表示されます。
TextViewのtextに指定されている文字列は、文字列を定義したリソース(res/values/strings.xml)の、name属性と紐付いています。
関連記事
0 件のコメント:
コメントを投稿