android sqlite3的使用

本文详细介绍了在Android中使用SQLite3进行数据库操作的方法,包括创建数据库、更新数据库及获取数据库实例。同时,提供了查看数据库的具体步骤以及如何在电脑上查看数据库文件。通过实例演示了如何在应用中读取和写入数据,并提供了数据库文件的查找和查看方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在android中使用sqlite3很简单,就是继承 SQLiteOpenHelper类,然后重写onCreate和onUpdate方法。

oncreate是在数据库首次创建的时候调用,在onupdate是在已有数据库,但是版本不同的时候调用。

下面是我自己的dbhelper类

public class DBHelper extends SQLiteOpenHelper {
    private static String dbName = "video_path.db";//数据库名称
    private static String initSQL;//初始化sql语句
    private static String upgradeSQL;//更新语句
    static {
        initSQL = "CREATE TABLE IF NOT EXISTS video_list (id INTEGER PRIMARY KEY AUTOINCREMENT, key NVARCHAR(255), file NVARCHAR(255));";
        upgradeSQL = initSQL;
    }
    public DBHelper(Context context, int version, String name) {
        super(context, name, null, version);

    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(initSQL);//创建数据库
    }

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

    }
}

调用这个dbhelper类主要就是得到它的SQLiteDatabase,主要有两个方法:getWritableDatabase  和 getReadableDatabase

下面我写的调用方法:

public class MainActivity extends AppCompatActivity {
    Button btRead ;
    Button btWrite ;
    TextView tv ;
    DBHelper dbHelper ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        dbHelper = new DBHelper(this,1,"hello");
        tv = (TextView)findViewById(R.id.tv);
        btRead = (Button)findViewById(R.id.read_data);
        btRead.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try{
                    String sql ="select * from video_list where key='a';";
                    Cursor cursor = dbHelper.getReadableDatabase().rawQuery(sql,null);
                    while (cursor.moveToNext()){
                        String file = cursor.getString(cursor.getColumnIndex("file"));
                        tv.setText(file);
                    }
                }catch (SQLException e){
                    e.printStackTrace();;
                }
            }
        });
        btWrite = (Button)findViewById(R.id.write_bt);
        btWrite.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    dbHelper.getWritableDatabase().execSQL("insert into video_list (key,file) values('a','hello.mpg');");
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
        });

    }



}

当调用read时,会在一个TextView中显示hello.mpg就说明成功了。

如何查看数据库呢?

如果没有指定绝对路径的路径,那么默认是在 "/data/data/包名"这个目录下,首先在adb shell 下取得root权限。

1、首先设置权限:chmod 777 -R /data/data/包名  #  把这个目录下具有所有的权限。

2、设置、/data 和、/data/data 777 权限

chmod 777 /data

chmod 777 /data/data 

3、也可以直接 chmod 777 -R /data 就行,但是我的手机是我经常用的手机,这样的话,如果有病毒的话,支付宝、微信这些就app就比较危险了,不建议真机这样做。

使用ddms把 databases目录下的数据库push到电脑上。

4.使用sqliteExport打开数据库,这样就ok了,不必使用sqlite命令行来打开它了,什么年代了,还用命令行!。!

结果如下:



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值