項目 | 內容 |
允許遲交 | 是 |
開放觀摩 | 是 |
屬性 | 個人作業 |
成績比重 | 2% |
期限 | 2012-05-17 23:59 |
附件 | 1. BN98000Ex051002.zip (23 KB) 2. GDA204.apk (18 KB) |
描述 | as title. Best Regards, James // ------- GDD02.java --- package COM.TQC.GDD02; import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteCursor; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class GDD02 extends Activity { private MyDbHelper gaaSQLiteOpenHelper; private Cursor myCursor; private ListView myListView; private EditText myEditText; private int _id; protected final static int MENU_ADD = Menu.FIRST; protected final static int MENU_EDIT = Menu.FIRST + 1; protected final static int MENU_DELETE = Menu.FIRST + 2; @Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()) { case MENU_ADD: this.addTodo(); break; case MENU_EDIT: this.editTodo(); break; case MENU_DELETE: this.deleteTodo(); break; } return true; } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(10000, MENU_ADD, 1, R.string.strAddButton); menu.add(10000, MENU_EDIT, 2, R.string.strEditButton); menu.add(10000, MENU_DELETE, 3, R.string.strDeleteButton); return true; } MyDbHelper helper; private OnItemClickListener myListener = new ListView.OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub myCursor.moveToPosition(arg2); _id = myCursor.getInt(0); }};
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myListView = (ListView) this.findViewById(R.id.myListView); myEditText = (EditText) this.findViewById(R.id.myEditText); // helper = new MyDbHelper( this, MyDbHelper.DATABASE_NAME, null, 1); // myListView.setOnItemClickListener(myListener ); myCursor = helper.select(); SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.list, myCursor, new String[] { MyDbHelper.FIELD_TEXT }, new int[] { R.id.listTextView1 }); myListView.setAdapter(adapter); } private void addTodo() { String text = myEditText.getText().toString(); helper.insert(text); myCursor.requery(); } private void editTodo() { String text = myEditText.getText().toString(); helper.update( _id, text); myCursor.requery(); } private void deleteTodo() { helper.delete(_id); myCursor.requery(); } } ///------------ MyDBHelper.java --- package COM.TQC.GDD02; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MyDbHelper extends SQLiteOpenHelper { public final static String DATABASE_NAME = "todo_db"; private final static int DATABASE_VERSION = 1; private final static String TABLE_NAME = "todo_table"; public final static String FIELD_id = "_id"; public final static String FIELD_TEXT = "todo_text"; public MyDbHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String sql = String.format("create table %s(%s integer primary key autoincrement, "+ "%s text)", TABLE_NAME, FIELD_id, FIELD_TEXT); db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } public Cursor select() { String sql = "select * from todo_table"; return this.getReadableDatabase().rawQuery(sql, null); } public long insert(String text) { String sql = String.format( "insert into todo_table(todo_text) values('%s')", text); this.getWritableDatabase().execSQL(sql); return 0; } public void delete(int id) { String sql = "delete from todo_table where _id =" + id; this.getWritableDatabase().execSQL(sql); } public void update(int id, String text) { String sql = String.format( "update todo_table set todo_text='%s' where _id=%d", text, id); this.getWritableDatabase().execSQL(sql); } } |
作業資訊 | 已交名單(28)