当前位置:数据库 > SQLite >>

android SqLitez综述

     android SqLitez综述
 
背景
       SQLite 是一个非常流行的嵌入式数据库,它提供了一个清爽的 SQL 接口,相当小的内存占用和高速的响应,更 Happy 的是他还是免费的,大家都可以尽情的使用,很多牛叉的公司(诸如Adobe,Apple,Google,Sun,Symbian ),开源项目( Mozilla,PHP,Python )都在产品中装配 SQLite.
 
       Android 中, SQLite 是被集成于 Android runtime ,每个 Android 应用程序都可以欢快的使用 SQLite 数据库,如果你熟悉 JDBC ,那么这个过程就更安逸了。
SQLite3 特征
和传统关系数据库比较
有的:
       Sql 语句:      SELECT INSERT UPDATE
                            CREATE DROP
       数据类型:
              不区分大小写
              TEXT     文本
       NUMERIC 数值
       INTEGER 整型
       REAL     小数
       NONE     无类型
没有的:
       FOREIGN KEY 外键约束
    RIGHT OUTER JOIN 和 FULL OUTER JOIN
    ALTER TABLE
开始动手
动手之前,确认你的机器中已经配置好如下环境:
       Android 开发环境(怎么配置问 Google ,有很多)
       本文档适用环境 Android1.0
1, 建库
       方式一:命令行方式(适合调试用)
              可以使用 adb shell 进入设备后台,命令行方式手动创建,步骤如下:    
              Eclipse 中启动模拟器之后, cmd 下输入进入设备 Linux 控制台
              D:\>adb shell
              之后进入应用 data 目录
              # cd /data/data
              ls 列表目录,查看文件,找到你的项目目录并进入
              查看有无 databases 目录,如果没有,则创建一个
              # mkdir databases
              cd databases 进入并创建数据库
              # sqlite3 friends.db
              sqlite3 friends.db
              SQLite version 3.5.9
              Enter ".help" for instructions
              sqlite>
              ctrl+d 退出 sqlite 提示符 ls 列表目录会看到有一个文件被创建 friends.db
              他就是 SQLite 的库文件
              # ls
              ls
              friends.db
       方式二:编码方式(使用更多)
              android.content.Context 中提供了函数 , 注: Activity 是 Context 的子类
              openOrCreateDatabase () 来创建我们的数据库
              db = context .openOrCreateDatabase(
              String DATABASE_NAME , int Context. MODE_PRIVATE , null );
       String DATABASE_NAME   数据库的名字
       Int  MODE    操作模式   Context.MODE_PRIVATE 等
       CursorFactory 指针工厂 ,本例中传入 null ,暂不用
            
            
2, 建表
       命令行方式
       # sqlite3
       sqlite> create table widgets (id integer primary key autoincrement,name text);
3,  插入数据
       命令行 增加,查询数据
       sqlite> insert into widgets values(null,'tom');
       insert into widgets values(null,'tom');
       sqlite> select * from widgets;
       select * from widgets;
       1|tom
       sqlite>
     
       API 方式
     
 
Java代码 
package org.imti; 
 
import android.app.Activity; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
 
/**
 * SQLite Demo
 * 
 * 供Activity私有访问的数据库 没有使用ContentProvider 方式 增加 查询数据
 * 
 * @author daguangspecial@gmail.com
 * 
 */ 
public class DbDemo extends Activity { 
    EditText inputTxt; 
    Button btnAdd; 
    Button btnViewAll; 
    TextView viewAll; 
 
    DBHelper db; 
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        // TODO Auto-generated method stub 
        super.onCreate(savedInstanceState); 
        this.setContentView(R.layout.dbdemo); 
        // 初始化UI 
        btnAdd = (Button) findViewById(R.id.btnAdd); 
        btnViewAll = (Button) findViewById(R.id.btnViewAll); 
        viewAll = (TextView) findViewById(R.id.viewAll); 
        inputTxt = (EditText) findViewById(R.id.txtInput); 补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,