Android编程之数据库的创建方法详解

 更新时间:2017年08月25日 15:01:06   作者:Qi_Yuan  
这篇文章主要介绍了Android编程之数据库的创建方法,结合实例形式分析了Android数据库创建的步骤、实现技巧与相关注意事项,需要的朋友可以参考下

本文实例讲述了Android编程之数据库的创建方法。分享给大家供大家参考,具体如下:

主java

package com.itheima.createdatabase;
import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
public class MainActivity extends Activity {
  private Context mContext;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mContext = this;
    //创建一个帮助类对象
    MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext);
    //调用getReadableDatabase方法,来初始化数据库的创建
    SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
  }
}

同一目录下创建一个类继承于数据库

package com.itheima.createdatabase;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MySqliteOpenHelper extends SQLiteOpenHelper {
  public MySqliteOpenHelper(Context context) {
    //context :上下文  , name:数据库文件的名称  factory:用来创建cursor对象,默认为null
    //version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法将会调用,4.0之后只能升不能将
    super(context, "info.db", null,1);
  }
  //oncreate方法是数据库第一次创建的时候会被调用; 特别适合做表结构的初始化,需要执行sql语句;SQLiteDatabase db可以用来执行sql语句
  @Override
  public void onCreate(SQLiteDatabase db) {
    //通过SQLiteDatabase执行一个创建表的sql语句
    db.execSQL("create table info (_id integer primary key autoincrement,name varchar(20))");
  }
  //onUpgrade数据库版本号发生改变时才会执行; 特别适合做表结构的修改
  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    //添加一个phone字段
    db.execSQL("alter table info add phone varchar(11)");
  }
}

笔记:

什么情况下我们才用数据库做数据存储? 大量数据结构相同的数据需要存储时。

mysql sqlserver2000  sqlite 嵌入式 轻量级

SqliteOpenHelper

创建数据库步骤:

1.创建一个类继承SqliteOpenHelper,需要添加一个构造方法,实现两个方法oncreate ,onupgrade

构造方法中的参数介绍:

context :上下文   , name:数据库文件的名称    factory:用来创建cursor对象,默认为null

version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法将会调用,4.0之后只能升不能降

super(context, "info.db", null,1);

2.创建这个帮助类的一个对象,调用getReadableDatabase()方法,会帮助我们创建打开一个数据库

3.复写oncreateonupgrdate方法:

oncreate方法是数据库第一次创建的时候会被调用;  特别适合做表结构的初始化,需要执行sql语句;SQLiteDatabase db可以用来执行sql语句

onUpgrade数据库版本号发生改变时才会执行; 特别适合做表结构的修改

帮助类对象中的getWritableDatabase 和 getReadableDatabase都可以帮助我们获取一个数据库操作对象SqliteDatabase.

区别:

getReadableDatabase:

先尝试以读写方式打开数据库,如果磁盘空间满了,他会重新尝试以只读方式打开数据库。

getWritableDatabase:

直接以读写方式打开数据库,如果磁盘空间满了,就直接报错。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android操作SQLite数据库技巧总结》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • 如何通过Battery Historian分析Android APP耗电情况

    如何通过Battery Historian分析Android APP耗电情况

    Android 从两个层面统计电量的消耗,分别为软件排行榜及硬件排行榜。它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单。这两个排行榜的统计是互为独立,互不干扰的
    2021-06-06
  • Android控件系列之ImageView使用方法

    Android控件系列之ImageView使用方法

    Android控件系列之ImageView使用方法,学习android的朋友可以参考下
    2012-11-11
  • Android ViewPager实现无限循环效果

    Android ViewPager实现无限循环效果

    这篇文章主要为大家详细介绍了Android ViewPager实现无限循环效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Android获取文字高度的三种方法

    Android获取文字高度的三种方法

    这篇文章主要给大家介绍了Android获取文字高度的三种方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Android Koin2基本使用的那件事儿

    Android Koin2基本使用的那件事儿

    这篇文章主要给大家介绍了关于Android Koin2基本使用的那件事儿,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Android 扫描附近的蓝牙设备并连接蓝牙音响的示例

    Android 扫描附近的蓝牙设备并连接蓝牙音响的示例

    本篇文章主要介绍了Android 扫描附近的蓝牙设备并连接蓝牙音响的示例,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • Android 创建依赖库的方法(保姆级教程)

    Android 创建依赖库的方法(保姆级教程)

    这篇文章主要介绍了Android 创建依赖库的方法(保姆级教程),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 详解JS与APP原生控件交互

    详解JS与APP原生控件交互

    本文主要分享了JavaScript与Android、IOS原生控件之间相互通信的详细代码实现,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Android 组件样式定制方法详解

    Android 组件样式定制方法详解

    这篇文章主要介绍了Android 组件样式定制方法详解,需要的朋友可以参考下
    2015-10-10
  • Rxjava实现发送验证码倒计时功能

    Rxjava实现发送验证码倒计时功能

    这篇文章主要为大家详细介绍了Rxjava实现发送验证码倒计时功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论