package com.test;
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;
}}
没有合适的资源?快使用搜索试试~ 我知道了~
小程序源码 学习相关 操作数据库实例.rar
共27个文件
class:10个
xml:5个
png:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 116 浏览量
2023-03-29
20:11:17
上传
评论
收藏 53KB RAR 举报
温馨提示
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
小程序源码 学习相关 操作数据库实例.rar (27个子文件)
Android 操作数据库实例
db
.classpath 280B
assets
src
com
test
DBActivity.java 4KB
ToDoDB.java 2KB
res
drawable-mdpi
icon.png 3KB
drawable-ldpi
icon.png 2KB
values
strings.xml 375B
color.xml 200B
layout
main.xml 820B
list.xml 508B
drawable-hdpi
icon.png 4KB
bin
resources.ap_ 12KB
DBActivity.apk 17KB
classes.dex 8KB
com
test
R$string.class 541B
R$layout.class 392B
R$id.class 429B
R$attr.class 310B
DBActivity$2.class 2KB
ToDoDB.class 3KB
DBActivity.class 4KB
R$drawable.class 455B
DBActivity$1.class 2KB
R.class 461B
default.properties 449B
.project 838B
AndroidManifest.xml 673B
gen
com
test
R.java 1KB
共 27 条
- 1
资源评论
大富大贵7
- 粉丝: 389
- 资源: 8868
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 获取CPU的序列号的Python脚本
- 4354图446546546546546
- 邮箱管理技巧:减少垃圾邮件的9项实用措施
- 三汇SMG 系列D 型模拟网关用户手册,用于三汇SMG系列网关配置
- Siemens Automation Framework V1.2
- 单个IO口检测多个按键
- 汇川EASY32x固件6.3.0.0
- 高分成品毕业设计《基于SSM(Spring、Spring MVC、MyBatis)+MySQL开发个人财务管理系统》+源码+论文+说明文档+数据库
- 高分成品毕业设计《基于SSM(Spring、Spring MVC、MyBatis)+MySQL开发B2C电子商务平台》+源码+论文+说明文档+数据库
- HKJC_3in1_TR_PROD_L3.0R1An_Build10229.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功