当前位置: 首页 > 编程笔记 >

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

云镜
2023-03-14
本文向大家介绍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.复写oncreate和onupgrdate方法:

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

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

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

区别:

getReadableDatabase:

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

getWritableDatabase:

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

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

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

 类似资料:
  • 本文向大家介绍Python实现数据库编程方法详解,包括了Python实现数据库编程方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现数据库编程方法。分享给大家供大家参考。具体分析如下: 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方便快捷.以下是我在工作和学习中经验总结. 方法一:使用DAO (Data Acce

  • 本文向大家介绍Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法,包括了Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法。分享给大家供大家参考,具体如下: 前言:laravel创建数据库,实际可以手动创建,如古老的

  • 本文向大家介绍Android编程使用sax解析xml数据的方法详解,包括了Android编程使用sax解析xml数据的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程使用sax解析xml数据的方法。分享给大家供大家参考,具体如下: 随着技术的发展,现在的web已经和以前不同了。web已经逐渐像移动的方向倾斜,作为程序员的确应该拓展一下自己的知识层面。学习各方面的知

  • 问题内容: 嗨,我在Android中创建sqlite数据库时遇到了一些问题。 在模拟器上一切正常,我可以创建数据库。但这在实际的机器上不起作用。当我尝试在手机上调试应用程序时,它只是无法创建数据库。 谁能告诉我发生了什么事?我需要在清单文件中添加任何特殊权限吗?我已经尝试过ACCESS_CHECKIN_PROPERTIES或WRITE_EXTERNAL_STORAGE,但是仍然无法获取数据库。 顺

  • 本文向大家介绍Java编程中使用JDBC API连接数据库和创建程序的方法,包括了Java编程中使用JDBC API连接数据库和创建程序的方法的使用技巧和注意事项,需要的朋友参考一下 JDBC连接数据库 涉及到建立一个JDBC连接的编程是相当简单的。下面是这些简单的四个步骤: 导入JDBC包: 添加import语句到Java程序导入所需的类在Java代码中。 注册JDBC驱动程序:这一步会导致JV

  • 本文向大家介绍MySQL主从数据库搭建方法详解,包括了MySQL主从数据库搭建方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MySQL主从数据库搭建方法。分享给大家供大家参考,具体如下: 主从服务器是mysql实时数据同步备份的一个非常好的方案了,现在各大中小型网都都会使用mysql数据库主从服务器功能来对网站数据库进行异步备份了,下面我们来给大家介绍主从服务器配置步骤。 Mys