Android开发--初探SQLiteDataBase/数据库的创建,更新,插入,查询
来源:互联网 发布:java pos机交互 编辑:程序博客网 时间:2024/06/02 13:22
在应用程序的开发中,我们常常会用到数据库,由于手机的内存相对于电脑来说非常小,且存储容量有限,所以一般选用SQLiteDataBase来作为储存数据的数据库。
下面的例子实现的是数据库的创建,更新,插入,查询等操作。
实现的截图如下:
1)当用户点击第一个按钮后,系统创建一个数据库,其中包含一张空的表
2)当用户点击第二个按钮后,系统根据传递的版本参数进行比较,如果新的版本号较高,则删除前一个版本号较低的数据库文件(同名则删除),并创建一个新的数据库文件
3)点击第三个按钮后,插入一条记录,并保存在表中
4)点击第四个按钮,是对表中的记录进行更新
5)这个按钮实现的功能是查询数据库中的记录,如果查询到相应的记录则给出日志文件,以供参考。
下面是具体的实现代码:
为了数据库升级的需要以及使用更方便,一般使用SQLiteOpenHelper的子类完成创建,打开数据库,以及各种对数据库的操作
public class DataBaseHelper extends SQLiteOpenHelper{private static final int VERSION=1;public DataBaseHelper(Context context, String name, CursorFactory factory,int version) {super(context, name, factory, version);// TODO Auto-generated constructor stub}/* * 在这里为了操作数据库定义了两个构造函数 */public DataBaseHelper(Context context,String name){this(context,name,VERSION);}public DataBaseHelper(Context context,String name,int version){this(context,name,null,version);} /* * 数据库文件在第一次被创建时调用onCreate方法 */@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stubLog.i("Database", "create a Database");db.execSQL("create table user(id int,name varchar(20))");} //如果数据库文件存在,且当前的版本较高,就会调用onUpgrade方法来升级数据库,并更新版本号@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stubLog.i("Database", "update a Database");}}
对数据库进行操作的代码如下:
public class SQLiteActivity extends Activity { private Button button1; private Button button2; private Button button3; private Button button4; private Button button5;@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sqlite); button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubLog.i("Database", "create a Database");DataBaseHelper db=new DataBaseHelper(SQLiteActivity.this,"brucezhang_sqlite");db.getReadableDatabase();}}); button2=(Button)findViewById(R.id.button2); button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDataBaseHelper dbBaseHelper=new DataBaseHelper(SQLiteActivity.this, "BruceZhang_sqlite", 2);dbBaseHelper.getReadableDatabase();}}); button3=(Button)findViewById(R.id.button3); button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub/* * ContentValues用于存储键值对集,由于语句db.insert("user", null, contentValues); * 的第三个参数需要使用此类型 */ContentValues contentValues=new ContentValues();contentValues.put("id", 1);contentValues.put("name", "BruceZhang");DataBaseHelper dbHelper=new DataBaseHelper(SQLiteActivity.this, "BruceZhang_sqlite");SQLiteDatabase db=dbHelper.getWritableDatabase();db.insert("user", null, contentValues);}}); button4=(Button)findViewById(R.id.button4); button4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDataBaseHelper daHelper=new DataBaseHelper(SQLiteActivity.this, "BruceZhang_sqlite");SQLiteDatabase dbDatabase=daHelper.getWritableDatabase();ContentValues contentValues=new ContentValues();contentValues.put("name", "ZhangHu");dbDatabase.update("user", contentValues, "id=?",new String[]{"1"});}}); button5=(Button)findViewById(R.id.button5); button5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDataBaseHelper daHelper=new DataBaseHelper(SQLiteActivity.this, "BruceZhang_sqlite");SQLiteDatabase db=daHelper.getReadableDatabase();Cursor cursor=db.query("user", new String[]{"id","name"},"id=?",new String[]{"1"},null,null,null);while(cursor.moveToNext()){String name=cursor.getString(cursor.getColumnIndex("name"));Log.i("DATABASE", name);}}}); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_sqlite, menu); return true; }}
- Android开发--初探SQLiteDataBase/数据库的创建,更新,插入,查询
- Android 创建数据库 SQliteDatabase
- Android sqlitedatabase 数据库创建
- Android 数据库SQLiteDatabase的使用
- Android 数据库SQLiteDatabase的使用
- Android 数据库SQLiteDatabase的使用!!
- Android 数据库SQLiteDatabase的使用!!
- Android SQLiteDatabase数据库的总结
- Android 创建数据库(使用SqliteDataBase)
- SQLite3(创建、插入、查询、更新数据库和表)
- MySQL基本操作:数据库的创建、查询、更新、插入、删除表格
- SQLiteDatabase 在sdcard创建数据库的步骤
- android SQliteDatabase 数据的更新问题
- Android学习笔记----SQLiteDatabase 自带添加、删除、更新、查询的操作方法:实现添加,删除,更新,查询,和分页,统计
- Android Sqlite数据库执行插入查询更新删除的操作对比
- Android Sqlite数据库执行插入查询更新删除的操作对比
- SQLiteDatabase 自带添加、删除、更新、查询的操作方
- Android获取操作数据库的SQLiteDatabase实例
- 随笔:1 2 3 4 5 6 7 8 9 =110 在左边数字之间加入运算符(+、-或不加),使得等式成立
- 我是...
- 一滴泪,一片海
- ANSI字符和Unicode字符与字符串数据类型
- 微内核操作系统及L4概述
- Android开发--初探SQLiteDataBase/数据库的创建,更新,插入,查询
- javaWeb_07-UML描述web资源访问流程
- using namespace std
- ubuntu dpkg命令总结
- oracle open resetlogs
- Asp.net—查询数据库中记录
- 窥探 kernel --- 几个linux学习资源分享
- Sqlite
- arcgis server api for flex 笔记