Android连接SQLite数据库的简单例子

背景:

  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(修改表中的列)

程序:

一、启动eclipse和android虚拟机,用adb shell命令行新建目录、SQLite数据库和表

1 编写runadb.bat

  path D:\程序设计\安卓\eclipse 3.7\android-sdks\platform-tools

  adb shell  (也可在DOS环境中直接输入);

2 新建文件夹

  在data/data目录下创建cqvie.edu.cn(项目中包的名字),

  mkdir cqvie.edu.cn

  cd cqvie.edu.cn    在此目录下创建文件夹databases

  mkdir databases

  cd databases

3 创建数据库

  sqlite3 test.db

  create table 表名(“no” integer,”name” text);    //创建表

  select * from sqlite_master where type=”table” and name=”表名”;   //查询表结构

  insert into 表名 values(1,”张三”);

  .explain ON  

  Select * from 表名;    //查询

二、编写android程序实现表记录的添加与查

1 建立专门用于数据库操作的DBHelper类

在cqvie.edu.cn包上点鼠标右键,新建一个类

 

类的名称是DBHelper,继承自“android.database.sqlite.SQLiteOpenHelper”,基类的名称可以点按钮进行查找

        2 用户界面

         

       3 代码编写实现添加查询功能

       public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        Button btnAdd=(Button) findViewById(R.id.btnAdd);

        Button btnQuery=(Button) findViewById(R.id.btnQuery);

        btnAdd.setOnClickListener(this);

        btnQuery.setOnClickListener(this);

    }

 

    public void onClick(View arg0) {

        // TODO Auto-generated method stub

        DBHelper helper=new DBHelper(this, "test.db", null, 1);

        SQLiteDatabase db=helper.getWritableDatabase();

       

        Button btn=(Button)arg0;

        int id=btn.getId();

        if(id==R.id.btnAdd){

            String sql="insert into count values(2222)";

            db.execSQL(sql);

        }

        else if(id==R.id.btnQuery){

            Cursor cursor=db.query("count", new String[]{"*"}, "name=?",  new String[]{"2222"}, null, null, null);

            String s="查询结果\n";

            while(cursor.moveToNext()){

                   int no=cursor.getInt(cursor.getColumnIndex("no"));

                String name=cursor.getString(cursor.getColumnIndex("name"));

                s+=no+","+name+"\n";

            }

            EditText Text=(EditText) findViewById(R.id.Text);

            Text.setText(s);

        }

    }

}

       在进行数据库写测试之前,一定要把数据库文件test.db的写权限打开,不然会出错

       在data/data/cqvie.edu.cn/databases目录下写chmod 777 test.db

       当标示符为”#”时,可直接写这句chmod 777 test.db 

       当标示符为”sqlite>”时,要先退出.exit,再写这句chmod 777 test.db

     4结果显示

      

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值