android 学习 sqlite

Android性能优化——数据库优化及其对比 前言 我们在做Android开发时常会用到Sqlite数据库做为本地的缓存库,针对Sqlite数据库的性能优化网上也有不少的文章,接下来我将对Sqlite数据库性能优化及其对比进行分析。本系列博文关于数据库优化及其对比我会分为以下3个模块来和大家分享: (1)性能优化的要点及方法 (2)查询优化的方法 (3)性能优化的对比 一、性能优化的要点及方法 1、编译SQL语句(重复的插入操作使用SQLit... 阅读详情

1.首先继承SQLiteOpenHelper   (这些都会我这里继承SQLiteOpenHelper 的类是mOpenHelper)

2.数据库的增删改查:(全部sql  也可以用 db.insert \ db.delete().... 等等需要看文档)

public void insert(Person mpersion){

SQLiteDatabase db = mOpenHelper.getWritableDatabase();
if(db.isOpen()){
db.execSQL("Insert into persion(age,name,balance) values(?,?,?)", new Object[]{mpersion.getAge(),mpersion.getName(),mpersion.getBalance()});
db.close();
}
}
public void update(int  id_,String newName){
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
if(db.isOpen()){
db.execSQL("update person set name=? where id_=?", new Object[]{newName,id_});
db.close();
}
}
public void delete(int _id){
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
if(db.isOpen()){
db.execSQL("delete from person where _id=?", new Integer[]{_id});
db.close();
}
}
public List<Person> query(){
List<Person> persons = null;
SQLiteDatabase db = mOpenHelper.getReadableDatabase();

if(db.isOpen()){
Cursor rawQuery = db.rawQuery("select * from persion ",null); //游标指针默认是-1
if(rawQuery!=null&&rawQuery.getCount()>0){
persons=new ArrayList<Person>();
while(rawQuery.moveToNext()){
Person person=new Person();
person.setId(rawQuery.getInt(rawQuery.getColumnIndex("id_")));
person.setAge(rawQuery.getInt(rawQuery.getColumnIndex("age")));
person.setName(rawQuery.getString(rawQuery.getColumnIndex("name")));
persons.add(person);
}

}
rawQuery.close();
db.close();
}

return persons;
}
public void query(Person mpersion){
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
if(db.isOpen()){
db.execSQL("Insert into persion(id_,age,name) values(?,?,?)", new Object[]{mpersion.getId(),mpersion.getAge(),mpersion.getName()});
db.close();
}

}

补充:cursor 用完必须关闭,因为不关闭会始终保存在内存。造成内存溢出。 db用完必须close


3,事务的几个方法(事务的作用是保证几个SQL执行成功)

事务的原理是,记录几个SQL操作最后作用在数据库上(因此事务适合于批量插入大量数据)

// db.beginTransaction();从哪里开始
// db.endTransaction();// 事务结束的方法
// db.setTransactionSuccessful(); 事务成功

一般这样写  

 try {

db.beginTransaction();

sql....

db.setTransactionSuccessful();//成功

}f

 catch (Exception e) {
// TODO: handle exception
}finally{
db.endTransaction();//出错了事务结束不提交操作
}


4.采用contentprovider 对数据增删改查 好处1.可以对外暴露数据2.自动close游标 (略)


Spring Boot应用Docker化实战:从Dockerfile编写到镜像推送完整流程 本文详细介绍了将Spring Boot应用Docker化的完整实战流程。从环境准备、项目审视,到编写高效且安全的Dockerfile,重点讲解了多阶段构建、镜像层优化、Spring Boot分层JAR等核心技巧,并涵盖了镜像构建、验证、调试以及最终推送至仓库并集成CI/CD的最佳实践,帮助开发者构建生产级Docker镜像。 阅读详情

相关推荐

nvprof:CUDA编程性能分析工具

NVIDIA提供了具有高性能计算的GPU产品,如何检验硬件的实际性能,写出高效的CUDA代码让算力加速卡物尽其用,那可以通过其配套提供的“护城河”软件工具链来检验和帮助发挥GPU的性能:nvprof。如下,对于将8192个A,B向量进行向量加法运算,即C[i] = A[i] + B[i],当软件设置不同的blocknum, threadnum时候,CUDA执行kernel的时间是不同的。比如如下命令,可以看到程序tmp1的总体性能,下面一行是打印gpu的执行时间情况。

Briwisdom的博客 3384

Android数据篇(二)

SQLiteOpenHelper: - SQLiteDatabase的帮助类,用于管理数据库的创建和版本更新 - 一般是建立一个类继承它,并重写onCretae()和onUpgrade()方法 - 方法说明 onCreate(SQLiteDatabase db) 创建数据库时调用 onUpgrade(SQLiteDatabase db, int oldVersion, int n

DuanLiuchang的博客 740

大开眼界的十大开源人工智能项目

这是一个强大的开源工具,能让你在不同框架之间自由切换,无需重写代码。它是一个开源工具,能用简单的SQL语言同时处理数据和AI模型,让一切变得有序而高效。Rasa是我开发智能聊天机器人时的首选,它让你轻松掌控机器人对话的每个细节。我经常用它快速验证模型在不同框架下的表现,省去了大量烦躁的调试过程。最近发现的Vapi是一个以API方式提供的语音AI工具,开发者友好程度超乎想象。KNIME是一个以拖拽方式构建数据分析流程的开源工具,仿佛是数据界的乐高积木。它像个忠诚的守门员,确保你的模型始终健康运行。

wjianwei666的专栏 1105

安卓studio .getColumnIndex()报红分析及解决

出现的问题如上,查看warning提示,显示value must be > 0 思考了半天,发现当前是while(cursor .moveToFirst),改成moveToNext 就可以了,能运行,但还是会报红,在前面加上注释就可以了

Ice1774的博客 6303

Lora无线温湿度传感器方案

综上所述,Lora无线温湿度传感器以其长距离传输、低功耗、高稳定性、精准测量、无线传输以及广泛的应用场景等特点,在环境监测领域展现出了强大的竞争力和广泛的应用前景。Lora无线温湿度传感器广泛应用于各种需要远程监控和数据采集的场景,如仓储、农业、机房、楼宇、交通、工业、矿产、电力等领域。Lora无线温湿度传感器是一种采用Lora无线通信技术进行数据传输的温湿度监测设备。四、产品参数(以某款工业级Lora温湿度传感器为例)

weixin_46632654的博客 759

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。

坐听风雨 4564

Android开发:关于sqlcipher索引(index)起始编号,与sqlite的起始记录号

在android数据库开发中,一般是使用sqlite,如果要对sqlite进行加密,可以选用sqlcipher(具体使用可查相关资料)。sqlite默认的第一条记录号是从“1”开始。而当我们在sqlcipher时,在进行查询形成index时,index的起始编号却是从“0”开始。(注:本人未使用纯sqlite开发,故在这种情况下index起始编号未验证。) ...

石皮山的博客 396

Wider Face+YOLOV7人脸检测

使用Wider Face数据集训练YOLOV7

chen_znn的博客 8408

android sqlite使用zip,安卓学习笔记29:使用SQLite数据库

零、学习目标学会利用sqlite3来创建以及操作数据库能利用SQLiteDatabase操作数据库与表能利用SQLiteOpenHelper操作数据库与表一、SQLite数据库概述SQLite是D. Richard Hipp用C语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。1、SQLite构成SQLite由SQL编译器、内核、后端以及附件几个部分...

weixin_39791322的博客 169

搭建 Newman + Postman + Git + Jenkins 环境教程

一步步搭建 Newman、Postman、Git 和 Jenkins 的环境。这些工具常用来做 API 测试和 CI/CD 自动化,尤其是 Postman 和 Newman 搭配 Git 和 Jenkins,能实现 API 集合的版本管理和自动测试。

Criss@陈磊 436

超级详细的GNS3最新版3-2.2.50安装配置教程,网工速度收藏!

你好,这里是网络技术联盟站,我是瑞哥。上周给大家分享了GNS3安装包。周末的时候有小伙伴在安装的时候遇到了一些问题,瑞哥周末特地从头安装了一下GNS3,今天给大家出个安装的教程,每一步的步骤我都截图了下来,希望对大家有所帮助!

网络技术联盟站 1109

安卓中SQLite的学习笔记

当我们存储的数据比较多的时候,我们就应该用到数据库了。在安卓中集成了SQLite数据库,这里简单的介绍下SQLite的使用。 a.SQLite的特点: 1.最大支持2TB的数据存储(这已经非常大了,相对于智能手机而言,因为我们的手机现在存储还停留在几百GB的水平,等到手机能存储几TB的时候,说不定SQLite就能存储更大的数据了) 2.占用资源非常少,大概在250KB左右,着相对于现在智能手

Freedom! 522

STC单片机 普通 I/O 口中断功能介绍和使用

STC32单片机 普通 I/O 口中断功能介绍和使用

perseverance51博客 3048

安卓 sqlite数据存入mysql_Android 学习笔记之如何使用SQLite数据库来保存数据...

PS:最近一阵子都在为考试复习...坑爹的计算机网络,复习了3天,最后该不会的还是不会...明天还考英语...真蛋疼...学习内容:1.使用SQLite数据库来保存数据...SQLite:SQLite一个轻量级的数据库,数据库这东西就是为了保存大量数据而存在的一个工具,SQLite支持SQL语言,其实和Mysql差不多,语句基本都是一样的,增删改查也非常的方便...SQLite独立性非常的好,使用...

weixin_28454475的博客 247

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android开发学习(8)SQLite

每到一个阶段,我们就用一个项目总结我们学习到的内容,今天我们就一起来完成一个拥有记忆功能的简单计算器,首先我们先在这篇博客介绍将使用一种新的存储方式,SQLite。 百度百科: SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用

ESOO 1372

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Android开发学习之SQLite详解一

一.SQLite的介绍 1.SQLite简介  SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等

逍遥飞鹤的专栏 1084

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Android学习笔记9——Sqlite使用

Android学习笔记8——Sqlite使用

sumang_87的专栏 1204

Android SQLite学习

1、定义模式和合约类 SQLite数据库中一个比较主要的概念就是Schema(模式):对数据库如何进行组织的一种形式化定义。模式就反映在我们用来创建数据库的SQL语句上。 同样地,创建一个辅助类,也就是合约类,它以一种系统的、自我描述的方式显式地指定了这个模式的布局。合约类包含了URI,表,列的名字的常量。我们需要在合约类的顶层里存放我们数据库的全局定义,然后在这个类里面创建一个个

clsydln的专栏 570

安卓学习之sqlite

sqlite保存下来的数据在如下位置可以查到: Android Studio4.0中正确的打开Android Device Monitor 数据库写入数据的步骤: 一. 创建数据库: 首先我们要看这个SqliteOpenhelper: 1).写一個类去继承SqliteOpenhelper(该类方法有两个回调方法:oncreate()和onUpgrade()方法) public class DatabaseHelper extends SQLiteOpenHelper { /**

北风的博客 269

Android的SQLite学习及使用方法

Android的SQLite学习及使用方法 SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠。本文将介绍一下Android的SQLite学习及使用方法。 AD:2014WOT全球软件技术峰会北京站 课程视频发布 我们曾经介绍过《Android

qq_15575641的专栏 392

Android学习笔记之SQLite

什么是SQLite SQLite 是一种开源的无需安装和管理配置的数据库引擎。它不需要服务器的支持,并且有事务处理的功能。SQLite不占用太大的空间,数据库支持强大的数据存储在移动以及嵌入式应用程序中。 什么是adb Android Debug Bridge (adb) is a versatile command line tool that lets you communicate wit

Yi_Yuan_n的博客 1026

安卓学习笔记——SQLite学习

SQLite简介: 开源关系型数据库,运算速度快,占用资源少,在内存上只有几百k的存储空间,非常适用于移动端。 SQLite特点 占用空间小 运行高效 可移植性好 支持标准SQL语法 支持ACID事务 零配置:无需安装和网络管理配置 支持多种开发语言,C, PHP, Perl, Java, C#,Python SQLite没有服务器进程,它通过文件保存数据,该文件是跨平台的,可以放在其他平台中使用。 SQLite能解析大部分标准SQL语句如: 1、查询语句: select * from 表名 where 条

fuzhijieabc的博客 503

Android学习之 SQLite 与 ListView

Android 中 SQLite的使用 1.Android的SQLite学习及使用方法 2.Android SQLite 详解之使用篇 3.Android中SQLiteDatabase操作 4.Android创建和使用数据库详细指南 SQLite 与 ListView 1. 报错column ‘_id’ does not exist的解决 2.SQLite、ListView、Con

The fucking code 1124

Android Sqlite3学习

一.Sqlite介绍 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,Android使用它保存本地数据 安装Sqlite3 sudo apt-get install sqlite3 Sqlie 支持的基本数据类型 类型 介绍 ...

淡定的人的博客 2352
上一篇: android 创建Notification
下一篇: activity的启动模式
玉泉
博客等级 码龄17年 0粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值