Android Studio 使用SQLite数据库并用adb shell查看(非常基础版)

SQLite是Android Studio内置的一款轻量级的关系型数据库,支持标准的SQL语法,可以很快上手。

Android Studio专门提供了一个SQLiteOpenHelper帮助类来管理数据库。SQLiteOpenHelper是一个抽象类,我们使用的时候需要创建一个新的类去继承它。SQLiteOpenHelper有两个抽象方法onCreate()和onUpgrade(),继承它的类中需要重写这两个方法,然后在这两个方法中实现数据库的创建和升级。

SQLiteOpenHelper有两个重要的实例方法:getReadableDatabase()getWritableDatabase()
相同点:都可以创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象
不同点:当数据库不可写入时,getReadableDatabase()返回的对象将以只读的方式打开数据库,getWritableDatabase()会出现异常

首先,在自己的工程中创建一个新的类MyDatabaseHelper并继承SQLiteOpenHelper【新的类的名字可以自己定义】
然后写一个构造函数。SQLiteOpenHelper有两个构造函数可重写,一般使用参数少的那个。

public class MyDatabaseHelper extends SQLiteOpenHelper {

	private Context mContext;
	
    public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){
        super(context,name,factory,version);
        mContext=context;
    }

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

接着我们写一个创建表的SQL语句,这里我创建了一个学生管理表student,属性有学生学号和姓名。text表示文本类型,primary key表示是主键,autoincrement表示是自增长。
重点就是要使用SQLiteDatabase的execSQL() 方法执行建表语句

public class MyDatabaseHelper extends SQLiteOpenHelper {

	public static final String CREATE_STU="create table student("
            +"id integer primary key autoincrement,"
            +"stu_id text,"
            +"name text)";
            
	@Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_STU);
    }
            
	……
}

activity_main.xml的代码很简单,就是放置一个Button来创建数据库

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

    <Button
        android:id="@+id/create_database"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Create database" />
</LinearLayout>

在MainActivity中,我们需要构建一个MyDatabaseHelper对象(这个类是继承了SQLiteOpenHelper的那个类),指定数据库的名字为StudentManager.db,再给Button一个点击事件,当点击Button时,调用getWritableDatabase()方法创建数据库和表

public class MainActivity extends AppCompatActivity {

    private MyDatabaseHelper dbHelpr;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelpr=new MyDatabaseHelper(this,"StudentManager.db",null,1);
        Button createDatabase=(Button)findViewById(R.id.create_database);
        createDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dbHelpr.getWritableDatabase();
            }
        });
    }
}

运行模拟器后
在这里插入图片描述
在创建完数据库和数据表后,如何查看呢?
第一可以使用SQLiteStudio(图形化界面),第二使用adb shell(Android Studio自带的调试工具)查看,这里我先使用了adb shell来查看。

这里注意!!使用adb需要root权限 Android6.0以上的模拟器是没有root权限的!!所以这里我使用了6.0的模拟器(简单粗暴)

adb存放在sdk的platform-tools目录下,我们需要把它的路径配置到环境变量中。我的路径是D:\Android\SDK\platform-tools
【右击计算机或此电脑—属性—高级属性—环境变量】
在这里插入图片描述
【下面的操作一定要保证模拟器全程都在运行中】
进入cmd命令行界面,输入adb shell。#表示是超级管理员,$表示是普遍管理员。普遍管理员需要输入su命令切换成超级管理员。
在这里插入图片描述
数据库文件都会放在/data/data/<包名>/databases/下面,所以要cd进入
在这里插入图片描述
输入sqlite3 <数据库名称>可以打开数据库
在这里插入图片描述
输入.table即可查看已创建的表
在这里插入图片描述

以上就是最最基础的SQLite数据库的创建和查看啦!!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值