Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android編程入門 >> Android數據庫操作

Android數據庫操作

編輯:Android編程入門

1前言

android中使用SQLite作為數據庫,在進行相關的開發的時候不需要導入包。SQLite起符合SQL標准,也有自己的一些特性,是一個輕量級的數據庫。

2代碼

簡單的數據庫類封裝

package org.tonny.utils;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context) {
/**
* students.db 數據庫的名字 ;null 表示使用默認的游標工廠 ;1 表示一開始的版本,建議設置為1
*/
super(context, "sutdents.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
// 該方法在第一次創建數據庫的時候被調用
// 因此可以在這個地方創建表之類的操作
db.execSQL("CREATE TABLE student(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20))");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 修改數據庫的版本會觸發此函數
// 在這裡可以添加新的表或者修改表的字段
}
}


模型對象

package org.tonny.utils;

public class Student {
private int id;
private String name;

public Student() {

}

public Student(int id, String name) {
this.id = id;
this.name = name;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}


控制邏輯

package org.tonny.utils;


import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class StudentService {

private DBHelper dbHelper = null;

public StudentService(Context context) {
this.dbHelper = new DBHelper(context);
}

public void insert(Student stu) {
// 內部有緩存功能,使用的是同一個句柄,如果數據庫滿了,則返回一個只讀的句柄
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 使用占位符號‘?’,防止特殊字符
db.execSQL("INSERT INTO student VALUES(?,?)",
new Object[] { stu.getId(), stu.getName() });
}

public void delete(Integer id) {
SQLiteDatabase db = dbHelper.getReadableDatabase();
db.execSQL("DELETE FROM student WHERE id = ?",
new String[] { String.valueOf(id) });
}

public void update(Student stu) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL("UPDATE student SET name = ? WHERE id = ?", new String[] {
stu.getName(), String.valueOf(stu.getId()) });
}

public Student query(Integer id) {
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "SELECT * FROM student WHERE id = ?";
Cursor cursor = db.rawQuery(sql, new String[] { String.valueOf(id) });
if (cursor.moveToFirst()) {
int stuId = cursor.getInt(cursor.getColumnIndex("id"));
String stuName = cursor.getString(cursor.getColumnIndex("name"));
return new Student(stuId, stuName);
}
return null;
}
}


3總結

數據庫的操作都差不多,就這些吧,還有的其他功能等我回頭再完善吧。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved