安卓核心技術中級 SQLite資料庫

2021-09-17 19:35:42 字數 4357 閱讀 7314

android使用開源的,與作業系統無關的sql資料的。sqlite是一款輕量級資料庫,它的設計目的是嵌入式,而且占用的資源非常少,在嵌入式裝置中,可能只需要幾百kb,這也是android系統採用sqlite資料庫的原因之一。

sqlite3資料型別:

支援null,interger,real(浮點數字),text(字串文字)和blob(二進位制物件)資料型別,雖然它支援的資料物件只有五種,但實際上也接受varchar,char,decimal(p,s)等資料型別,只不過在運輸或儲存時會轉成對於的五種資料型別。sqlite最大的特點是你可以儲存任何型別的資料到任何欄位中,無論這列宣告的資料型別是什麼。

在命令列下建立資料庫

1、啟動模擬器後,開啟命令列,執行adb shell

2、進入所在工程目錄,如:cd data/data/com.vince.db

3、執行sqlite3 mydb建立資料庫檔案

這時如果使用.help可以區則求助,.quit則是離開

sql指令都是以分號(;)結尾的。如果遇到兩個減號(–)則代表註解

包android.database.sqlite包含了使用sqlite資料庫的所有api

sql資料庫主要概念之一就是schema——乙個關於如何組織資料庫的定義

以下是乙個為單錶定義表名和列名的**片段:

public

final

class

petmetadata

//dog表的定義

public

static

abstract

class

dogtable

implements

basecolumns

}

import android.content.context;

import android.database.sqlite.sqlitedatabase;

import android.database.sqlite.sqliteopenhelper;

public

class

databasehelper

extends

sqliteopenhelper

//如果資料表不存在,則呼叫該方法

@override

public

void

oncreate

(sqlitedatabase db)

//公升級

@override

public

void

onupgrade

(sqlitedatabase db,

int oldversion,

int newversion)

}

public

void

add(dog dog)

//根據id查詢結果

public dog findbyid

(int id)

;//是否去除重覆記錄,表名,要查詢的列,查詢條件,查詢條件的值,分組條件,分組條件的值,排序,分離條件

cursor c = db.

query

(true

,petmetadata.dogtable.table_name,columns,petmetadata.dogtable._id+

"=?"

,new

string

,null,null,null,null)

; dog dog = null;

if(c.

movetonext()

) c.

close()

; db.

close()

;return dog;

}//查詢所有

public arraylist

findall()

;//是否去除重覆記錄,表名,要查詢的列,查詢條件,查詢條件的值,分組條件,分組條件的值,排序,分離條件

cursor c = db.

query

(true

,petmetadata.dogtable.table_name,columns,null,null,null,null,null,null)

; arraylist

dogs =

newarraylist

<

>()

; dog dog = null;

while

(c.movetonext()

) c.

close()

; db.

close()

;return dogs;

}

//刪除

public

void

delete

(int id)

;//表名,事件條件的值

db.delete

(petmetadata.dogtable.table_name,whereclause,whereargs)

; db.

close()

;}

//更新

public

void

update

(dog dog)

;//表名,contentvalues,事件,條件的值

//事務處理

public

void

transaction()

finally

}

功能實現1、定義元資料類:gamemetadata和表結構資料內部類 gameplayer

2、定義資料庫操作類 databaseadaptec和databasehelper

3、mainactivity和gameplayerfragment用於介面顯示(列表)

4、addfragment中使用dialog來新增玩家

5、updatefragment顯示乙個玩家資料並可以修改

大資料核心技術解讀

網際網路時代,我們每天都在生產著大量的資料,並且這些資料被記錄儲存下來,不斷地累積,資料規模越來越大,想要實現對資料的處理,就需要成熟的大資料技術框架來提供支援。今天的大資料前沿技術培訓分享,我們就來對大資料核心技術做乙個簡單的入門介紹。在大資料當中,相當一部分的資料是半結構化 非結構化的,並且伴隨...

資料探勘核心技術揭秘

資料探勘主要可以分為三類 聚類 分類 回歸 pig sql指令碼語言,生成自定義函式 matlab語言 分為主接指令互動和m檔案的程式設計方式 weka 機器學習軟體 rapodminer r語言的學習方法 主要需要的數學知識有 概率統計 矩陣理論 相似度計算 線性代數 最小二乘法 索引技術包括 資...

安卓建立SQLite資料庫

新建乙個myopenhelper類,繼承sqliteopenhelper,實現它的構造方法和oncreate,onupgrade方法,構造方法myopenhelper有四個引數 1 context 上下文環境 2 name 資料庫的名字 3 factory 目的建立cursor 物件 4 versi...