[Android实例] Android DB数据库实例

我们今天给大家分享的主要就是我们在编程当中必须用到的东西,那就是数据库,这个对我们来说是非常重要的,那么我们通过这个小的例子就会明白了,数据库其实也不是那么难的,那么我们就来看看数据库的主要代码:

package eoe.demo;

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.widget.AdapterView;

import android.widget.EditText;

import android.widget.ListView;

import android.widget.SimpleCursorAdapter;
public class DBActivity 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;
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;

}



public boolean onCreateOptionsMenu(Menu menu)

{

super.onCreateOptionsMenu(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;

}
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);

/* 取得DataBase里的数据 */

myCursor = myToDoDB.select();

/* new SimpleCursorAdapter并将myCursor传入,

显示数据的字段为todo_text */

SimpleCursorAdapter adapter = 

new SimpleCursorAdapter

(this, R.layout.list, myCursor, new String[]

{ ToDoDB.FIELD_TEXT }, new int[]

{ R.id.listTextView1 });

myListView.setAdapter(adapter);

/* 将myListView添加OnItemClickListener */

myListView.setOnItemClickListener

(new AdapterView.OnItemClickListener()

{
public void onItemClick

(AdapterView<?> arg0, View arg1, int arg2, long arg3)

{

/* 将myCursor移到所点击的值 */

myCursor.moveToPosition(arg2);

/* 取得字段_id的值 */

_id = myCursor.getInt(0);

/* 取得字段todo_text的值 */

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

}

});

myListView.setOnItemSelectedListener

(new AdapterView.OnItemSelectedListener()

{

public void onItemSelected

(AdapterView<?> arg0, View arg1, int arg2, long arg3)

{

/* getSelectedItem所取得的是SQLiteCursor */

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

_id = sc.getInt(0);

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

}



public void onNothingSelected(AdapterView<?> arg0)

{

}

});

}



private void addTodo()

{

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

return;

/* 添加数据到数据库 */

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

/* 重新查询 */

myCursor.requery();

/* 重新整理myListView */

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;

}

}

更多信息请访问:http://www.orietech.com

新浪微博:西安欧锐信息科技


你可能感兴趣的:(android,数据库,ListView,database,delete,menu)