SQLiteOpenHelper学习
2024-09-16 03:43:38
0.视频:http://www.imooc.com/video/3384
1.SQLiteOpenHelper笔记:
2.SQLiteOpenHelper.java代码:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper; public class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelper(Context context, String name) {
super(context, name,null, 1);
// TODO Auto-generated constructor stub
}
public DBOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//首次创建数据库时调用 一般有建库建表的操作
db.execSQL("create table if not exists stutb(_id integer primary key autoincrement,name text not null,sex text not null,age integer not null)");
db.execSQL("insert into stutb(name,sex,age)values('张三','女',18)");
} @Override//当数据库的版本发生变化的时候 会自动执行
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub } }
3.MainActivity.java:
import com.example.sqlitedemo03.DBOpenHelper;
import com.example.sqlitedemo03.MainActivity; import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.Menu; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DBOpenHelper helper = new DBOpenHelper(MainActivity.this, "stu.db");
// helper.getReadableDatabase();//获取一个只读的数据库 只能查询 不能写入 不能更新
SQLiteDatabase db = helper.getWritableDatabase();
// db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy)
Cursor c = db.rawQuery("select * from stutb", null);
if (c!=null) {
String [] cols = c.getColumnNames();
while (c.moveToNext()) {
for (String ColumnName : cols) {
Log.i("info", ColumnName+":"+c.getString(c.getColumnIndex(ColumnName)));
}
}
c.close();
}
db.close();
}
}
4.运行结果:
5.小记:构造方法重载的使用。
最新文章
- Linux常用命令
- form表单中enctype=";multipart/form-data";的作用
- 2017-1-2 nfs服务器配置
- 向ArcGIS的ToolBarControl中添加任意的windows控件的方法
- 设置drawable图片
- wxWidgets进度条
- SQL游标
- (转)Linux内核之进程和系统调用
- 《12个有趣的C语言问答》(4)
- Nginx之旅系列 - Nginx日志功能 PK Linux内核printk
- csu oj Infected Computer 1427
- Chapter 2 Open Book——7
- Spring知识整理
- freemarker 类型转换
- 【一天一道LeetCode】#328 Odd Even Linked List
- LeetCode 929.Unique Email Addresses
- nginx 负载均衡(默认算法)
- Kafka实战解惑
- Nordic Collegiate Programming Contest NCPC 2017-Problem D-Distinctive Character
- VirtualBox 端口转发 SSH