android studio便签需求介绍,android studio 用SQLite写的便签

刚刚开年,风轻云淡。

昨天领导叫我用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()

关闭数据库

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

创建数据库

创建数据库工具类

增删改查

创建数据库

构造方法创造数据库

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 用构造方法创建数据库         创建表

0818b9ca8b590ca3270a3433284dd417.png 

0818b9ca8b590ca3270a3433284dd417.png

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 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

;

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 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

;

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 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

findUser

(){

String sql =

"select * from user_info"

;

Cursor cursor =

db

.rawQuery(sql

, null

)

;

cursor.moveToFirst()

;

ArrayList arrayList =

new

ArrayList<>()

;

while

(cursor.moveToNext()){

String name = cursor.getString(cursor.getColumnIndex(

"name"

))

;

arrayList.add(name)

;

}

return

arrayList

;

}

附上GitHub地址:https://github.com/DingMr/NoteDemo

付出不一定有收获,你的点赞是我写下去的动力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值