當前位置:首頁 » 操作系統 » 安卓開發資料庫

安卓開發資料庫

發布時間: 2022-04-15 21:47:32

㈠ 安卓開發伺服器用什麼資料庫

視情況而定,oracle是主流的大型資料庫,大多數電信項目都是使用的oracle,而sqlserver與mysql主要是個人以及小型公司使用的的資料庫,但是sqlserver需要收費,mysql不用;如果按功能上來說,oracle最為強大,oracle支持遞歸查詢,二後兩者不支持。

三個資料庫中,只有sqlserver有完整的圖形化操作界面,而oracle與mysql都要藉助於其他的第三方資料庫圖形操作界面,比如oracle用的大多都是plsql。

㈡ android開發資料庫怎麼連接

這種方式通常連接一個外部的資料庫,第一個參數就是資料庫文件,這個資料庫不是當前項目中生成的,通常放在項目的Assets目錄下,當然也可以在手機內,如上面參數那個目錄,前提是那個文件存在且你的程序有訪問許可權。

另一種使用資料庫的方式是,自己創建資料庫並創建相應的資料庫表,參考下面的代碼:

java">{

//構造,調用父類構造,資料庫名字,版本號(傳入更大的版本號可以讓資料庫升級,onUpgrade被調用)
publicDatabaseHelper(Contextcontext){
super(context,DatabaseConstant.DATABASE_NAME,null,DatabaseConstant.DATABASE_VERSION);
}

//資料庫創建時調用,裡面執行表創建語句.
@Override
publicvoidonCreate(SQLiteDatabasedb){
db.execSQL(createVoucherTable());
}

//資料庫升級時調用,先刪除舊表,在調用onCreate創建表.
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
db.execSQL("DROPTABLEIFEXISTS"+DatabaseConstant.TABLE_NAME);
onCreate(db);
}
//生成創建表的SQL語句
(){
StringBuffersb=newStringBuffer();
sb.append("CREATETABLE").append(DatabaseConstant.TABLE_NAME).append("(").append(「ID」)
.append("TEXTPRIMARYKEY,")
.append(「USER_ID」).append("INTEGER,").append(「SMS_CONTENT」).append("TEXT)");
returnsb.toString();
}
}

繼承SQLiteOpenHelper並實現裡面的方法.

之後:

//得到資料庫助手類

helper = new DatabaseHelper(context);

//通過助手類,打開一個可讀寫的資料庫連接

SQLiteDatabase database = helper.getReadableDatabase();

//查詢表中所有記錄

database.query(DatabaseConstant.TABLE_NAME, null, null, null, null, null, null);

㈢ 安卓開發用什麼資料庫 伺服器端

安卓開發是客戶端,伺服器端的資料庫和安卓無關的,你寫好介面,幹活的是伺服器端的介面程序。
比如你用PHP寫伺服器端,那麼首選是mysql;換言之你伺服器端是ASP(.net),那麼可以選擇access(小型)或者SQL Server(大型)。
如果你用JSP……自己選吧……
對比幾個資料庫,其實沒有誰好一些的分別,關鍵是看你的用途,選擇適合的就好,語言也是一樣。

㈣ 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 對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個資料庫從舊的模型轉變到新的模型。

㈤ 安卓開發人員多數都用什麼資料庫

理論上,app可以使用任何類型的資料庫,不過目前用得較多的是mssql和mysql。一般開發app用java的比較多,可以考慮使用mysql。sqlite是一種小型數據,可以作為本地保存資料庫,如果數據量比較大,交互比較頻繁,不建議使用。

㈥ 安卓開發需要用到資料庫嘛

每個應用程序都要使用數據,Android應用程序也不例外,Android使用開源的、與操作系統無關的SQL資料庫—SQLite。

SQLite第一個Alpha版本誕生於2000年5月,它是一款輕量級資料庫,它的設計目標是嵌入式的,佔用資源非常的低,只需要幾百K的內存就夠了。

SQLite已經被多種軟體和產品使用,Mozilla FireFox就是使用SQLite來存儲配置數據的,Android和iPhone都是使用SQLite來存儲數據的。

SQLite體系結構圖如下:

編譯器包括Tokenizer(詞法分析器)、 Parser(語法分析器)、Code Generator(代碼產生器),後端由B-tree,Pager,OS Interface組成。

B-tree的職責是負責排序,維護多個資料庫頁之間錯綜復雜的關系,將頁面組織成樹狀結構,頁面就是樹的葉子

Pager負責傳輸,根據B-tree的請求從磁碟讀取頁面或者寫入頁面。

