SQLite
一种轻量级的数据库,且掉电不丢失。一般存在于data->data->应用程序包名->databases下。
此处仅仅演示使用(继承类写成了内部类),无布局文件,多数方法已经放在程序中且 多用SQL语句实现:。
package com.example.newland.g20190821;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化内部类,第一个参数是上下文,第二个参数是数据库的名称
SqlTry sqlTry = new SqlTry(MainActivity.this,"FirstDataBase");
//创建数据库
SQLiteDatabase sqLiteDatabase = sqlTry.getWritableDatabase();
//执行无返回值的SQL语句
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(0,'格林童话')");
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(1,'安徒生童话')");
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(2,'格列佛游记')");
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(3,'海底两万里')");
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(4,'三字经')");
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(5,'百家姓')");
sqLiteDatabase.execSQL("Insert into Book(id,BookName) values(6,'聊斋志异')");
//执行有返回值得SQL语句 返回值为Cursor游标
Cursor cursor = sqLiteDatabase.rawQuery("Select * from Book",null);
/*
//游标移动到下一个
cursor.moveToNext();
//根据属性名称返回序号,参数是列名
cursor.getColumnIndex("");
*/
while (cursor.moveToNext())
Log.i("11111111","id:"+cursor.getInt(cursor.getColumnIndex("id"))+"书名:"+cursor.getString(cursor.getColumnIndex("BookName")));
sqLiteDatabase.close();
}
}
class SqlTry extends SQLiteOpenHelper {
//自定义 版本号
private final static int VERSION = 1;
//系统默认创建构造方法
public SqlTry( Context context, String name) {
super(context,name,null,VERSION);
}
//创建数据库的 表 时调用的函数
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("Create table Book(id int,BookName char(100))");
}
//更新数据库时调用的函数
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
Windows ADB命令中查看:
这里有个sqlite3工具,其一般在android-sdk\platfrom-tools中,这里将其复制出来粘贴到Windows的Administrator中,不同的计算机可能名字不同,同时将三个adb(不分大小写)打头的一并复制出来并粘贴到与sqlite3的相同目录中:(四个时间相同的目录中)
然后打开Windows的cmd窗口输入adb显示:
配置成功,然后将Android Studio中的
保存到本地,这里是保存在了D盘,之后再刚才的命令框中输入sqlite3 +文件保存路径
进入以下界面:
便可以输入SQL语句,这里一定要加上 分号 ;
便可以查看