Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 428|回复: 0

开发交流:说说Android的数据库

[复制链接]

该用户从未签到

发表于 2011-10-24 09:34:09 | 显示全部楼层 |阅读模式
  SQLite是一个开源,符合标准,轻量级单层关系型数据库
       SQLite是许多消费类电子设备,比如MP3播放器,iPhone, iPod的首选数据库系统
       SQLite的每一行的每一列可以有不同的数据类型,因此在插入或提取时没有严格的类型检查

       ContentValue对象用于插入数据到数据表,每个ContentValue对象代表一数据行。Andoid中的Queries的返回Cursor对象,它是底层数据的一个子集。startmanagingCursor方法将cursor的生命周期集成到父Activity的生命周期,当使用完Cursor调用stopManagingCursor来解除集成关系。

       SQLite数据库设计Tip

        Bitmaps 或 audio文件通常不存储在数据库中,而是存储文件的储存路径(URI)字符串强烈建议每个表有一个自增主键列作为唯一索引,特别是此表需要共享给Content Provider时,此字段是必须的。

        可调用openOrCreateDatabase创建新数据库,然后调用execSQL运行SQL语句创建数据库表和关系。

java代码: private static final String DATABASE_NAME = “myDatabase.db”;

private static final String DATABASE_TABLE = “mainTable”;

private static final String DATABASE_CREATE = “create table “ + DATABASE_TABLE +

“ ( _id integer primary key autoincrement,” + “column_one text not null);”;

SQLiteDatabase myDatabase;

private void createDatabase() {

myDatabase = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);

myDatabase.execSQL(DATABASE_CREATE);}
复制代码插入数据,创建一个新行(ContentValues)-> 给新行分配数据(Put 方法)->输入新行到表(Insert方法)

java代码: // Create a new row of values to insert.

ContentValues newValues = new ContentValues();

// Assign values for each row.

newValues.put(COLUMN_NAME, newValue);

[ ... Repeat for each column ... ]

// Insert the row into your table

myDatabase.insert(DATABASE_TABLE, null, newValues);
复制代码删除数据, 直接调用delete方法,用where子句指定要删除的行

java代码: myDatabase.delete(DATABASE_TABLE, KEY_ID + “=” + rowId, null);
复制代码SQLite命令行管理工具

       打开Command Prompt 进入C:\Program Files\Android\android-sdk\platform-tools目录, 运行adb shell
#cd data/data/<项目名>/databases, ls 命令可列表目录,文件名。

       Sqlite3 <数据库文件名>打开或创建一个数据库
       Ctrl+D 退出sqlite3
       SQL语句必须以分号; 结束。如果你省略分号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多的文字,直到;才执行

       所有创建、删除和索引数据库时的信息自动更新到sqlite_master表。TEMPORARY表结构被存储在另外一个名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是临时表自身
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 21:55 , Processed in 0.307879 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表