一、在src上按滑鼠右鍵,選擇 New / Class,來新增一個名為"DBHelper"的類別。

addclass  

 

二、DBHelper.java 的程式碼如下:

這裡一定要有 onCreate 和 onUpgrade ,onCreate會建立資料表。

onUpgrade 是指當我們修改資料表時,若資料表已經存在,則會先執行刪除table,再建立table。==>這個方式不大對,因為每次刪除table,重鍵一個資料表,歷史資料也跟著清空了。

package com.example.test;

 

import static android.provider.BaseColumns._ID; //這個是資料庫都會有個唯一的ID

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

 

public class DBHelper extends SQLiteOpenHelper {

   //喧告公用常數(final)   

   public static final String TABLE_NAME = "friends" //表格名稱

   public static final String NAME = "name";

   public static final String TEL = "tel";

   public static final String EMAIL = "email";

  

   private final static String DATABASE_NAME = "demo.db" //資料庫名稱

   private final static int DATABASE_VERSION = 1;  //資料庫版本

   public DBHelper(Context context) {

       super(context, DATABASE_NAME, null, DATABASE_VERSION);

  }

 

   @Override

   //建立table,NAMETELEMAIL 三個欄位

   public void onCreate(SQLiteDatabase db) {

     final String INIT_TABLE = "CREATE TABLE " + TABLE_NAME + " (" +_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + NAME + " CHAR, " + TEL + " CHAR, " + EMAIL + " CHAR);";

   db.execSQL(INIT_TABLE);

  }

 

   @Override

   //刪除table

   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

     final String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME;

   db.execSQL(DROP_TABLE);

   onCreate(db);

  }

}

 

三、在主程式裡,

package com.example.test;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

 

publicclass MainActivity extends Activity {

   private DBHelper dbhelper = null;

  

   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

         

      dbhelper = new DBHelper(this); //執行Helper類,會建立demo資料庫,和有三個欄位NAME、TEL、EMAIL 的 friends 資料表 .

      dbhelper.close();

   }

 

   @Override

   public boolean onCreateOptionsMenu(Menu menu) {

      // Inflate the menu; this adds items to the action bar if it is present.

      getMenuInflater().inflate(R.menu.main, menu);

      return true;

  }

}

 

四、如何看資料庫是否建立成功?可參考"SQLite簡介",若有看到 demo.db ,就成功了

 

接著要新增和查詢資料,可以看這篇:[android SQLite] SQLite 新增和查詢資料

 

arrow
arrow

    jcgogo 發表在 痞客邦 留言(0) 人氣()