手帳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
開く  res/layout/notes_row.xml  
各手帳のタイトルテキスト.

    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)  res/values/strings.xml  )追加、文字列
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を押して私たちのプログラムを走ることができます.
効果図は以下の通りです.
 
记事本1
http://www.cnblogs.com/fangyukuan/archive/2010/04/05/1704806.html