android studio 用SQLite写的便签

    xiaoxiao2021-03-25  178

    刚刚开年,风轻云淡。

    昨天领导叫我用SQLite数据库写一个便签。于是,我便写了。

    用数据库写便签,无外乎就是对数据库的增删改查的一些操作,UI界面随自己心意而定。

    我今天主要也是说一些数据库的操作。话不多说,我们进入正题。

    1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 二.SQLiteDatabase的介绍 Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。  SQLiteDatabase的常用方法  方法名称 方法表示含义 openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory  factory) 打开或创建数据库 insert(String table,String nullColumnHack,ContentValues  values) 插入一条记录 delete(String table,String whereClause,String[]  whereArgs) 删除一条记录 query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy) 查询一条记录 update(String table,ContentValues values,String whereClause,String[]  whereArgs) 修改记录 execSQL(String sql) 执行一条SQL语句 close() 关闭数据库 创建数据库 创建数据库工具类 增删改查 创建数据库 构造方法创造数据库 super(context , "user" , null , 1); 参数一;上下文对象 参数二:数据库名称 参数三:游标工厂 参数四:当前数据库的版本 创建表 “create table 表名 (name verchar(20) ,age verchar(10) ,sex verchar(10))” String sql = “create table 表名 (name verchar(20) ,age verchar(10) ,sex verchar(10))” db.execSQL(sql); 创建数据库工具类 主要用来封装对数据的操作(增删改查) 声明数据库类的对象 声明数据库帮助类 public class MySqliteHelpe{ MySqlite mySqlite = null ; SQLiteDatabase db = null ; public MySqliteHelpe(Context context){ mySqlite = new MySqlite(context); db = mySqlite.getReadableDatabase() } public void addUser(){ String sql = "insert info User__info (name , age) values ('coco' , '12')"; db.execSQL(sql); } public void findUser(){ String sql = "select * from user_info where name = ?"; Cursor cursor = db.rawQuery(sql , new String[]{"coco"}); cursor.moveToFirst(); while(cursor.isAfterLast){ String name = cursor.getString(cursor.getColumIndex("name")); String age = cursor.getString(cursor.getColumIndex("age")); cursor.maveToNext(); } } } 删除: delete from table1 范围  delete from user_info where name = 'coco' ; 更新: update table1 set filed1 = values where 范围 查找: select * from table1 where name = 数据库属于耗时操作 重点  数据库存储数据操纵流程 1,创建数据库:   创建一个类extends SQLiteOpenHelper 用构造方法创建数据库         创建表    2,创建数据库帮助类 主要封装对数据库的一些操作 public class MySqliteHelp {     MySqlite mySqlite = null ;     SQLiteDatabase db = null ;     public MySqliteHelp(Context context ){         mySqlite = new MySqlite(context) ;         db = mySqlite .getReadableDatabase() ;     } 创建数据库帮助类 主要用来封装对数据的操作(增删改查) 声明数据库类的对象 声明数据库帮助类 public void addUser (String name){     String sql = "insert into user_info (name) values ('" +name+ "')" ;     db .execSQL(sql) ; } /* 添加用户的方法 用到的语句 insert into 表名 (列名)values (‘“+传进来的数据+”’) db.execSQL(sql) 这句话的意思应该是执行上一句话 public int deleteUser (String name){     int sum = 0 ;     ArrayList<String> arrayList = new ArrayList<>() ;     String sqq = "select * from user_info" ;     Cursor cursor = db .rawQuery(sqq , null ) ;     while (cursor.moveToNext()){         String user_name = cursor.getString(cursor.getColumnIndex( "name" )) ;         arrayList.add(user_name) ;     }     cursor.close() ;     for ( int i = 0 ; i<arrayList.size() ; i++){         String ss = arrayList.get(i).toString() ;         if (ss.equals(name)){             sum = 1 ;             String sql = "delete from user_info where name = '" +name+ "'" ;             db .execSQL(sql) ;             break;         }     }     return sum ; }      public int setUser (String name_on , String name_off){         int sum = 0 ;         ArrayList<String> arrayList = new ArrayList<>() ;         String sqq = "select * from user_info " ;         Cursor cursor = db .rawQuery(sqq , null ) ;         cursor.moveToFirst() ;         while (cursor.moveToNext()){             String ss = cursor.getString(cursor.getColumnIndex( "name" )) ;             arrayList.add(ss) ;         }         cursor.close() ;         for ( int i = 0 ; i<arrayList.size() ; i++){             if (arrayList.get(i).toString().equals(name_on)){                 sum = 1 ;                 String sql = "update user_info set name = '" +name_off+ "' where name = '" +name_on+ "'" ;                 db .execSQL(sql) ;             }         }         return sum ;     } }   public int selectUser (String name){     int sum = 0 ;     ArrayList<String> arrayList = new ArrayList<>() ;     String sql = "select * from user_info" ;     Cursor cursor = db .rawQuery(sql ,null ) ;     cursor.moveToFirst() ;     while (cursor.moveToNext()){         String select_name = cursor.getString(cursor.getColumnIndex( "name" )) ;         arrayList.add(select_name) ;     }     cursor.close() ;     for ( int i = 0 ; i < arrayList.size() ; i++){         if (arrayList.get(i).toString().equals(name)){             sum = 1 ;         }     }     return sum ; }   public ArrayList<String> findUser (){     String sql = "select * from user_info" ;     Cursor cursor = db .rawQuery(sql , null ) ;     cursor.moveToFirst() ;     ArrayList<String> arrayList = new ArrayList<>() ;     while (cursor.moveToNext()){         String name = cursor.getString(cursor.getColumnIndex( "name" )) ;         arrayList.add(name) ;     }     return arrayList ; }   附上GitHub地址:https://github.com/DingMr/NoteDemo 付出不一定有收获,你的点赞是我写下去的动力。

    转载请注明原文地址: https://ju.6miu.com/read-1175.html

    最新回复(0)