博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
增删改查
阅读量:4634 次
发布时间:2019-06-09

本文共 4479 字,大约阅读时间需要 14 分钟。

public ToDoDB(Context context)

  {

    super(context, DATABASE_NAME, null, DATABASE_VERSION);

  }

  @Override

  public void onCreate(SQLiteDatabase db)

  {

    /* 创建table */

    String sql = "CREATE TABLE " + TABLE_NAME + " (" + FIELD_id

        + " INTEGER primary key autoincrement, " + " " + FIELD_TEXT + " text)";

    db.execSQL(sql);

  }

  @Override

  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

  {

    String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;

    db.execSQL(sql);

    onCreate(db);

  }

//查

  public Cursor select()

  {

    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);

    return cursor;

  }

  public long insert(String text)

  {

    SQLiteDatabase db = this.getWritableDatabase();

    /* 将添加的值放入ContentValues */

    ContentValues cv = new ContentValues();

    cv.put(FIELD_TEXT, text);

    long row = db.insert(TABLE_NAME, null, cv);

    return row;

  }

//删除

  public void delete(int id)

  {

    SQLiteDatabase db = this.getWritableDatabase();

    String where = FIELD_id + " = ?";

    String[] whereValue =

    { Integer.toString(id) };

    db.delete(TABLE_NAME, where, whereValue);

  }

  public void update(int id, String text)

  {

    SQLiteDatabase db = this.getWritableDatabase();

    String where = FIELD_id + " = ?";

    String[] whereValue =

    { Integer.toString(id) };

    /*  */

    ContentValues cv = new ContentValues();

    cv.put(FIELD_TEXT, text);

    db.update(TABLE_NAME, cv, where, whereValue);

  }

具体实现方法

package com.lchx;

import android.app.Activity;

import android.database.Cursor;

import android.database.sqlite.SQLiteCursor;

import android.os.Bundle;

import android.view.Menu;

import android.view.*;

import android.view.MenuItem;

import android.widget.AdapterView;

import android.widget.EditText;

import android.widget.ListView;

import android.widget.SimpleCursorAdapter;

public class Text_0505Activity extends Activity {

 private ToDoDB myToDoDB;

 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 */

   menu.add(Menu.NONE, MENU_ADD, 0, R.string.strAddButton);

   menu.add(Menu.NONE, MENU_EDIT, 0, R.string.strEditButton);

   menu.add(Menu.NONE, MENU_DELETE, 0, R.string.strDeleteButton);

   return true;

 }

 /** 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);

   myToDoDB = new ToDoDB(this);

   myCursor = myToDoDB.select();

   SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.list,

       myCursor, new String[]

       { ToDoDB.FIELD_TEXT }, new int[]

       { R.id.listTextView1 });

   myListView.setAdapter(adapter);

   myListView.setOnItemClickListener(new AdapterView.OnItemClickListener()

   {

     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

         long arg3)

     {

       myCursor.moveToPosition(arg2);

       _id = myCursor.getInt(0);

       myEditText.setText(myCursor.getString(1));

     }

   });

   myListView

       .setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()

       {

         public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,

             long arg3)

         {

           SQLiteCursor sc = (SQLiteCursor) arg0.getSelectedItem();

           _id = sc.getInt(0);

           myEditText.setText(sc.getString(1));

         }

         @Override

         public void onNothingSelected(AdapterView<?> arg0)

         {

         }

       });

 }

 private void addTodo()

 {

   if (myEditText.getText().toString().equals(""))

     return;

   myToDoDB.insert(myEditText.getText().toString());

   myCursor.requery();

   myListView.invalidateViews();

   myEditText.setText("");

   _id = 0;

 }

 private void editTodo()

 {

   if (myEditText.getText().toString().equals(""))

     return;

   myToDoDB.update(_id, myEditText.getText().toString());

   myCursor.requery();

   myListView.invalidateViews();

   myEditText.setText("");

   _id = 0;

 }

 private void deleteTodo()

 {

   if (_id == 0)

     return;

   myToDoDB.delete(_id);

   myCursor.requery();

   myListView.invalidateViews();

   myEditText.setText("");

   _id = 0;

 }

}

转载于:https://www.cnblogs.com/kengdie2011/archive/2011/08/04/2127428.html

你可能感兴趣的文章
变动信息
查看>>
angularjs post 跨域
查看>>
Flask——部署
查看>>
php 操作分表代码
查看>>
java2
查看>>
复制图片的一部分
查看>>
调试uIP出现死机问题
查看>>
AttributeError: 'dict' object has no attribute 'status_code'
查看>>
poj2135最小费用最大流经典模板题
查看>>
hdu 4355 Party All the Time (2012 Multi-University Training Contest 6 ) 三分搜索
查看>>
POJ 2528 Mayor's posters(线段树)
查看>>
【转】[退役]纪念我的ACM——headacher@XDU
查看>>
利用STl实现队列
查看>>
android中The connection to adb is down,问题和解决 AndroidEclipseAntXML
查看>>
项目需求分析与建议
查看>>
UVa 10112 - Myacm Triangles
查看>>
给同一个按钮添加单双击事件
查看>>
form
查看>>
powershell输出错误信息到文件
查看>>
VS不显示最近打开的项目
查看>>