
AndroID对sqlite提供了完全友好的支持,在应用程序内部,都可以通过名称访问任何的数据库。建议通过sqliteOpenHelpe的子类并通过重写onCreate() 方法进行创建数据表。本文主要讲解Andriod开发中sqlite的简单应用(增删改查),仅供学习分享使用。
涉及知识点sqliteOpenHelper 管理创建数据库和版本管理的帮助类(抽象类)。onCreate 创建数据表的方法execsql 执行一个非Select的语句,没有返回信息。sqliteDatabase 管理sqlite数据的对象,显示提供一组方法来管理数据库(CRUD)。SimpleCursorAdapter 一个简易的适配器,用来将Cursor适配数据到控件上。ContentValues 存储一组数据值(key-value)。示例效果图如下图所示:
数据库帮助类代码如下:
1 package com.hex.demosqlite; 2 3 import androID.content.Context; 4 androID.database.sqlite.sqliteDatabase; 5 androID.database.sqlite.sqliteOpenHelper; 6 7 /** 8 * Created by administrator on 2019/4/4. 9 */10 public class DatabaseHelper extends sqliteOpenHelper {11 12 private static final String DB_name="persons.db";13 14 final int DB_VERSION=115 16 public DatabaseHelper(Context context) {17 super(context,DB_name,null,DB_VERSION);18 }19 20 21 * 创建数据库,指定数据库名称,版本号22 * @param db23 24 @OverrIDe25 voID onCreate(sqliteDatabase db) {26 String sql="create table person(_ID integer primary key autoincrement not null,name char(10),nickname char(10))"27 db.execsql(sql);28 29 30 31 * 数据库升级32 33 oldVersion34 newVersion35 36 37 voID onUpgrade(sqliteDatabase db,1)">int oldVersion,1)">int newVersion) {38 if(newVersion>oldVersion){39 onCreate(db);40 }41 42 }新增(Insert)
代码如下:
1 2 * 新增 * v 5 6 add(VIEw v) { 7 /** //一般不使用此种方法,因为execsql方法没有返回值 String sql="insert into person(name,nickname)values('宋江','及时雨')"; 9 db.execsql(sql);10 11 ContentValues values = new ContentValues();12 values.put("name","宋江");13 values.put("nickname","及时雨"14 //返回值为插入行的行号15 long result = db.insert("person",values);16 if (result > 0) {17 Toast.makeText(this,"插入成功"18 } else {19 Toast.makeText(20 21 }查询(query)
代码如下:
1 * 查询 query(VIEw v) {/* String sql="select * from person where name=?"; Cursor cursor = db.rawquery(sql,new String[]{"宋江"});10 11 columns 如果为空,则表示所有列12 Cursor cursor = db.query("person",1)">null,"name=?",1)">new String[]{"宋江"},1)">13 while (cursor.movetoNext()) {14 int nameIndex = cursor.getColumnIndex("name"15 int nickIndex = cursor.getColumnIndex("nickname"16 String nameValue = cursor.getString(nameIndex);17 String nickValue = cursor.getString(nickIndex);18 String s = "name=" + nameValue + ",nickname=" + nickValue;this adaper.swapCursor(cursor); adaper.notifyDataSetChanged();23 }修改(Update)
代码如下:
1 * 更新 update(VIEw v) { String sql="update person set nickname=? where name=?"; 8 9 ContentValues values = 10 values.put("nickname","及时雨2"更新语句受影响的行数12 int result = db.update("person",values,1)">new String[]{"宋江"});14 Toast.makeText(15 } 16 Toast.makeText(17 18 }删除(Delete)
代码如下:
* 删除 delete(VIEw v) {String sql="delete person where name=?"; 9 受删除语句影响的行数int result = db.delete("person",1)">12 Toast.makeText(13 } 15 16 }备注
千里之行,始于足下!
总结
以上是内存溢出为你收集整理的一起学Android之Sqlite全部内容,希望文章能够帮你解决一起学Android之Sqlite所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)