導航:首頁 > 操作系統 > android中使用資料庫

android中使用資料庫

發布時間:2022-08-23 14:44:02

android怎麼使用資料庫簡述

1.首先要有一個繼承SqliteOpenHelper的幫助類
//幫助類的作用是建立資料庫以及獲取資料庫
2.然後就可以用資料庫對象來執行代碼了

Ⅱ android開發 資料庫的使用

SQLite是輕量級嵌入式資料庫引擎,它支持 SQL 語言,並且只利用很少的內存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla, PHP, Python)都使用了 SQLite,SQLite 由以下幾個組件組成:SQL 編譯器、內核、後端以及附件。SQLite 通過利用虛擬機和虛擬資料庫引擎(VDBE),使調試、修改和擴展 SQLite 的內核變得更加方便。

特點:
面向資源有限的設備, 沒有伺服器進程, 所有數據存放在同一文件中跨平台,可自由復制。

SQLite 基本上符合 SQL-92 標准,和其他的主要 SQL 資料庫沒什麼區別。它的優點就是高效,Android 運行時環境包含了完整的 SQLite。

SQLite 和其他資料庫最大的不同就是對數據類型的支持,創建一個表時,可以在 CREATE TABLE 語句中指定某列的數據類型,但是你可以把任何數據類型放入任何列中。當某個值插入資料庫時,SQLite 將檢查它的類型。如果該類型與關聯的列不匹配,則 SQLite 會嘗試將該值轉換成該列的類型。如果不能轉換,則該值將作為其本身具有的類型存儲。比如可以把一個字元串(String)放入 INTEGER 列。SQLite 稱這為「弱類型」(manifest typing.)。 此外,SQLite 不支持一些標準的 SQL 功能,特別是外鍵約束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 還有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一個完整的 SQL 系統,擁有完整的觸發器,交易等等。

Android 集成了 SQLite 資料庫 Android 在運行時(run-time)集成了 SQLite,所以每個 Android 應用程序都可以使用 SQLite 資料庫。

對於熟悉 SQL 的開發人員來時,在 Android 開發中使用 SQLite 相當簡單。但是,由於 JDBC 會消耗太多的系統資源,所以 JDBC 對於手機這種內存受限設備來說並不合適。因此,Android 提供了一些新的 API 來使用 SQLite 資料庫,Android 開發中,程序員需要學使用這些 API。

資料庫存儲在 data/< 項目文件夾 >/databases/ 下。 Android 開發中使用 SQLite 資料庫 Activites 可以通過 Content Provider 或者 Service 訪問一個資料庫。

下面會詳細講解如果創建資料庫,添加數據和查詢資料庫。 創建資料庫 Android 不自動提供資料庫。在 Android 應用程序中使用 SQLite,必須自己創建資料庫,然後創建表、索引,填充數據。

Android 提供了 SQLiteOpenHelper 幫助你創建一個資料庫,你只要繼承 SQLiteOpenHelper 類,就可以輕松的創建資料庫。SQLiteOpenHelper 類根據開發應用程序的需要,封裝了創建和更新資料庫使用的邏輯。

SQLiteOpenHelper 的子類,至少需要實現三個方法:

1 構造函數,調用父類 SQLiteOpenHelper 的構造函數。這個方法需要四個參數:上下文環境(例如,一個 Activity),資料庫名字,一個可選的游標工廠(通常是 Null),一個代表你正在使用的資料庫模型版本的整數。

2 onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數,根據需要對這個對象填充表和初始化數據。

3 onUpgrage() 方法,它需要三個參數,一個 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個資料庫從舊的模型轉變到新的模型。

Ⅲ android上如何使用sqlite資料庫

SQLite
一個非常流行的嵌入式資料庫,它支持
SQL
語言,並且只利用很少的內存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla,
PHP,
Python)都使用了
SQLite.
Android
開發中使用
SQLite
資料庫
Activites
可以通過
Content
Provider
或者
Service
訪問一個資料庫。下面會詳細講解如果創建資料庫,添加數據和查詢資料庫。
創建資料庫
Android
不自動提供資料庫。在
Android
應用程序中使用
SQLite,必須自己創建資料庫,然後創建表、索引,填充數據。Android
提供了
SQLiteOpenHelper
幫助你創建一個資料庫,你只要繼承
SQLiteOpenHelper
類,就可以輕松的創建資料庫。SQLiteOpenHelper
類根據開發應用程序的需要,封裝了創建和更新資料庫使用的邏輯。SQLiteOpenHelper
的子類,至少需要實現三個方法:
構造函數,調用父類
SQLiteOpenHelper
的構造函數。這個方法需要四個參數:上下文環境(例如,一個
Activity),資料庫名字,一個可選的游標工廠(通常是
Null),一個代表你正在使用的資料庫模型版本的整數。
onCreate()方法,它需要一個
SQLiteDatabase
對象作為參數,根據需要對這個對象填充表和初始化數據。
onUpgrage()
方法,它需要三個參數,一個
SQLiteDatabase
對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個資料庫從舊的模型轉變到新的模型。