公共服務中有各種實用的功能比如:內存分配、字元串比較,Unicode轉換等。

㈦ 安卓開發連接資料庫

Android 連接資料庫
Android採用關系型資料庫SQLite3,它是一個支持SQL輕量級的嵌入式資料庫,在嵌入式操作上有很廣泛的,WM採用的也是SQLite3
關於過於、原理方面的東西在這篇文章里不會提到,但是如果你想能夠快速的學會操作SQLite3,那這就是你要找的文章!
首先,我們看一下api,所有資料庫相關的介面、類都在。database和android.database.sqlite兩個包下,雖然只有兩個包,但是如果你英文不好或是太懶的話也要迷茫一段時間,其實,我們真正用的到的沒有幾個!
1、SQLiteOpenHelper (android.database.sqlite.SQLiteOpenHelper)
這是一個抽象類,關於抽象類我們都知道,如果要使用它,一定是繼承它!
這個類的方法很少,有一個構造方法
SQLiteOpenHelper(android.content.Context context, java.lang.String name,android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version);
參數不做過多的解釋,CursorFactory一般直接傳null就可以
public void onCreate(SQLiteDatabase db)
此方法在創建資料庫是被調用,所以,應該把創建表的操作放到這個方法裡面,一會兒在後面我們會再詳細的說如何創建表
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
從方法名上我們就能知道這個方法是執行更新的,沒錯,當version改變是系統會調用這個方法,所以在這個方法里應該執行刪除現有表,然後手動調用onCreate的操作
SQLiteDatabase getReadableDatabase()
可讀的SQLiteDatabase對象
SQLiteDatabase getWritableDatabase()
獲取可寫的SQLiteDatabase對象
2、SQLiteDatabase(android.database.sqlite.SQLiteDatabase)
關於操作資料庫的工作(增、刪、查、改)都在這個類里
execSQL(sql)
執行SQL語句,用這個方法+SQL語句可以非常方便的執行增、刪、查、改
除此之外,Android還提供了功過方法實現增、刪、查、改
long insert(TABLE_NAME, null, contentValues)添加記錄
int delete(TABLE_NAME, where, whereValue)刪除記錄
int update(TABLE_NAME, contentValues, where, whereValue) 更新記錄
Cursor query(TABLE_NAME, null, null, null, null, null, null) 查詢記錄
除此之外,還有很多方法,如:beginTransaction()開始事務、endTransaction()結束事務…有興趣的可以自己看api,這里就不多贅述了
3、Cursor(android.database.Cursor)
游標(介面),這個很熟悉了吧,Cursor里的方法非常多,常用的有:
boolean moveToPosition(position)將指針移動到某記錄
getColumnIndex(Contacts.People.NAME)按列名獲取id
int getCount()獲取記錄總數
boolean requery()重新查詢
boolean isAfterLast()指針是否在末尾
boolean isBeforeFirst()時候是開始位置
boolean isFirst()是否是第一條記錄
boolean isLast()是否是最後一條記錄
boolean moveToFirst()、 boolean moveToLast()、 boolean moveToNext()同moveToPosition(position)
4、SimpleCursorAdapter(android.widget.SimpleCursorAdapter)
也許你會奇怪了,之前我還說過關於資料庫的操作都在database和database.sqlite包下,為什麼把一個Adapter放到這里,如果你用過Android的SQLite3,你一定會知道
,這是因為我們對資料庫的操作會經常跟列表聯系起來
經常有朋友會在這出錯,但其實也很簡單
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
R.layout.list,
myCursor,
new String[] {DB.TEXT1,DB. TEXT2},
new int[]{ R.id.list1,R.id.listText2 });
my.setAdapter(adapter);
一共5個參數,具體如下:
參數1:Content
參數2:布局
參數3:Cursor游標對象
參數4:顯示的欄位,傳入String[]
參數5:顯示欄位使用的組件,傳入int[],該數組中是TextView組件的id
到這里,關於資料庫的操作就結束了,但是到目前為止我只做了翻譯的工作,有些同學可能還是沒有掌握,放心,下面我們一起順著正常開發的思路理清一下頭緒!
前面的只是幫沒做過的朋友做下普及,下面才是你真正需要的!
一、寫一個類繼承SQLiteOpenHelpe
public class DatabaseHelper extends SQLiteOpenHelper
構造方法:
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
在onCreate方法里寫建表的操作
public void onCreate(SQLiteDatabase db) {
String sql = 「CREATE TABLE tb_test (_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT,class_jb TEXT NOT NULL,class_ysbj TEXT NOT NULL,title TEXT NOT NULL,content_ysbj TEXT NOT NULL)」;
db.execSQL(sql);//需要異常捕獲
}
在onUpgrade方法里刪除現有表,然後手動調用onCtreate創建表
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = 「drop table 」+tbname;
db.execSQL(sql);
onCreate(db);
}
對表增、刪、查、改的方法,這里用的是SQLiteOpenHelper提供的方法,也可以用sql語句實現,都是一樣的
關於獲取可讀/可寫SQLiteDatabase,我不說大家也應該會想到,只有查找才會用到可讀的SQLiteDatabase
/**
* 添加數據
*/
public long insert(String tname, int tage, String ttel){
SQLiteDatabase db= getWritableDatabase();//獲取可寫SQLiteDatabase對象
//ContentValues類似map,存入的是鍵值對
ContentValues contentValues = new ContentValues();
contentValues.put(「tname」, tname);
contentValues.put(「tage」, tage);
contentValues.put(「ttel」, ttel);
return db.insert(tbname, null, contentValues);
}
/**
* 刪除記錄
* @param _id
*/
public void delete(String _id){
SQLiteDatabase db= getWritableDatabase();
db.delete(tbname,
「_id=?」,
new String[]{_id});
}
/**
* 更新記錄的,跟插入的很像
*/
public void update(String _id,String tname, int tage, String ttel){
SQLiteDatabase db= getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(「tname」, tname);
contentValues.put(「tage」, tage);
contentValues.put(「ttel」, ttel);
db.update(tbname, contentValues,
「_id=?」,
new String[]{_id});
}
/**
* 查詢所有數據
* @return Cursor
*/
public Cursor select(){
SQLiteDatabase db = getReadableDatabase();
return db.query(
tbname,
new String[]{「_id」,「tname」,「tage」,「ttel」,「taddr」},
null,
null, null, null, 「_id desc」);
}
關於db.query方法的參數,有很多,為了防止大家弄亂,我簡單說一下
參數1:表名
參數2:返回數據包含的列信息,String數組里放的都是列名
參數3:相當於sql里的where,sql里where後寫的內容放到這就行了,例如:tage>?
參數4:如果你在參數3里寫了?(知道我為什麼寫tage>?了吧),那個這里就是代替?的值 接上例:new String[]{「30」}
參數5:分組,不解釋了,不想分組就傳null
參數6:having,想不起來的看看SQL
參數7:orderBy排序
到這里,你已經完成了最多的第一步!我們來看看都用到了那些類:
SQLiteOpenHelper我們繼承使用的
SQLiteDatabase增刪查改都離不開它,即使你直接用sql語句,也要用到execSQL(sql)
二、這里無非是對DatabaseHelper類定義方法的調用,沒什麼可說的,不過我還是對查詢再嘮叨幾句吧
Android查詢出來的結果一Cursor形式返回
cursor = sqLiteHelper.select();//是不是很簡單?
查詢出來的cursor一般會顯示在listView中,這就要用到剛才提到的SimpleCursorAdapter
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
R.layout.list_row,
cursor,
new String[]{「tname」,「ttel」},
new int[]{R.id.TextView01,R.id.TextView02}
);
裡面帶有實例。自己好好學習吧!

