关闭

android sqlite轻量级数据库的基本运用之创建数据库

标签: 数据库androidsqlite移动设备存储
1834人阅读 评论(1) 收藏 举报
分类:

文件存储和SharedPreferences存储毕竟只适用于去保存一些简单的数据和键值对,当需要存储大量复杂的关系型数据的时候,你就会发现以上两种存储方式很难应,所以这个时候我们需要sqlite的帮助了

*作为android内置的一个轻量级数据库它的运算速度非常快,占用资源很少, 通常只需要几百 K 的内存就足够了, 因而特别适合在移动设备上使用。 SQLite不仅支持标准的 SQL 语法,还遵循了数据库的 ACID 事务,所以只要你以前使用过其他的数据库 ,就可以很快的上手sqlite了

首先 我们要想使用sqlite,必须使用android给我们提供的一个叫 SQLiteOpenHelper 的抽象类,我们可以借助这个类对数据库进行修改与更新,既然是抽象类就意味着我们需要将它继承,并重写他的两个方法,分别是 onUpgrade() 与 onCreate(),如果你的英语功底好 不难看出这两个方法就是创建数据库与更新数据库了

好了,理论讲的差不多了,接下来,开始撸代码了,我们首先创建一个数据库,并且向数据库里面添加一张关于书籍的表单

首先我们先创建出继承 SQLiteOpenHelper 的帮助类 并且重写onUpgrade() 与 onCreate()这两个方法


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

/**
 * Created by blue on 2016/7/15.
 */
public class MyDataBase extends SQLiteOpenHelper {

     public static final String sqlStatements = "create table book ("
            + "id integer primary key autoincrement, "
            + "author text, "
            + "price real, "
            + "pages integer, "
            + "name text)";

    private Context context;

    public MyDataBase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        this.context = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(sqlStatements);
        Toast.makeText(context,"数据库创建成功",Toast.LENGTH_SHORT).show();

    }

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

    }
}

从上面的代码我们可以看出,我们写了一条String类型的sql语句 创建book这个表单,这个表单包含author id price pages name 这四个字段,然后我们oncreate函数中通过execSQL这个方法来向数据库中添加这张表单


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);
        MyDataBase dataBase = new MyDataBase(this,"bookManager.db",null,1);
        dataBase.getWritableDatabase();

    }
}

然后我们在MainAcitivity的OnCreate函数 new MyDataBase这个对象 ,然后通过构造函数的参数将数据库名指定为 BookManager.db,版本号指定为 1,然后调用了getWritableDatabase()方法就会检测到当前程序中并没有BookManager.db这个数据库, 于是会创建该数据库并调用 MyDatabaseHelper中的 onCreate()方法,这样 Book 表也就得到了创建,当我们的程序第一次启动后然后就会显示一条toast信息,但是第二次启动的时候就不会显示这条Toast了,

接下来我们看一下启动后的情况

由于我是用的真机进行开发,所以是看不到数据库文件的,所以就不能展示数据库文件了

2
0
查看评论

Android-指定路径创建 SQLite

前言 今天大佬让我把创建的数据库存储路径改为 SD 下,自信满满低改了结果崩溃,在此记录一下。 正文 我们创建数据库一般就是集成 SQLiteHelper ,在构造方法把 DB_NAME 传进入,就会默认在 data/data/<`package_name&...
  • SH_LURENJIA
  • SH_LURENJIA
  • 2017-12-14 21:27
  • 146

Android学习之轻量级数据库SQLite

Android中对数据的存储有很多种方式,Google为Andriod中较大的数据处理提供了SQLite数据库,SQLite是一款轻型的数据库,它在管理、使用和维护上非常强大。当然最主要的特点还是它的轻量级,适合在移动设备上使用。
  • qq_23940659
  • qq_23940659
  • 2016-03-21 20:46
  • 1263

轻量级数据库sqlite的使用

本文不涉及一些概念性的东西,请大家多多原谅 这个就是Android sqlite的简单框架。 使用sqlite 大概分为3步 第一步:创建自己的sqliteopenhelper类 第二步:创建数据库中的dao层 ,其中分装了对数据库的操作 第三步:在activity...
  • u012938203
  • u012938203
  • 2015-06-04 20:55
  • 856

android--sqlite数据库创建的真正时候

最近项目不忙,打算自己封装android 数据库的操作。以前都是把别人的代码copy下来就用,今天意识到自己不亲手写一遍,东西始终是别人的。       如果想要在android中使用数据库,使用SQLite是一个非常好的选择,因为它是andr...
  • u012489412
  • u012489412
  • 2015-11-10 16:10
  • 1648

SQLite创建数据库失败

1.现象:.创建不出来数据库, 解决:测试用的项目包明以db结尾了,重新创建项目改成dbtest就没事了。 2.现象;创建出来数据库,但是数据库中没有表项 解决:db.execSQL("create table " + TABLE_NEWS_NAME + " ( ...
  • u013173289
  • u013173289
  • 2014-08-03 16:52
  • 1305

android sqlite 创建数据库和表到安装路径下的 Helper类

package com.tool; import android.annotation.SuppressLint; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; impor...
  • u013758456
  • u013758456
  • 2016-11-04 16:04
  • 659

【android】SQLite数据库的创建和操作、SQLite数据库可视化

SQLite数据库的创建和操作和数据库可视化
  • chentravelling
  • chentravelling
  • 2015-12-17 20:35
  • 3105

android创建SQlite数据库和表格详解

一、android创建数据库和MySQL的区别无非就是创建库和使用的API不同,如果熟悉增删改查语句,在android中增删改查语句同样适用,比较方便 思路:创建一个类,继承SQLiteOpenHelper(数据库常见) 二、创建数据库和表格:       1...
  • ye1714505125
  • ye1714505125
  • 2016-02-27 10:24
  • 486

Android学习中关于SQLite的一个小Demo(数据库的创建、数据的增删查改)

最近学习Android,做了一些小的东西,一直没有时间做个总结。经常总结对于学习新东西是很好的,说以今天整理一下自己做的东西,希望这样也有助于其他人学习。我做的是一个基于Android平台,使用SQLite构建数据库,并且创建表来存储数据,还会涉及到数据的增删查改。
  • u010715434
  • u010715434
  • 2015-05-14 17:47
  • 2295

Android创建和使用数据库

一、关系型数据库SQLIte         每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alpha版本诞生于2000年5月,...
  • chaoyu168
  • chaoyu168
  • 2015-12-11 10:49
  • 12611
    个人资料
    • 访问:112176次
    • 积分:1387
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:3篇
    • 译文:0篇
    • 评论:32条
    博客专栏
    最新评论