手帳1
6982 ワード
1)ダウンロードコード
まずコードをダウンロードし、解凍します.
http://androidappdocs.appspot.com/resources/tutorials/notepad/codelab/NotepadCodeLab.zip
2)コードをプロジェクトにインポートする
File > New > Android Project
選択 Create project from existing source
BrowseをクリックしてNotepadv 1を見つけます
sdkバージョンを選択します.
開くとsrcの下にNotesDbAdapterがあります.このクラスはSQLiteデータベースを操作するカプセル化クラスです.
3)notepad_の修正list
resを開くlist.xml
android:layout_width="wrap_content"
android:layout_height="wrap_content">
コードを追加します.
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_notes"/>
ID list および EmptyはAndroidプラットフォームから提供されているので、前に名前空間androidを追加します.
ListAdapter ListViewにデータを提供できない場合.Emptyは自動的に使用されます.もちろんsetEmptyView(View)でListViewを空に設定できます.
(ListAdapterはListViewとデータの架け橋であり、通常はカーソルから)
4)notes_についてrow
開く
各手帳のタイトルテキスト.
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
5)Notepadv 1を開く
src/com/android/demo/notepad 1/Noteppadv 1.javaを開く
package com.android.demo.notepad1;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class Notepadv1 extends {
private int mNoteNumber = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//TODO Auto-generated method stub
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//TODO Auto-generated method stub
return super.onOptionsItemSelected(item);
}
}
クラスをListActivityに変更し、ListActivityもActivityから継承します.ただし、いくつかの追加機能が提供されています.listの操作に適しています.
6)onCreateにコードを追加
まず、NotesDbAdapterメンバーを定義します.
private mDbHelper;
onCreateにコードを追加します.NotesDbAdapterインスタンスを生成します.
Openメソッドを呼び出します.
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.notepad_list);
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
fillData();
}
7) FillDataメソッドについて
fillData()が表示されます.これは、データベースからデータを取り出してnotes_rowに埋め込む方法です.
private void fillData()
{
Cursor c = mDbHelper.fetchAllNotes();
;
String[] from = new String[] {KEY_TITLE };
int [] to = new int[]{R.id.text1};
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
}
startManagingCursor(c)メソッドは、カーソルのライフサイクルをAndroidに渡して管理することができます.
String配列fromを定義し、表示するデータベースのテーブル内のカラム名を格納します.(ここでは、NotesDbAdapter.KEY_TITLEのみ)
int配列toを定義し、from配列内の列の内容を表示するビューidを格納します.(複数ある場合は、1つずつ対応します)
SimpleCursorAdapterクラスでfromからtoにデータをマッピングします
8)文字列リソースに文字列を追加
文字列リソース(under)
Add Item
9)onCreateOptionsMenuにコードを追加
Notepadv 1クラスでメニューidを定義します.
public static final int INSERT_ID = Menu.FIRST;
onCreateOptionsMenuにコードを追加します.
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, INSERT_ID, 0, R.string.menu_insert);
//TODO Auto-generated method stub
return result;
}
メニュー項目を初期化し、項目を追加します.
10)onOptionsItemSelectedにコードを追加
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
//TODO Auto-generated method stub
switch(item.getItemId())
{
case INSERT_ID:
createNote();
return true;
}
return super.onOptionsItemSelected(item);
}
メニューアイテムイベントを処理します.
ここでは、INSERT_IDを処理するメニュー項目が1つしかありません.ユーザーがクリックするとcreateNote()が呼び出され、メモ帳が作成されます.
11)createNoteメソッドについて
私たちが書いた方法を見てみましょう
private void createNote()
{
String noteName = "Note "+ mNoteNumber++;
mDbHelper.createNote(noteName, "");
fillData();
}
NotesDbAdapterのcreateNoteメソッドを使用してメモ帳を作成します.
ctrl-shift-Oを押して すべてのパッケージがimportに入っていることを確認します
次はF 11を押して私たちのプログラムを走ることができます.
効果図は以下の通りです.
http://www.cnblogs.com/fangyukuan/archive/2010/04/05/1704806.html
まずコードをダウンロードし、解凍します.
http://androidappdocs.appspot.com/resources/tutorials/notepad/codelab/NotepadCodeLab.zip
2)コードをプロジェクトにインポートする
File > New > Android Project
選択 Create project from existing source
BrowseをクリックしてNotepadv 1を見つけます
sdkバージョンを選択します.
開くとsrcの下にNotesDbAdapterがあります.このクラスはSQLiteデータベースを操作するカプセル化クラスです.
3)notepad_の修正list
resを開くlist.xml
android:layout_height="wrap_content">
コードを追加します.
android:layout_height="wrap_content">
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:text="@string/no_notes"/>
ID list および EmptyはAndroidプラットフォームから提供されているので、前に名前空間androidを追加します.
ListAdapter ListViewにデータを提供できない場合.Emptyは自動的に使用されます.もちろんsetEmptyView(View)でListViewを空に設定できます.
(ListAdapterはListViewとデータの架け橋であり、通常はカーソルから)
4)notes_についてrow
開く
res/layout
/notes_row.xml
各手帳のタイトルテキスト.
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
5)Notepadv 1を開く
src/com/android/demo/notepad 1/Noteppadv 1.javaを開く
package com.android.demo.notepad1;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class Notepadv1 extends {
private int mNoteNumber = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//TODO Auto-generated method stub
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//TODO Auto-generated method stub
return super.onOptionsItemSelected(item);
}
}
クラスをListActivityに変更し、ListActivityもActivityから継承します.ただし、いくつかの追加機能が提供されています.listの操作に適しています.
6)onCreateにコードを追加
まず、NotesDbAdapterメンバーを定義します.
private mDbHelper;
onCreateにコードを追加します.NotesDbAdapterインスタンスを生成します.
Openメソッドを呼び出します.
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.notepad_list);
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
fillData();
}
7) FillDataメソッドについて
fillData()が表示されます.これは、データベースからデータを取り出してnotes_rowに埋め込む方法です.
private void fillData()
{
Cursor c = mDbHelper.fetchAllNotes();
;
String[] from = new String[] {KEY_TITLE };
int [] to = new int[]{R.id.text1};
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
}
startManagingCursor(c)メソッドは、カーソルのライフサイクルをAndroidに渡して管理することができます.
String配列fromを定義し、表示するデータベースのテーブル内のカラム名を格納します.(ここでは、NotesDbAdapter.KEY_TITLEのみ)
int配列toを定義し、from配列内の列の内容を表示するビューidを格納します.(複数ある場合は、1つずつ対応します)
SimpleCursorAdapterクラスでfromからtoにデータをマッピングします
8)文字列リソースに文字列を追加
文字列リソース(under)
res/values/strings.xml
)追加、文字列9)onCreateOptionsMenuにコードを追加
Notepadv 1クラスでメニューidを定義します.
public static final int INSERT_ID = Menu.FIRST;
onCreateOptionsMenuにコードを追加します.
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, INSERT_ID, 0, R.string.menu_insert);
//TODO Auto-generated method stub
return result;
}
メニュー項目を初期化し、項目を追加します.
10)onOptionsItemSelectedにコードを追加
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
//TODO Auto-generated method stub
switch(item.getItemId())
{
case INSERT_ID:
createNote();
return true;
}
return super.onOptionsItemSelected(item);
}
メニューアイテムイベントを処理します.
ここでは、INSERT_IDを処理するメニュー項目が1つしかありません.ユーザーがクリックするとcreateNote()が呼び出され、メモ帳が作成されます.
11)createNoteメソッドについて
私たちが書いた方法を見てみましょう
private void createNote()
{
String noteName = "Note "+ mNoteNumber++;
mDbHelper.createNote(noteName, "");
fillData();
}
NotesDbAdapterのcreateNoteメソッドを使用してメモ帳を作成します.
ctrl-shift-Oを押して すべてのパッケージがimportに入っていることを確認します
次はF 11を押して私たちのプログラムを走ることができます.
効果図は以下の通りです.
http://www.cnblogs.com/fangyukuan/archive/2010/04/05/1704806.html