㈧ 安卓開發需要什麼資料庫

sqlite
,android自帶的庫,表示使用非常方便,一般記住個用戶名密碼什麼的動用他
MySql、oracle也是經常使用的

㈨ 安卓開發,用什麼資料庫作為本地資料庫

android系統自帶了sqlite資料庫,但這是一個小型桌面資料庫,不太適合做伺服器資料庫。若是開發一個客戶機/伺服器系統,資料庫是安裝在伺服器端的,任何一種資料庫都是可以的。

熱點內容
應用一直獲取配置失敗是怎麼回事 發布:2024-11-14 22:24:12 瀏覽:147
安卓如何收到信息開閃光 發布:2024-11-14 22:15:56 瀏覽:329
世紀佳緣頭像上傳 發布:2024-11-14 22:15:51 瀏覽:617
免費搭建ss伺服器 發布:2024-11-14 22:15:39 瀏覽:937
女性源碼 發布:2024-11-14 22:01:19 瀏覽:808
basenamephp 發布:2024-11-14 21:56:12 瀏覽:696
安卓系統怎麼登錄低版本微信 發布:2024-11-14 21:56:01 瀏覽:287
軟體收費系統源碼 發布:2024-11-14 21:54:24 瀏覽:840
微雲極速上傳 發布:2024-11-14 21:50:02 瀏覽:569
梯子編程 發布:2024-11-14 21:49:57 瀏覽:696