单机android   sqlite数据库的实现,这个数据库可与程序一起生成在安装包中

一、下载sqlite3.exe文件

二、运行 cmd 转到sqlite3.exe 所在目录  运行 sqlite3.exe 数据库名.db

    然后会出现sqlite>的命令提示符

输入创建表的语句, create table 表名(‘列’,‘列’。。。);(注意: 要在结束部分加  分号 )

    此时会在sqlite3.exe 所在目录,出现所建数据库的文件

三、如果想在Android中运行的话,需要在数据库中增添

 CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'zh_CN')
INSERT INTO "android_metadata" VALUES ('zh_CN')

四、将数据库 复制到 Android项目中res/raw中

五、下面是代码:
public class TestSqlDatabase{

	private static final String DATABASE_PATH = "/data/data/your.package.name/databases";     //此处不要改动,这个为数据库在手机上的物理地址
private static final int DATABASE_VERSION = 0;
private static final String DATABASE_NAME = "test.db"; //此处为数据库名称 private static String outFileName = DATABASE_PATH + "/" + DATABASE_NAME; private Context context;
     private SQLiteDatabase database; public TestSqlDatabase(Context context) {
this.context = context; File file = new File(outFileName);
if (file.exists()) {
database = SQLiteDatabase.openOrCreateDatabase(outFileName, null);
if (database.getVersion() != DATABASE_VERSION) {
database.close();
file.delete();
}
}
try {
buildDatabase();
} catch (Exception e) {
e.printStackTrace();
} }
private void buildDatabase() throws Exception{
InputStream myInput = context.getResources().openRawResource(R.raw.test);
File file = new File(outFileName); File dir = new File(DATABASE_PATH);
if (!dir.exists()) {
if (!dir.mkdir()) {
throw new Exception("创建失败");
}
} if (!file.exists()) {
try {
OutputStream myOutput = new FileOutputStream(outFileName); byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.close();
myInput.close();
} catch (Exception e) {
e.printStackTrace();
} }
} /**
* 查找
* @return
*/
public Cursor select() {
database = SQLiteDatabase.openOrCreateDatabase(outFileName, null);
String sql = "select * from note_table"; Cursor cursor = database.rawQuery(sql, null);
return cursor;
}
/**
* 插入
* @param word
* @param note
* @return
*/
public long insert(String word, String note) {
database = SQLiteDatabase.openOrCreateDatabase(outFileName, null);
ContentValues cv = new ContentValues();
cv.put("word", word);
cv.put("note", note); long result = database.insert("note_table", null, cv);
return result;
} /**
* 更新
* @param word
* @param note
* @return
*/
private int update(String word, String note) { //参数 word 为修改条件 note为修改内容
database = SQLiteDatabase.openOrCreateDatabase(outFileName, null); ContentValues cv = new ContentValues();
cv.put("note", note); int result = database.update("note_table", cv, "word=?", new String[]{word}); return result;
} /**
* 删除
* @param word
*/
public int deleteNote(String word) {
database = SQLiteDatabase.openOrCreateDatabase(outFileName, null);
int result = database.delete("note_table", "word=?", new String[]{word});
return result;
} public void close() {
database.close();
} }

  

