Android的SQLite示例

我是Android新手,我必须创build一个应用程序,我需要使用SQLite数据库。 我没有那么好的SQLite装备。

你能告诉我SQLiteOpenHelper类的用途和用途,并提供一个简单的数据库创build和插入的例子吗?

Sqlite助手类帮助我们pipe理数据库创build和版本pipe理。 SQLiteOpenHelper负责所有的数据库pipe理活动。 要使用它,
1.Override SQLiteOpenHelper的onCreate(), onUpgrade()方法。 可以重写onOpen()方法。
2.使用这个子类创build一个可读或可写的数据库,并使用SQLiteDatabase的四个API方法insert(), execSQL(), update(), delete()来创build,读取,更新和删除表的行。

创buildMyEmployees表并select和插入logging的示例:

 public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "DBName"; private static final int DATABASE_VERSION = 2; // Database creation sql statement private static final String DATABASE_CREATE = "create table MyEmployees ( _id integer primary key,name text not null);"; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } // Method is called during creation of the database @Override public void onCreate(SQLiteDatabase database) { database.execSQL(DATABASE_CREATE); } // Method is called during an upgrade of the database, @Override public void onUpgrade(SQLiteDatabase database,int oldVersion,int newVersion){ Log.w(MyDatabaseHelper.class.getName(), "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); database.execSQL("DROP TABLE IF EXISTS MyEmployees"); onCreate(database); } } 

现在你可以使用这个类如下,

 public class MyDB{ private MyDatabaseHelper dbHelper; private SQLiteDatabase database; public final static String EMP_TABLE="MyEmployees"; // name of table public final static String EMP_ID="_id"; // id value for employee public final static String EMP_NAME="name"; // name of employee /** * * @param context */ public MyDB(Context context){ dbHelper = new MyDatabaseHelper(context); database = dbHelper.getWritableDatabase(); } public long createRecords(String id, String name){ ContentValues values = new ContentValues(); values.put(EMP_ID, id); values.put(EMP_NAME, name); return database.insert(EMP_TABLE, null, values); } public Cursor selectRecords() { String[] cols = new String[] {EMP_ID, EMP_NAME}; Cursor mCursor = database.query(true, EMP_TABLE,cols,null , null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; // iterate to get each value. } } 

现在你可以在你的activity中使用MyDB类来完成所有的数据库操作。 创buildlogging将帮助您插入值,类似地,您可以拥有自己的函数进行更新和删除。

以下链接我帮你

1. Android Sqlite数据库

2.教程1

数据库帮助器类:

pipe理数据库创build和版本pipe理的助手类。

你创build一个实现onCreate(SQLiteDatabase)onUpgrade(SQLiteDatabase, int, int)onOpen(SQLiteDatabase)类,并且这个类负责打开数据库(如果存在的话),创build它,如果没有的话, 。 事务用于确保数据库始终处于合理的状态。

通过这个类, ContentProvider实现可以轻松地将数据库的打开和升级推迟到首次使用时,以避免阻止长时间运行数据库升级的应用程序启动。

你需要更多的参考这个链接Sqlite Helper

使用Helper类可以访问SQLite数据库,并可以通过覆盖onCreate()和onUpgrade()方法对其执行各种操作。

DBHelper类是处理sqlite数据库的打开和closures以及创build和更新,以及关于它如何工作的体面的文章在这里 。 当我开始android是非常有用的(但是我最近已经objective-c,并忘记大部分是任何使用。