操作原理:
Android系统中的数据库,以文件的形式存在。
同其他数据库一样,SQLiteDatabase数据库简单来说也是对增删该查操作。
---------------------------------------------------------------
如何清除应用程序数据库 ?
将应用程序卸载
sqlite数据库需要有一个_id主键,如果不是在查询的时候可以使用select id as _id.... ,这样获取的cursor结果集中id就变为了指定的别名_id。
数据库在查询时,query第二个参数column数据指定为null表示查询所有记录。
在程序中为了兼容经常要用到已过时的方法,当时高版本运行时会有警告提示,可以通过Build.VERSON.SDK_INT获取到版本,
在根据不同版本,使用不同方法。
SQL语句回顾
Desc降序 select id form person desc
Asc升序
Cursor
数据库游标类似一个指针,初始位置是指向第一条记录的上一行,调用moveToNext方法时会移动到第一条记录的位置。
代码实现:
1.创建数据库
2.对数据库进行增删改查
创建数据库
a.创建一个类继承SQLiteOpenHelper类
b.创建定义类的对象,调用getReadableDatabase或者getWriteableDatabase,创建数据库成功。
package com.itheima.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class PersonOpenDBHelper extends SQLiteOpenHelper {
/**
* 构造函数
* @param context 上下文提供信息和环境
* @param name 数据库文件名称
* @param factory 游标工厂,如果为null则默认使用系统提供
* @param version 数据库版本,从1开始,如果小于1会抛出异常
*/
public PersonOpenDBHelper(Context context) {
super(context, "person.db", null, 1);
}
/**
* 当数据库第一次被创建的时候调用
* 适合在这里定义表结构
*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table person(id integer primary key autoincrement,name varchar(20),phone varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
package com.itheima.db;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
/**
* 创建数据库并实现增删改成功能
* android创建数据库:
* 1.创建一个类继承SQLiteOpenHelper类
* 2.创建定义类的对象,调用getReadableDatabase或者getWriteableDatabase,创建数据库成功。
* @author hzd
*
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建SQLiteOpenHelper对象,获取一个可读或可写的数据库
PersonOpenDBHelper helper = new PersonOpenDBHelper(this);
helper.getWritableDatabase();
}
}
对数据库进行增删改查
package com.itheima.db.dao;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.itheima.db.PersonOpenDBHelper;
public class PersonDao {
private PersonOpenDBHelper helper;
public PersonDao(Context context) {
helper = new PersonOpenDBHelper(context);
}
/**
* 添加一条记录
* @param name 名字
* @param phone 电话
*/
public void add(String name,String phone) {
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into person(name,phone) values(?,?)",new Object[]{name,phone});
}
/**
* 根据用户名查找一条记录
* @param name 名字
* @param phone 电话
*/
public int find(String name) {
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.rawQuery("select id from person where id = ?",new String[]{name});
int id = -1;
if(cursor.moveToFirst()) {
id = cursor.getInt(0);
}
return id;
}
/**
* 修改一条记录
* @param name 名字
* @param phone 电话
*/
public void update(String phone,int id) {
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update person set phone=?where id =?",new Object[]{phone,id});
}
/**
* 添加一条记录,根据id
* @param name 名字
*
*/
public void delete(int id) {
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from person where id = ?",new Object[]{id});
}
}
相关推荐
因为数据库的操作在开发中的重要性是不言而喻的,所以,在数据库这一方面下了很大的功夫,终于掌握了基本的操作,包括建表和删除,对数据库的操作,“增删改查”基本操作,而且用了封装性来实现,是学习数据库的一个...
Android 数据库SQLiteDatabase的使用 1.数据库辅助操作接口SQLiteDatabaseOpenHelper的使用 2.ContentValues的使用 3.数据的增删改查 4.listView 与Adapter的使用 5.OptionsMenu的使用 6.Editext隐藏失去焦点的方法
NULL 博文链接:https://zjutsoft.iteye.com/blog/999159
Android高手进阶教程之----Android 数据库SQLiteDatabase的使用!.doc Android高手进阶教程之----Android 通用获取Ip的方法(判断手机是否联网的方法)!!!.doc Android高手进阶教程之----Android 在一个应用中如何...
Android数据库实验全文共7页,当前为第1页。Android数据库实验全文共7页,当前为第1页。实验报告 Android数据库实验全文共7页,当前为第1页。 Android数据库实验全文共7页,当前为第1页。 实验项目:Android数据库...
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class DbHelper extends ...
android 数据库操作 ,数据的增删改查,以及andorid布局页面的编写
实现了安卓移动应用开发中数据库的所有基本功能,完整直观实现了一个数据库的应用。
android数据库使用真的很不错 SQLiteOpenHelper 创建数据库和数据库版本管理的辅助类。这是一个抽象类,所以我们一般都有一个SQLiteOpenHelper子类,需要继承实现 • void onCreate(SQLiteDatabase db) 在数据库第...
实现了在android运用中数据库的基本操作,包括数据库的插入、删除、更新、查找等一系列操作。
Android SQLiteDatabase的使用详解
Android中SQLite数据库的使用 1、创建SQLite数据库 SQLiteDatabase db= SQLiteDatabase.openOrCreateDatabase( /data/data/ + getPackageName() + /test.db, null); 执行完这条语句,可以在adb shell下进入/data/...
SQLiteDataBase简单Android实例 如果没积分的朋友,请到http://blog.csdn.net/zml_2015 评论,留下自己的邮箱哦
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context) { super...
SQLite数据库是android系统内嵌的数据库,小巧强大,能够满足大多数SQL语句的处理工作,而SQLite数据库仅仅是个文件而已。虽然SQLite的有点很多,但并不是如同PC端的mysql般强大,而且android系统中不允许通过JDBC...
(3)数据库存储——SQLiteDataBase 今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenHelper中需要重载函数: onCreate( ):利用SQL语句,在系统中创建数据库(表)...
Android之Sqlite数据库操作实例
note app demo sqlitedatabase mvp 笔记 一款以sqlitedatabase为数据库,采用MVP架构的轻便易用的笔记app
本文实例为大家分享了Android数据库操作工具类的具体代码,供大家参考,具体内容如下 HistoryDAO public class HistoryDAO { private DBConnection dbc = null; private SQLiteDatabase db = null; private ...