sqlite数据库

Posted nangongyibin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlite数据库相关的知识,希望对你有一定的参考价值。

sqlite数据库

  • sqlite是轻量级 嵌入式的数据库. 不需要安装sqlite软件.因为已经嵌入到android系统里
  • 先创建数据库 在操作数据库里面的表 在操作表里面的记录 sqliteOpenHelper 
    • 使用传统sql语句实现增删改查逻辑
    @OnClick({R.id.click1, R.id.click2, R.id.click3, R.id.click4})
    public void onViewClicked(View view) {
        mDb = mMyOpenHelper.getWritableDatabase();
        switch (view.getId()) {
            case R.id.click1:
                mDb.execSQL("insert into loginin(name,phone) values(‘a‘,‘18634757219‘)");
                break;
            case R.id.click2:
               mDb.execSQL("delete from loginin where name=‘a‘");
                break;
            case R.id.click3:
                mDb.execSQL("update loginin set phone = ‘18634757219‘ where name=‘a‘");
                break;
            case R.id.click4:
                Cursor cursor = mDb.rawQuery("select * from loginin", null);
                if (cursor!=null){
                    while(cursor.moveToNext()){
                        int id = cursor.getInt(0);
                        String name = cursor.getString(1);
                        String phone = cursor.getString(2);
                        Log.d(TAG, "onViewClicked: "+id+"--"+name+"--"+phone);
                    }
                }
                break;
        }
        mDb.close();
    }

 

    • 使用谷歌封装好的api实现增删改查逻辑
      • 传统实现方式 调用方法没有返回值,程序员不容易进行判断 ,传统的sql语句很容易写错.
 
    @OnClick({R.id.click1, R.id.click2, R.id.click3, R.id.click4})
    public void onViewClicked(View view) {
        mDb = mMyOpenHelper.getWritableDatabase();
        switch (view.getId()) {
            case R.id.click1:
                ContentValues values = new ContentValues();
                values.put("name","b");
                values.put("phone","18634757219");
                long loginin = mDb.insert("loginin", null, values);
                if (loginin==-1){
                    Log.d(TAG, "onViewClicked: 插入失败");

                }else{
                    Log.d(TAG, "onViewClicked: 插入成功");
                }
                break;
            case R.id.click2:
                int delete = mDb.delete("loginin", "name=?", new String[]{"b"});
                Log.d(TAG, "onViewClicked: 删除了"+delete+"行");
                break;
            case R.id.click3:
                ContentValues values1 = new ContentValues();
                values1.put("phone","110");
                int update = mDb.update("loginin", values1, "name=?", new String[]{"b"});
                if (update==-1){
                    Log.d(TAG, "onViewClicked: 更新失败");
                }else{
                    Log.d(TAG, "onViewClicked: 更新成功");
                }
                break;
            case R.id.click4:
                Cursor cursor = mDb.query("loginin", null, null, null, null, null, null);
                if (cursor!=null){
                    while(cursor.moveToNext()){
                        int id = cursor.getInt(0);
                        String name = cursor.getString(1);
                        String phone = cursor.getString(2);
                        Log.d(TAG, "onViewClicked: "+id+"--"+name+"--"+phone);
                    }
                }
                break;
        }
        mDb.close();
    }

 



以上是关于sqlite数据库的主要内容,如果未能解决你的问题,请参考以下文章

当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

如果我想从另一个片段中添加书签,为啥我的书签单词没有保存到 sqlite 数据库?

导航抽屉片段 Sqlite

无法从片段中的 SQLite 获取数据