Hi_Amos
坚持每天都在进步!!
随笔 - 224,  文章 - 2,  评论 - 192,  阅读 - 94万

一.android中使用什么数据库?

SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程式庫中。它是D.RichardHipp建立的公有领域项目.SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

值得一提的是,android和ios使用的数据库一样,都是SQLite.

二.如何创建一个数据库?

1.使用intelij idea创建一个andorid项目

 

2.创建如下工具类:

MyDBHelper.java

复制代码
package com.amos.android_database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
 * Created by amosli on 14-6-10.
 */
public class MyDBHelper extends SQLiteOpenHelper{
    /**
     * 创建数据库的构造方法
     * @param context 应用程序上下文
     * name 数据库的名字
     * factory 查询数据库的游标工厂一般情况下用sdk默认的
     * version 数据库的版本一般大于0
     */
    public MyDBHelper(Context context) {
        super(context, "test.db", null, 4);
    }
    private String tag = "MyDBHelper.class";
    /**
     * 在数据库第一次创建时会执行
     * @param db
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.d(tag,"onCreate.....");
        //创建一个数据库
        db.execSQL("create table person (personid integer primary key autoincrement ,name varchar(30) )");

    }

    /**
     * 更新数据的时候调用的方法
     * @param db
     * @param oldVersion
     * @param newVersion
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.d(tag,"onUpgrade*******");
        //增加一列
        db.execSQL("alter table person add phone varchar(13) null");

    }
}
复制代码

MyActivity.java

复制代码
package com.amos.android_database;

import android.app.Activity;
import android.os.Bundle;

public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MyDBHelper myDBHelper = new MyDBHelper(this);
        myDBHelper.getReadableDatabase();
        myDBHelper.close();

    }
}
复制代码

 

3.打开生成的test.db

1).下载安装SQLiteStudio(SQLite的可视化工具)

下载地址:http://www.sqlitestudio.pl/ 

安装:

chmod 777 sqlitestudio-2.1.5.bin

./sqlitestudio-2.1.5.bin

执行上面的linux命令,第一句是赋权限,第二句是打开工具

2)从avd中导出test.db

打开DDMS,从data/data/com.amos.andriod_database/databases下导出test.db

3).用sqlitestudio打开test.db

添加数据库

选择test.db

执行onCreate方法时创建的person表

 

执行onUpgrade方法更新语句的时候

 

本文源码:https://github.com/amosli/android_basic

 

posted on   Hi_Amos  阅读(6602)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示