Android提供了五種存儲方式,分別是文件、sharedPreference、網絡、SQLite、ContentProvider。SQLite是一種輕型數據庫,具有獨立性、隔離性、跨平台、多語言接口、安全性等優點,目前應用較為廣泛。現在主要說一下在Android中SQLite的使用。
首先,我新建一個數據庫操作類DataBaseHelper,讓他繼承自SQLiteOpenHelper,然後復寫其中的兩個方法onCreate和onUpgrade。
復制代碼
1 package com.example.sqlitedb;
2
3 import android.content.Context;
4 import android.database.sqlite.SQLiteDatabase;
5 import android.database.sqlite.SQLiteDatabase.CursorFactory;
6 import android.database.sqlite.SQLiteOpenHelper;
7
8 public class DataBaseHelper extends SQLiteOpenHelper{
9
10 private final static String DBName="sqlite3.db";
11 private final static String TableName="";
12 private final static String firstname="provincial";
13 private final static String lastname="number";
14
15 public DataBaseHelper(Context context, String name, CursorFactory factory,
16 int version) {
17 super(context, DBName, factory, version);
18 // TODO Auto-generated constructor stub
19 }
20
21 @Override
22 public void onCreate(SQLiteDatabase db) {
23 //創建表
24 String sql=("CREATE TABLE"+TableName+"(INTEGER PRIMARY KEY AUTOINCREMENT,"+firstname+" VARCHAR, "+lastname+" SMALLINT)");
25 db.execSQL(sql);
26 }
27
28 @Override
29 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
30 // 刪除表
31 String sql = "DROP TABLE IF EXISTS " + TableName;
32 db.execSQL(sql);34 }
35
36 }
復制代碼
然後,使用sql語句來實現一些常用的SQLite的操作,具體如下:
復制代碼
1 @Override
2 public void onCreate(SQLiteDatabase db) {
3 //創建表
4 String sql="CREATE TABLE city (INTEGER PRIMARY KEY AUTOINCREMENT, provincial VARCHAR, number SMALLINT)";
5 db.execSQL(sql);
6 //插入數據
7 //方法1:使用execSQL
8 String sql1="insert into city (firstname,lastname) values ('北京','20')";
9 db.execSQL(sql1);
10 //方法2:使用insert
11 ContentValues cv=new ContentValues();
12 cv.put("provincial", "天津");
13 cv.put("number", 30);
14 db.insert("city", null, cv);
15 //修改數據
16 //1.使用execSQL
17 String sql2="update city set lastname = '25' where provincial='天津'";
18 db.execSQL(sql2);
19 //2.使用insert
20 ContentValues cv1=new ContentValues();
21 cv1.put("provincial", "北京");
22 cv1.put("number", 30);
23 db.insert("city", null, cv);
24 //刪除數據
25 String sql3 = "delete from city where provincial='北京'";
26 db.execSQL(sql3);
27 //關閉數據庫
28 db.close();
29 }