package irdc.ex05_05;
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 EX05_05 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);
/* 取得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()
{
@Override
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()
{
@Override
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));
}
@Override
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;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SqliteDatabase应用
共27个文件
class:10个
xml:5个
java:3个
需积分: 9 9 下载量 191 浏览量
2010-08-01
15:15:58
上传
评论
收藏 39KB RAR 举报
温馨提示
继承SqliteOpenHelper类,创建和访问数据库,并利用Menu实现查询、新增、修改和删除的操作
资源推荐
资源详情
资源评论
收起资源包目录
EX05_05.rar (27个子文件)
EX05_05
.project 843B
default.properties 960B
bin
irdc
ex05_05
R$string.class 553B
R$layout.class 404B
ToDoDB.class 3KB
R$drawable.class 467B
EX05_05.class 4KB
EX05_05$1.class 2KB
EX05_05$2.class 2KB
R.class 489B
R$attr.class 322B
R$id.class 441B
EX05_05.apk 12KB
resources.ap_ 7KB
classes.dex 8KB
.settings
org.eclipse.jdt.ui.prefs 129B
org.eclipse.jdt.core.prefs 22KB
AndroidManifest.xml 631B
src
irdc
ex05_05
EX05_05.java 4KB
ToDoDB.java 2KB
res
values
color.xml 200B
strings.xml 358B
layout
list.xml 508B
main.xml 820B
drawable
icon.png 3KB
.classpath 280B
gen
irdc
ex05_05
R.java 1KB
assets
共 27 条
- 1
资源评论
Vincent_czz
- 粉丝: 126
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功