安卓中对SQLite数据库的增删改查
来源:互联网 发布:net就业前景 知乎 编辑:程序博客网 时间:2024/05/19 03:24
第一步:编写一个java Bean
package com.itfom.entity;public class Person {private String name;private int age;private String phone;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}//创建构造函数public Person(){}public Person(String name,int age,String phone){this.name=name;this.age=age;this.phone=phone;}//重写toString@Overridepublic String toString() {return "姓名:"+name+"年龄:"+age+"电话:"+phone+"\n";}}
第二步:创建数据库package com.itfom.helper;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class OpenHelper extends SQLiteOpenHelper {public OpenHelper(Context context) {//这三个参数分别为上下文对象,数据库名称,游标,版本号super(context, "xsc.db", null, 1);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL("create table person(name varchar(50),age integer,phone varchar(50))");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 注:生产环境上不能做删除操作 db.execSQL("DROP TABLE IF EXISTS person"); onCreate(db);}}
第三步:创建数据库的操作类
package com.itfom.entitydao;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.itfom.entity.Person;import com.itfom.helper.OpenHelper;public class PersonDao {private OpenHelper helper = null; /** * 构造函数 * 调用getWritableDatabase()或getReadableDatabase()方法后,会缓存SQLiteDatabase实例; * 因为这里是手机应用程序,一般只有一个用户访问数据库,所以建议不关闭数据库,保持连接状态。 * getWritableDatabase(),getReadableDatabase的区别是当数据库写满时,调用前者会报错,调用后者不会, * 所以如果不是更新数据库的话,最好调用后者来获得数据库连接。 * 对于熟悉SQL语句的程序员最好使用exeSQL(),rawQuery(),因为比较直观明了 * @param context */ public PersonDao(Context context){ helper = new OpenHelper(context); } //实现对该数据库的增加 public void addPerson(Person person){ //获取操作实例 SQLiteDatabase db = helper.getWritableDatabase(); //此方法推荐使用 String sqlStr="insert into person(name,age,phone)values(?,?,?)"; //执行SQL语句 db.execSQL(sqlStr,new Object[]{person.getName(),person.getAge(),person.getPhone()}); //关闭数据库 db.close(); } //实现对数据库的删除 public void deletePerson(String name){ //获取数据库操作的实例 SQLiteDatabase db=helper.getWritableDatabase(); //创建SQL字符串 String sqlStr="delete from person where name=?"; db.execSQL(sqlStr,new String[]{name}); //关闭数据库 db.close(); } //实现对数据库的修改 public void updatePerson(Person person){ //获取数据库的操作实例 SQLiteDatabase db=helper.getWritableDatabase(); //创建SQl字符串 String sqlStr="update person set name=?,phone=?where age=?"; //执行SQL语句 db.execSQL(sqlStr, new Object[]{person.getName(),person.getPhone(),person.getAge()}); //关闭数据库 db.close(); } //实现对数据库的查询 public List<Person> selectPerson(){ //创建集合 List<Person> persons=new ArrayList<Person>(); //获取数据库操作实例 SQLiteDatabase db=helper.getReadableDatabase(); //创建Cursor对象 Cursor cursor=null; try {cursor = db.rawQuery("select * from person",null);while(cursor.moveToNext()){String name=cursor.getString(cursor.getColumnIndex("name"));int age=cursor.getInt(cursor.getColumnIndex("age"));String phone=cursor.getString(cursor.getColumnIndex("phone"));//创建Person对象Person p=new Person(name,age,phone);//将创建出来的Person对象添加到集合中去persons.add(p);}} catch (Exception e) {e.printStackTrace();}finally{//关闭相应的资源if(cursor!=null){cursor.close();}if(db!=null){db.close();}}return persons; }}第四步:开始测试package com.itfom.sqlite;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;import com.itfom.entity.Person;import com.itfom.entitydao.PersonDao;public class MainActivity extends Activity implements OnClickListener{//寻找控件Button btn_add,btn_delete,btn_update,btn_select;//创建数据库操作类的实例PersonDao pd=null;List<Person> persons=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}//自定义一个方法初始化数据public void init(){//初始化控件btn_add=(Button) findViewById(R.id.btn_add);btn_delete=(Button) findViewById(R.id.btn_delete);btn_update=(Button) findViewById(R.id.btn_update);btn_select=(Button) findViewById(R.id.btn_select);pd=new PersonDao(this);//为每个控件设置监听事件btn_add.setOnClickListener(this);btn_delete.setOnClickListener(this);btn_update.setOnClickListener(this);btn_select.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_add://添加数据//创建Person对象for (int i = 0; i <100; i++) {Person p=new Person("夏守成"+i,i,"1809527282");pd.addPerson(p);}Toast.makeText(this, "添加数据成功", Toast.LENGTH_SHORT).show();break;case R.id.btn_delete://删除数据pd.deletePerson("夏守成0");Toast.makeText(this, "删除数据成功", Toast.LENGTH_SHORT).show();break;case R.id.btn_update://更新数据//创建Person对象Person p=new Person("刘丹", 21, "110");pd.updatePerson(p);Toast.makeText(this, "数据更新成功", Toast.LENGTH_SHORT).show();break;case R.id.btn_select://查询数据persons=pd.selectPerson();//打印出这些数据for (Person person : persons) {System.out.println(person.toString());}Toast.makeText(this, "数据查询成功", Toast.LENGTH_SHORT).show();break;default:break;}}}
0 0
- 安卓中对SQLite数据库的增删改查
- android 对sqlite数据库的增删改查
- android 对sqlite数据库的增删改查
- android 对sqlite数据库的增删改查
- 转:android 对sqlite数据库的增删改查
- android 对sqlite数据库的增删改查
- 数据库:SQLite数据库的增删改查
- SQLite数据库---数据库的增删改查
- Java对SQLite的"增删改查"
- 安卓中实现对SQLITE数据表的增删改查
- SQLite数据库的增删改查代码
- Android数据库的SQLite增删改查
- SQLite数据库的增删改查
- SQLite数据库的增删改查
- SQLite数据库的增删改查
- android SQLite数据库的增删改查
- android sqlite数据库的增删改查
- SQLite数据库的增删改查
- STL学习笔记2 List
- Jquery UI draggable学习
- Convert.ToBase64String(Byte[])和Encoding.UTF8.GetString(Byte[])
- Apache CXF 2.7学习
- 第一个python程序
- 安卓中对SQLite数据库的增删改查
- ByteArrayInputStream源码分析
- TCP网络状态变换时序图
- c++读csv
- tomcat 启用Gzip 压缩进行优化
- Eclipse快捷键 10个最有用的快捷键
- 每个程序员都必须遵守的编程原则
- <!DOCTYPE> 标签的深度剖析以及使用选择
- EditURL与NavigateURL