0755mx 发表于 2016-11-30 12:06:00

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结果显示
页: [1]
查看完整版本: Android连接SQLite数据库的简单例子