SQlite3 数据库初步建立(1)

工具:Android Stduio

在开发手机应用中,一般会通过代码创建数据库,没有数据库的话就会自动生成一个数据库。

在安卓中提供了一个数据库辅助类SQLiteOpenHelper在该类的构造器中,调用Context中方法创建并打开一个指定名称的数据库,我们在应用这个类时,需要编写继承自SQLiteOpenHelper类的子类,并且重写onCreate()和onUpgrade()方法。

下面是一个例子。

package com.example.administrator.loginf;

import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.*;

/**
 * Created by Administrator on 2017/10/10/010.
 */

public class DBOpenHelper extends SQLiteOpenHelper{
    private static final int VERSION =1;                        //定义数据库版本号
    private static final String DBNAME ="account.db";           //定义数据库名
    public DBOpenHelper(Context context)                            //定义构造器
    {
        super(context,DBNAME,null,VERSION);                        //重写基类的构造函数
    }
    @Override
    public void onCreate(SQLiteDatabase dq) {                        //创建数据库
        //创建支出信息表
        dq.execSQL("create table tb_outaccount(_id integer primary key,"+"money decimal,time varchar(20),"+"type varchar(10),address varchar(100),mark varchar(200)");
       //创建收入信息表
        dq.execSQL("create table tb_inaccount(_id integer primary key,"+"money decimal,time varchar(10),"+"type varchar(20),handler varchar(100),mark varcahr(200)");
        dq.execSQL("create table tb_pwd(password varchar(20))");   //创建密码表
        dq.execSQL("create table tb_flag(_id integer primary key,"+"flag varchar(200))");  //创建便签信息表

    }

    @Override
    public void onUpgrade(SQLiteDatabase dq, int oldVersion, int newVersion) {

    }

}
期间发现了一个问题就是Content这里显红
 public DBOpenHelper(Context context)                            //定义构造器
    {
        super(context,DBNAME,null,VERSION);                        //重写基类的构造函数
    }
如果显红的话意思就是没有导入这个包,所以我们需要导入这个包

import android.content.*;
即可

打开默认创建的MainActivity,在重写的onCreate方法中,首先创建并初始化步骤(1)创建的DBOpenHelper类对象,然后调用getWritableDatabase()方法初始化SQLiteDatabase对象

import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        DBOpenHelper helper=new DBOpenHelper(this);
        SQLiteDatabase dq = helper.getWritableDatabase();
    }


扫描二维码关注公众号,回复: 141748 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_16519957/article/details/78191128