Ⅳ 在Android應用程序中使用SQLite資料庫以及怎麼用

其主要思路是:
1.
把資料庫分解成幾個asset文件。
2.
當需要打開資料庫時,如果資料庫不存在,就把那幾個asset文件重新合並成一個資料庫文件。
3.
如果資料庫的版本改變了,就在onUpgrade()方法中把資料庫文件刪除掉。
下面是代碼:
//資料庫的預設路徑
private
static
finalString
DB_PATH
=
"/data/data/com.mypackage.myapp/databases/";
private
static
finalString
DB_NAME
=
"mydb.db";
private
static
finalint
DB_VERSION
=
2;
private
static
finalString
DB_SPLIT_NAME
=
"mydb.db.00";
private
static
finalint
DB_SPLIT_COUNT
=
3;
private
SQLiteDatabasem_database;
private
final
Contextm_context;
/**
*
Constructor
*保存傳進來的context參數以用來訪問應用的asset和資源文件。
*
@param
context
*/
public
MyDB(Contextcontext)
{
super(context,
DB_NAME,
null,
DB_VERSION);
this.m_context
=
context;
}
public
static
MyDBopenDatabaseReadOnly(Context
context)
{
MyDB
db
=
new
MyDB(context);
try
{
db.createDataBase();
}
catch
(IOException
e)
{
//
TODO
Auto-generated
catch
block
e.printStackTrace();
}
db.openDataBase(SQLiteDatabase.OPEN_READONLY);
return
db;
}
public
static
MyDBopenDatabaseReadWrite(Context
context)
{
MyDB
db
=
new
MyDB(context);
try
{
db.createDataBase();
}
catch
(IOException
e)
{
//
TODO
Auto-generated
catch
block
e.printStackTrace();
}
db.openDataBase(SQLiteDatabase.OPEN_READWRITE);
return
db;
}
/**
*創建一個空資料庫,用來存儲已有的資料庫。
*/
public
voidcreateDataBase()
throws
IOException{
boolean
dbExist
=checkDataBase();
if
(dbExist)
{
/*
**如果自己的資料庫的版本改變了,調用這個方法確保在onUpgrade()被調用時
**傳進去的是可寫的資料庫。
*/
SQLiteDatabase
db
=this.getWritableDatabase();
if
(db
!=
null)
{
db.close();
}
}
dbExist
=
checkDataBase();
if
(!dbExist)
{
try
{
/*
**
調用這個方法以確保在預設路徑內產生一個空資料庫,以便在其基礎上復制咱們已有的資料庫。
*/
SQLiteDatabase
db
=this.getReadableDatabase();
if
(db
!=
null)
{
db.close();
}
DataBase();
}
catch
(IOException
e)
{
Log.e("DB",
e.getMessage());
throw
new
Error("Error
ingdatabase");
}
}
}
/**
*
檢查資料庫是否已存在,以避免重復復制。
*
@return
true
if
it
exists,
false
if
itdoesn't
*/
private
static
booleancheckDataBase(){
SQLiteDatabase
checkDB
=
null;
try
{
String
path
=
DB_PATH
+
DB_NAME;
checkDB
=SQLiteDatabase.openDatabase(path,
null,
SQLiteDatabase.OPEN_READONLY);
}
catch
(SQLiteException
e){
//database
does't
exist
yet.
}
if
(checkDB
!=
null)
{
checkDB.close();
}
return
checkDB
!=
null
?
true
:
false;
}
/**
*
把存在asset文件中的資料庫復制的剛創建的空資料庫中。
*
*/
private
voidDataBase()
throws
IOException
{
//
剛創建的空資料庫的路徑
String
outFileName
=
DB_PATH
+
DB_NAME;
//
打開空資料庫
OutputStream
output
=
new
FileOutputStream(outFileName);
byte[]
buffer
=
new
byte[1024*8];
AssetManager
assetMgr
=m_context.getAssets();
for
(int
i
=
1;
i
<=
DB_SPLIT_COUNT;
i++){
//
打開分解的asset文件
String
fn
=
DB_SPLIT_NAME
+String.valueOf(i);
InputStream
input
=
assetMgr.open(fn);
//Log.i("DB",
"opened"
+
fn);
int
length;
while
((length
=
input.read(buffer))
>0)
{
//Log.i("DB",
"read"
+
String.valueOf(length));
output.write(buffer,
0,
length);
//Log.i("DB",
"write"
+
String.valueOf(length));
}
input.close();
}
//Close
the
streams
output.flush();
output.close();
}
/**

Ⅳ 如何在android中使用sqlite資料庫

android 中SQliteDatabase資料庫使用SQLiteOpenHelper輔助類來創建SQLite資料庫視圖,如下代碼:
create view 表名 as 定義

SQLiteOpenHelper類是一個輔助類,用於創建或打開資料庫。
該類的使用方法一般是自定義一個子類,繼承自SQLiteOpenHelper,並覆寫其中最關鍵的兩個方法:onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。當新建一個資料庫時會調用前者,一般在裡面做一些創建表或視圖的操作。資料庫版本升級時則會調用後者。
定義好子類後(假如叫SqlHelper),只要調用SqlHelper對象的getReadableDatabase()方法或getWritableDatabase()方法即可返回一個SQLiteDatabase對象。如果是第一次調用,則會創建資料庫。隨後可使用SQLiteDatabase對象的方法進行數據操作,如:execSQL(), insert(), update(), query(), rawQuery(), delete()等。

Ⅵ android怎麼使用外部的資料庫文件

先簡單說下步驟:

將格式為.db的資料庫文件放到android項目assets目錄中;
在程序必要的時候,將其「拷貝」(文件讀取)到Android 程序默認的資料庫存儲目錄中,一般路徑為「/data/data/項目包名/databases/「;
自定義SQLiteOpenHelper類,創建一個名字跟步驟1中.db名稱一樣的資料庫;
按照平常邏輯,增刪改查資料庫。

Ⅶ android 怎麼調用資料庫方法

SQLite也支持SQL標准類型,VARCHAR、CHAR、BIGINT等。
創建資料庫
Android 不自動提供資料庫。在 Android 應用程序中使用 SQLite,必須自己創建資料庫,然後創建表、索引,填充數據。Android 提供了 SQLiteOpenHelper 幫助你創建一個資料庫,只要繼承 SQLiteOpenHelper 類,就可以創建資料庫。繼承了SQLiteOpenHelper的子類,必須實現三個方法:
1、構造函數,調用父類 SQLiteOpenHelper 的構造函數。這個方法需要四個參數:上下文環境(例如,一個 Activity),資料庫名字,一個可選的游標工廠(通常是 Null),一個代表你正在使用的資料庫模型版本的整數。
2、onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數,根據需要對這個對象填充表和初始化數據。
3、onUpgrage() 方法,它需要三個參數,一個 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣可以清楚如何把一個資料庫從舊的模型轉變到新的模型。

Ⅷ android手機使用的是什麼資料庫

一般移動的平台如iphone, android都是使用sqlite資料庫,不過也有些在網路間傳輸使用xml,和json的,兩種格式都是java原生支持,解析也比較方便,還方便在網路間傳輸。

Ⅸ android開發中常用的資料庫是

如果是本地數據的需求用SQlite,如果像登陸有用驗證或者網路間共享數據的話,就需要調用WebService與後台伺服器數據交互,這兩種數據是沒有聯系的。一個是本地資料庫,一個是伺服器端資料庫。本地用資料庫就是SQlite,別的不太可能,終端沒有那麼高的性能,再說甲骨文公司也沒出手機端oracle啊。
如果你的數據是已知的,靜態的,沒有太多的變化,滿可以在本地SQlite中存儲、讀取。這樣不會因網路問題而降低效率和成功率。如果數據未知、有實時的變化或者有與其他用戶交互、共享的數據必然需要後台伺服器數據。

Ⅹ android用什麼資料庫好

閱讀全文

與android中使用資料庫相關的資料

熱點內容
php正則class 瀏覽:731
怎麼在文件夾查找一堆文件 瀏覽:536
核酸報告用什麼app 瀏覽:785
u8怎麼ping通伺服器地址 瀏覽:990
安卓什麼手機支持背部輕敲調出健康碼 瀏覽:868
程序員抽獎排行 瀏覽:742
扭蛋人生安卓如何下載 瀏覽:722
什麼app文檔資源多好 瀏覽:922
黑馬程序員APP 瀏覽:146
掌閱小說是哪個app 瀏覽:45
如何把u盤的軟體安裝到安卓機 瀏覽:998
php跑在什麼伺服器 瀏覽:122
編譯器怎麼跳轉到下一行 瀏覽:450
嵌入式py編譯器 瀏覽:324
rplayer下載安卓哪個文件夾 瀏覽:298
安卓手機里的電子狗怎麼用 瀏覽:748
pythonspyder入門 瀏覽:764
趣質貓app是什麼 瀏覽:60
皮帶壓縮機經常吸不上 瀏覽:205
西部隨行版怎樣加密 瀏覽:996