日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

sqlite数据库android使用教程,Android开发教程之 SQLite数据库的使用

發布時間:2025/4/5 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlite数据库android使用教程,Android开发教程之 SQLite数据库的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在開發Android應用程序時經常需要存儲數據,Android系統提供了SQLite數據庫,還提供了SQLiteOpenHelper類,使我們可以很方便的操作數據庫。通過一個例子來說明在Android開發中使用SQLite數據庫。

示例:新建一個Android應用程序項目,在main.xml文件中添加5個按鈕。當我們點擊這五個按鈕時依次進行創建數據庫,更新數據庫的版本,向數據庫的表中插入數據,更新表以及查詢等操作。這個項目中有兩個Java文件,一個是Activity的文件,另一個是繼承自SQLiteOpenHelper類的DatebaseHelper類。在這個類中重寫了SQLiteOpenHelper的構造方法,以及onCreate()和onUpgrade()方法。

main.xml

[xhtml:firstline[1]] view plaincopy

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

android:id="@+id/createdb"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:text="創建數據庫"

/>

android:id="@+id/updatedb"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:text="更新數據庫"

/>

android:id="@+id/insert"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:text="插入數據"

/>

android:id="@+id/update"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:text="更新數據"

/>

android:id="@+id/query"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:text="查詢數據"

/>

DatebaseHelper.java

[java:firstline[1]] view plaincopy

package idea.org;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

import android.database.sqlite.SQLiteOpenHelper;

public class DatebaseHelper extends SQLiteOpenHelper{

//DatabaseHelper作為一個訪問SQLite的助手類,提供兩個方面的功能,

//第一,getReadableDatabase(),getWritableDatabase()可以獲得SQLiteDatabse對象,通過該對象可以對數據庫進行操作

//第二,提供了onCreate()和onUpgrade()兩個回調函數,允許我們在創建和升級數據庫時,進行自己的操作

public static final int Version=1;

//在SQLiteOepnHelper的子類當中,必須有該構造函數

public DatebaseHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version);

// TODO Auto-generated constructor stub

}

public DatebaseHelper(Context context,String name,int version)

{

this(context,name,null,version);

}

public DatebaseHelper(Context context,String name)

{

this(context, name, Version);

}

//該函數是在第一次得到SQLiteDatabse對象的時候,才會調用這個方法

@Override

public void onCreate(SQLiteDatabase db) {

// TODO Auto-generated method stub

System.out.println("create a datebase");

//execSQL函數用于執行SQL語句

db.execSQL("create table user(id int primary key,name varchar(20))");

}

//更新數據庫的版本時執行這個方法

@Override

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

// TODO Auto-generated method stub

System.out.println("update a database");

}

}

Android_SQLite.java

[java:firstline[1]] view plaincopy

package idea.org;

import android.app.Activity;

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class Android_SQLite extends Activity {

private Button createdb,updatedb,buttonInsert,buttonUpdate,buttonQuery;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

createdb=(Button)findViewById(R.id.createdb);

updatedb=(Button)findViewById(R.id.updatedb);

buttonInsert=(Button)findViewById(R.id.insert);

buttonUpdate=(Button)findViewById(R.id.update);

buttonQuery=(Button)findViewById(R.id.query);

createdb.setOnClickListener(new CreatedbListener());

updatedb.setOnClickListener(new UpdateListener());

buttonInsert.setOnClickListener(new ButtonInsertListener());

buttonUpdate.setOnClickListener(new ButtonUpdateListener());

buttonQuery.setOnClickListener(new ButtonQueryListener());

}

class CreatedbListener implements OnClickListener

{

/* (non-Javadoc)

* @see android.view.View.OnClickListener#onClick(android.view.View)

*/

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//只有調用了DatabaseHelper對象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才會創建,或打開一個數據庫

DatebaseHelper dbHelper=new DatebaseHelper(Android_SQLite.this, "test_db");

SQLiteDatabase db=dbHelper.getReadableDatabase();

}

}

class UpdateListener implements OnClickListener

{

/* (non-Javadoc)

* @see android.view.View.OnClickListener#onClick(android.view.View)

*/

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//將數據庫的版本升級為2

DatebaseHelper dbHelper=new DatebaseHelper(Android_SQLite.this,"test_db",2);

SQLiteDatabase db=dbHelper.getReadableDatabase();

}

}

class ButtonInsertListener implements OnClickListener

{

/* (non-Javadoc)

* @see android.view.View.OnClickListener#onClick(android.view.View)

*/

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//獲取最新版本的數據庫,不然會出現異常

DatebaseHelper dbHelper=new DatebaseHelper(Android_SQLite.this,"test_db",2);

SQLiteDatabase db=dbHelper.getWritableDatabase();

//db.execSQL("insert into user (id,name) values (1,'張三')")

ContentValues ?values=new ContentValues();

values.put("id", 1);

values.put("name", "張三");

db.insert("user", null, values);

}

}

class ButtonUpdateListener implements OnClickListener

{

/* (non-Javadoc)

* @see android.view.View.OnClickListener#onClick(android.view.View)

*/

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

DatebaseHelper dbHelper=new DatebaseHelper(Android_SQLite.this,"test_db",2);

//得到一個可寫的SQLiteDatabase對象

SQLiteDatabase db=dbHelper.getWritableDatabase();

ContentValues values=new ContentValues();

values.put("name", "張三豐");

db.update("user", values, "id=?", new String[]{"1"});

}

}

class ButtonQueryListener implements OnClickListener

{

/* (non-Javadoc)

* @see android.view.View.OnClickListener#onClick(android.view.View)

*/

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

DatebaseHelper dbHelper=new DatebaseHelper(Android_SQLite.this,"test_db",2);

SQLiteDatabase db=dbHelper.getReadableDatabase();

Cursor c=db.rawQuery("select * from user",null);

while(c.moveToNext())

{

int id=c.getInt(c.getColumnIndex("id"));

String name=c.getString(c.getColumnIndexOrThrow("name"));

System.out.println("Query--->id:"+id+" ? name:"+name);

}

}

}

}

需要注意的是當我們點擊“更新數據庫”的按鈕之后,數據庫的版本更新為2。當我們再使用數據庫的使用應該獲得最新版本的數據庫,不然的話會出現Adroid.database.sqlite.SQLiteException: Can't downgrade database from version 2 to 1的異常。

運行效果:

界面

依次點擊5個按鈕控制臺輸出如下內容。

本文出處:http://www.ablanxue.com/prone_3667_1.html

總結

以上是生活随笔為你收集整理的sqlite数据库android使用教程,Android开发教程之 SQLite数据库的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。