android 本地数据库sqlite的封装的更多相关文章

  1. android本地数据库,微信数据库WCDB for Android 使用实例

    android本地数据库,微信数据库WCDB for Android 使用实例 Home · Tencent/wcdb Wikihttps://github.com/Tencent/wcdb/wiki ...

  2. [转载]Unity3D 游戏引擎之使用C#语言建立本地数据库(SQLITE)

    以前在开发中一直使用IOS源生的数据库,通过传递消息的形式在与Unity3D中进行交互.本文我在详细说说如何使用C#语言来在MAC 操作系统下创建Unity本地数据库,我是C#控哇咔咔--- 首先你需 ...

  3. Xamarin.Android 本地数据库 SQLiteDatabase 操作

    目的:使用 SQLiteDatabase 创建本地数据库.表,并对数据进行增删改查操作. 引用命名空间: using Android.App; using Android.Widget; using ...

  4. QT 创建本地数据库(SQLite数据库)存储数据

    注意:QT自带SQLITE数据库,不需要再安装 1.创建一个包含创建.查询.修改和删除数据库的数据库类(DataBase) DataBase.h头文件 #pragma once #include &l ...

  5. android 建数据库 SQLite 存储sd 卡或者内存

    android 创建数据库调用SQLiteOpenHelper,一般不直接操作SQLiteDatabase . 是通过SQLiteOpenHelper来获取 public class DBOpenHe ...

  6. 轻量级本地数据库SQLite在WinRT的使用

    开发环境:Windows 8.1 开发工具:Visual Studio Express 2013 for Windows SQLite数据库介绍 1.SQLite是一款轻型的嵌入式数据库,使用C++开 ...

  7. android之数据库SQLite(一)

    创建数据库 首先定义SQLiteOpenHelper的子类 代码如下: package com.example.myandroid; import android.content.Context; i ...

  8. Android中数据库Sqlite的性能优化

    1.索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包括 ...

  9. android 构建数据库SQLite

    1.首先我们需要一个空白的eclipse android工程 2.然后修改AndroidManifest.xml 在<application></application>标签里 ...

随机推荐

  1. 老李分享:《Linux Shell脚本攻略》 要点(五)

    老李分享:<Linux Shell脚本攻略> 要点(五)   //1.打包.解包 [root@localhost program_test]# tar -cf output.tar 11. ...

  2. [编织消息框架][JAVA核心技术]动态代理应用8-IRpcReceive实现

    private static Map<Short, Map<Byte, Method>> RECEIVE_METHOD_INFO = new HashMap<>() ...

  3. JS数组根据属性来实现排序

    var data = [{ name: "zhao", age: }, { name: "qian", age: }, { name: "sun&qu ...

  4. 从零开始用 Flask 搭建一个网站(三)

    从零开始用 Flask 搭建一个网站(二) 介绍了有关于数据库的运用,接下来我们在完善一下数据在前端以及前端到后端之间的交互.本节涉及到前端,因此也会讲解一下 jinja2 模板.jQuery.aja ...

  5. Apache+mod_encoding解决URL中文编码问题

    我们经常在论坛上看到这样的求救贴:  为什么我看不了网站上中文文件名的文件?这时一定会有好心的大侠告诉说,到IE6的工具,Internet选项, 高级里,把"总是以UTF-8发送URL&qu ...

  6. Neural Networks and Deep Learning(神经网络与深度学习) - 学习笔记

    catalogue . 引言 . 感知器及激活函数 . 代价函数(loss function) . 用梯度下降法来学习-Learning with gradient descent . 用反向传播调整 ...

  7. DirectFB学习笔记三

    本篇目的,通过键盘的esc键控制程序退出.学习输入设备产生事件,接收事件,产生反应. 首先获取输入设备 IDirectFBInputDevice *keyboard = NULL; dfb->G ...

  8. Linux-进程描述(5)之进程环境

    main函数和启动例程 当内核使用一个exec函数执行C程序时,在调用main函数之前先调用一个特殊的启动例程,可执行程序将此例程指定为程序的起始地址.启动例程从内核获取命令行参数和环境变量,然后为调 ...

  9. bzoj4828 [Hnoi2017]大佬

    Description 人们总是难免会碰到大佬.他们趾高气昂地谈论凡人不能理解的算法和数据结构,走到任何一个地方,大佬的气场就能让周围的人吓得瑟瑟发抖,不敢言语.你作为一个OIER,面对这样的事情非常 ...

  10. [KISSY5系列]淘宝全终端框架 KISSY 5--从零开始使用

    KISSY 是淘宝一个开源的 JavaScript 库,包含的组件有:日历.图片放大镜.卡片切换.弹出窗口.输入建议等 一.简介 KISSY 是一款跨终端.模块化.高性能.使用简单的 JavaScri ...