文章标题
来源:互联网 发布:网络监控 编辑:程序博客网 时间:2024/06/17 07:15
一:1.创建一个包创建数据库类继承sqliteOpenHelper
MyDataBaseOpenHelper extends SQLiteOpenHelper
2.重写构造方法,参数是上下文;
// 1.创建构造方法,并修改super 里面的参数
//. 参数context:上下文.test.db:表名称 ;null:默认游标,2代表版本
public MyDataBaseOpenHelper(Context context) {
super(context, “test.db”, null, 2);
}
3.重写两个方法oncreates(); onupgrade();
重写onCreate()方法,当数据第一次创建的时候调用.
//这个方法只执行一次,在这个方法里创建表结构
public void onCreate(SQLiteDatabase db) {//整形,组件,自增长
db.execSQL(“create table student (_id integer primary key” +
” autoincrement,name varchar(20),phone varchar(30))”);
} //当数据库需要更新时调用的方法 ,数据库只能升级不能 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}
二步:创建一个单独的Dao包创建一个类,对数据实现增删改查
三步:1.在src下:MainActivity.java里创建帮助类对象//创建数据库对象
MyDataBaseOpenHelper helper=new MyDataBaseOpenHelper(this);
2.通过helper 对象调用了一个可读可写的方法,数据库才会被创建:
helper.getWritableDatabase();
代码:第一步如下:
package com.heima.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDataBaseOpenHelper extends SQLiteOpenHelper {
//1.创建构造方法,并修改super 里面的参数//.参数context:上下文.test.db:表名称 ;null,2代表版本public MyDataBaseOpenHelper(Context context) { super(context, "test.db", null, 2);}//重写onCreate()方法,当数据第一次创建的时候调用.//这个方法只执行一次,在这个方法里创建表结构public void onCreate(SQLiteDatabase db) {//整形,组件,自增长 db.execSQL("create table student (_id integer primary key" + " autoincrement,name varchar(20),phone varchar(30))");} //当数据库需要更新时调用的方法 ,数据库只能升级不能 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}
代码第二步:
package com.heima.dao;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.heima.db.MyDataBaseOpenHelper;
public class StudentDao {
private MyDataBaseOpenHelper helper;
//生成一个有参的构造函数 ,要求必须传入上下文
public StudentDao(Context context) {
helper=new MyDataBaseOpenHelper(context);
}
//添加一个学生,姓名:name.性别sex,male female;
public void add(String name, String sex){
//得到一个可写的方法
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(“inert into student(name,sex) values(?,?)”, new Object[]{name,sex});
db.close();//关闭资源
}
//删除一个学生
public void delete(String name){
//得到一个可写的方法
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(“delete from student where name=?”, new Object[]{name});
db.close();//关闭资源
}
//修改学生的性别 姓名name; newsex
public void update(String name, String newsex){
//得到一个可写的方法
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(“update student set sex=?where name=?”, new Object[]{name});
db.close();//关闭资源
}
//查询学生的性别 name
public String find(String name){
String sex=null;
SQLiteDatabase db = helper.getReadableDatabase();
//返回一个结果集
Cursor cursor=db.rawQuery(“select sex from student where name=?”, new String[]{name});
//游标向下移动
boolean result = cursor.moveToNext();
if(result){
sex=cursor.getString(0);
}
cursor.close();
db.close();
return sex;
}
}
=========================================================================
代码第三步 :如下
package com.heima.db;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //创建数据库对象 MyDataBaseOpenHelper helper=new MyDataBaseOpenHelper(this); //这一行代码执行了数据库才会被创建 通过helper得到一个可读或可写的方法,数据库才会被创建 helper.getWritableDatabase();}
}
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Python--Python抓取花椒网人气主播全教程(附:代码)
- >> << 0xf 等用法
- sql server 2008 远程订阅发布
- Android自定义标题栏:显示网页加载进度
- ViewPager无限自动轮播+动画
- 文章标题
- 深入浅出RxJava(一:基础篇)
- url-pattern含义
- SEO优化步骤
- Android Weak Handler:可以避免内存泄漏的Handler库
- Solr之搭建Solr6.0服务并从Mysql上导入数据
- 5函数式编程---filter
- OAuth2.0协议 第三方登录 授权
- 两种方法在JS中使用项目根路径,以及从reques获取各种路径总结