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游标 (略)


DDR ECC错误注入与寄存器配置实战指南 本文详细介绍了DDR ECC错误注入的核心价值与实战操作指南,包括通过FI_Dx和FI_ECC寄存器注入数据与ECC错误的方法。文章提供了环境准备、寄存器配置、错误检测及系统可靠性测试策略,帮助开发者验证内存系统的纠错能力和可靠性,提升硬件开发的稳定性与效率。 阅读详情

相关推荐

安装esxi7.0

保存重启后就能安装。vCenter Server是VMware vSphere虚拟化架构中的核心管理工具,充当ESXi主机及虚拟机中心管理点的服务,利用vCenter Server,可以集中管理多ESXi主机及其虚拟机,安装、配置和管理vCenter Server 不当可能会导致管理效率降低,或者致使EXSi主机和虚拟机停用。提示选择安装VMware ESXi 使用的存储,ESXi支持U盘以及SD卡安装,如系统中存在多块存储设备,选择需要安装系统的磁盘【注意磁盘142G,ESXI会将120G做VMFSL】

u011220233的博客 1万+

Android数据篇(二)

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

DuanLiuchang的博客 740

从扇束到平行束:等角重排算法在CT重建中的核心原理与MATLAB实践

本文深入解析了CT图像重建中等角扇束重排算法的核心原理与MATLAB实现。通过将实际采集的扇束投影数据,利用几何映射和两次关键插值,转换为适用于经典滤波反投影算法的平行束数据,打通了高效重建的关键路径。文章结合Shepp-Logan模型仿真,提供了完整的MATLAB代码实践,并分析了源-物距、采样率等关键参数对重建质量的影响。

cnn8visionary的博客 647

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

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

Ice1774的博客 6303

5G NR 物理层 流程一:从帧结构到TB块,PDSCH/PUSCH 资源映射与TBS计算实战

本文详细解析了5G NR物理层流程,从帧结构到TB块的计算,重点介绍了PDSCH/PUSCH资源映射与TBS计算的实战方法。通过具体案例和公式推导,帮助工程师掌握5G NR资源分配、MCS选择及TBS量化过程,解决实际部署中的常见问题。

weixin_30897233的博客 95

手把手教你用LcmSim+TakeDotLib打造完美LCD显示效果(附12x12汉字配置模板)

本文详细介绍了如何使用LcmSim模拟器与TakeDotLib标准字库工具优化LCD显示效果,包括字体选择、字库生成和实体设备验证。通过12x12汉字与8x16 ASCII的黄金比例配置,帮助开发者解决嵌入式开发中的显示难题,提升用户体验。附赠12x12汉字配置模板,可直接用于项目。

weixin_29205061的博客 137

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

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

石皮山的博客 396

SIC知识(8)--碳化硅的制备难点

6. 器件制造难点:碳化硅器件制造过程中的掺杂步骤需要在高温下完成,且需要采用高温离子注入的方式,这与传统硅基器件的扩散工艺不同。这些步骤需要精密的设备和严格的工艺控制,以确保器件的结构和功能。综上所述,碳化硅的制备难点相较于传统硅基器件主要在于更高的制备温度、更慢的生长速度、晶型控制的复杂性、后加工的难度、外延工艺的低效率以及器件制造的特殊要求和较高的成本。- **数据管理**:需要有效的数据管理系统来跟踪和记录生产过程中的每一个步骤,包括原料的批次、生长条件、加工参数等,以确保产品质量的可追溯性。

阿拉伯梳子的专栏 1597

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

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

weixin_39791322的博客 169

【半导体工业实战】C#.NET开发SECS/GEM协议上位机(完整可运行源码+全进制转换工具类+工业级通信封装)

在半导体这个高精尖的工业领域,SECS/GEM协议是设备通信的基石,而C#.NET凭借其稳定性、高效的字节处理能力、Windows工控机的深度适配,成为SECS上位机开发的最优选择。本文从半导体行业的专属认知出发,提供了完整的进制转换工具类、工业级的SECS通信封装、实战的报文解析与业务调用示例、半导体专属的避坑指南,所有内容均为真实项目经验的沉淀,无空洞理论、无AI冗余文字,所有源码均可直接编译运行、无缝移植到半导体项目中。半导体工控开发的核心,从来不是炫技,而是。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 898

AI Agent开发大全第二十课-如何开发一个MCP(从0开发一个MCP Server)

大模型的MCP火了,可是无论是Claude官网本身自带Sample还是全网任何一本教程没有一个可以真正应用在生产环境中的。要么就是只能在本地以文件IO流的方式运行要么干脆连编译都出错,真正的mcp server和client是怎么编写的?如何运行在分布式环境?本教程就带大家真正从0开始以“AI计算食物热量“为例带大家真正学习mcp开发的全过程。

打造全国最全的AI Agent开发知识领域的博客 1803

安卓中SQLite的学习笔记

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

Freedom! 522

AI Agent开发第85课-DeepSeek-OCR 安装全指南:从 Transformers 到 vLLM,手把手教你跑通企业级 OCR

本文系统讲解 DeepSeek-OCR 的两种部署方式——基于 Hugging Face Transformers 的标准推理与基于 vLLM 的高性能加速推理。详细说明 CUDA 与 PyTorch 版本匹配、环境验证、依赖安装等关键细节,并提供可直接运行的完整代码示例。无论你是单卡调试还是高并发服务部署,都能在这里找到清晰路径。

打造全国最全的AI Agent开发知识领域的博客 2543

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

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

weixin_28454475的博客 247

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android开发学习(8)SQLite

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

ESOO 1372

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android开发学习之SQLite详解一

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

逍遥飞鹤的专栏 1084

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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、付费专栏及课程。

余额充值