1. 程式人生 > >Android 小專案之--SQLite 使用法門

Android 小專案之--SQLite 使用法門

  1. package com.terry;
  2. import android.app.Activity;
  3. import android.database.Cursor;
  4. import android.database.sqlite.SQLiteCursor;
  5. import android.os.Bundle; 
  6. import android.view.Menu;  
  7. import android.view.MenuItem;
  8. import android.view.View;
  9. import android.widget.AdapterView;
  10. import android.widget.EditText;
  11. import android.widget.ListAdapter;
  12. import android.widget.ListView;
  13. import android.widget.SimpleCursorAdapter;
  14. import android.widget.AdapterView.OnItemClickListener;
  15. import android.widget.AdapterView.OnItemSelectedListener;
  16. public class testDbActivity extends Activity {
  17.     private dbHelper db;
  18.     private Cursor myCursor;
  19.     private ListView myListView;
  20.     private EditText myEditText;
  21.     private int _id;
  22.     protected final static int MENU_ADD=Menu.FIRST;
  23.     protected final static int MENU_EDIT=Menu.FIRST+1;
  24.     protected final static int MENU_DELETE=Menu.FIRST+2;
  25.        @Override
  26.     public boolean onCreateOptionsMenu(Menu menu) {
  27.         // TODO Auto-generated method stub
  28.            super.onCreateOptionsMenu(menu);
  29.         menu.add(Menu.NONE, MENU_ADD, 0, R.string.ADD);
  30.         menu.add(Menu.NONE, MENU_EDIT, 0,R.string.EDIT);
  31.         menu.add(Menu.NONE, MENU_DELETE, 0,R.string.DELETE);
  32.          return true;
  33.     }
  34.        @Override
  35.     public boolean onOptionsItemSelected(MenuItem item) {
  36.         // TODO Auto-generated method stub
  37.         super.onOptionsItemSelected(item); 
  38.         switch (item.getItemId()) {
  39.         case MENU_ADD:
  40.             operation("add");
  41.             break;
  42.         case MENU_EDIT:
  43.             operation("edit");
  44.             break;
  45.         case MENU_DELETE:
  46.             operation("delete");
  47.             break;
  48.         default:
  49.             break;
  50.         }
  51.         return true;
  52.     }
  53.     /** Called when the activity is first created. */
  54.     @Override
  55.     public void onCreate(Bundle savedInstanceState) {
  56.         super.onCreate(savedInstanceState);
  57.         setContentView(R.layout.main);
  58.         myEditText=(EditText)findViewById(R.id.EditText1);
  59.         myListView=(ListView)findViewById(R.id.ListView1);
  60.         db=new dbHelper(testDbActivity.this);
  61.         myCursor=db.select();
  62.         SimpleCursorAdapter adpater=new SimpleCursorAdapter(this
  63.                 , R.layout.test, myCursor,
  64.                 new String[]{dbHelper.FIELD_TITLE},
  65.                 new int[]{R.id.topTextView});
  66.         myListView.setAdapter(adpater);
  67.         myListView.setOnItemClickListener(new OnItemClickListener() {
  68.             @Override
  69.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
  70.                     long arg3) {
  71.                 // TODO Auto-generated method stub
  72.                 myCursor.moveToPosition(arg2);
  73.                 _id=myCursor.getInt(0);
  74.                 myEditText.setText(myCursor.getString(1));
  75.             }
  76.         });
  77.         myListView.setOnItemSelectedListener(new OnItemSelectedListener() {
  78.             @Override
  79.             public void onItemSelected(AdapterView<?> arg0, View arg1,
  80.                     int arg2, long arg3) {
  81.                 // TODO Auto-generated method stub
  82.                 SQLiteCursor sc=(SQLiteCursor)arg0.getSelectedItem();
  83.                 _id=sc.getInt(0);
  84.                 myEditText.setText(sc.getString(1));
  85.             }
  86.             @Override
  87.             public void onNothingSelected(AdapterView<?> arg0) {
  88.                 // TODO Auto-generated method stub
  89.             }
  90.         });
  91.     }
  92.     private void operation(String cmd)
  93.     {
  94.         if(myEditText.getText().toString().equals(""))
  95.         return;
  96.         if(cmd=="add")
  97.             db.insert( myEditText.getText().toString());
  98.         if(cmd=="edit")
  99.             db.update(_id,  myEditText.getText().toString());
  100.         if(cmd=="delete")
  101.             db.delete(_id);
  102.         myCursor.requery();
  103.         myListView.invalidateViews();
  104.         myEditText.setText("");
  105.         _id=0;
  106.     }
  107. }