android資料儲存

2021-06-29 08:50:22 字數 3837 閱讀 9939

在android中一共提供4種資料儲存方式,但是由於儲存這些資料都是其應用程式私有的,所以如果需要在其他應用程式中使用這些資料,就要使用android提供的content provider(資料共享)。android中4種資料儲存方式如下:

shared preferences:用來儲存"key-value paires"格式資料,它是乙個輕量級的鍵值儲存機制,只可以儲存基本資料型別。(主要是針對系統配置資訊的儲存,比如給程式介面設定了音效,想在下一次啟動的時候還能夠保留上次設定的音效)

files:它通過fileinputstream和fileoutputstream對檔案進行操作。但是在android中,檔案時乙個應用程式私有的,乙個應用程式無法讀寫其他應用程式的檔案。(把需要儲存的東西通過檔案的形式記錄下來,當需要這些資料時,通過讀取這個檔案來獲得這些資料即可)

sqlite:android提供的乙個標準資料庫,支援sql語句。

network:通過網路來儲存和獲得資料。

shared preferences類似於我們常用的ini檔案,用來儲存應用程式的一些屬性,在android平台常用於儲存較簡單的引數設定。例如,可以通過它儲存上一次使用者所做的修改或者自定義引數設定,當再次啟動程式後依然保持原有的設定。通過getpreferences()方法來獲得preferences物件,通過"sharedpreferences.editor editor = uistate.edit();"取得編輯物件,然後通過"editor.put...()"方法新增資料,最後通過commit()方法儲存這些資料,如果不需要與其他模組共享資料,可以使用activity.getpreferences()方法保持資料私有。

用檔案儲存資料可以通過openfileoutput方法開啟乙個檔案,通過load方法來獲取檔案的資料,通過deletefile()方法可以刪除乙個指定檔案。

通過網路來獲取和儲存資料資源,這個方法需要裝置保持網路連線狀態,所有相對存在一些限制。

sqlite資料庫的操作一般包括:建立資料庫、開啟資料庫、建立表、向表中新增資料、從表中刪除資料、修改表中的資料、關閉資料庫、刪除指定表、刪除資料庫和查詢表中的某條資料。

1.建立和開啟資料庫

在android建立和開啟乙個資料庫都可以使用openorcreatedatabase方法來實現,它會自動去檢測是否存在這個資料庫,如果存在則開啟,如果不存在建立乙個資料庫;建立成功則返回乙個sqlitedatabase物件,否則丟擲異常filenotfoundexception。

/*建立乙個名為"example.db"的資料庫,並返回乙個sqlitedatabase物件*/

msqlitedatabase = this.openorcreatedatabase("example",mode_private,null);

2.建立表

乙個資料庫可以包含多個表,每一條資料都儲存在乙個指定的表中,要建立表可以通過execsql方法來執行一條sql語句。execsql能執行大部分的sql語句

string sql_create_table = "create table mtable(_id interger primary key, num interger,data text)";

msqlitedatabase.execsql(sql_create_table);

3.向表中新增一條資料

使用execsql方法來執行一條「插入」的sql語句

string sql_insert_data = "insert into mtable (_id,num,data) values (1,1,'插入sql語句')";

msqlitedatabase.execsql(sql_insert_data);

4.從表中刪除資料

要刪除資料可以使用delete方法,刪除字段"_id"等於1的資料,

msqlitedatabase.delete("example.db","where _id = 1",null);

也可以通過execsql方法執行sql語句刪除資料:

string delete_data = "delete from talbe1 where  _id = 1";

msqlitedatabase.execsql(delete_data);

5.修改表中資料

可以使用update方法來更新一條資料,下面來修改"num"值為0的資料,

contentvalues cv = new contentvalues();

cv.put(table_num,3);

cv.put(table_data,"修改後的資料");

msqlitedatabase.update("table1",cv,"num"+"="+integer.tostring(0),null);

6.關閉資料庫

直接使用sqlitedatabase的close方法

msqlitedatabase.close();

7.刪除指定表

msqlitedatabase.execsql("drop table table1");

8.刪除資料庫

this.deletedatabase("example.db")

9.查詢資料中的某條資料

在android中查詢資料時通過cursor類來實現的,當我們使用sqlitedatabase.query()方法時,會得到乙個cursor物件,cursor指向的就是每一條資料。

cursor類常用方法

close()

關閉游標,釋放資源

copystringtobuffer(int columnindex, chararraybuffer buffer)

在緩衝區中檢索請求的列的文字,將將其儲存

getcolumncount()

返回所有列的總數

getcolumnindex(string columnname)

返回指定列的名稱,如果不存在返回-1

getcolumnindexorthrow(string columnname)

從零開始返回指定列名稱,如果不存在將丟擲illegalargumentexception 異常。

getcolumnname(int columnindex)

從給定的索引返回列名

getcolumnnames()

返回乙個字串陣列的列名

getcount()

返回cursor 中的行數

movetofirst()

移動游標到第一行

movetolast()

移動游標到最後一行

movetonext()

移動游標到下一行

movetoposition(int position)

移動游標到乙個絕對的位置

movetoprevious()

移動游標到上一行

Android資料儲存

android中一共提供了4種資料儲存方式 shared preferences 用來儲存 key value paires 格式的資料,它是乙個輕量級的鍵值儲存機制,只可以儲存基本資料型別。files 他通過fileinputstream和fileoutputstream對檔案進行操作。但是在an...

Android資料儲存

1.五種儲存方式 android作業系統提供了一種公共檔案系統,即任何應用軟體都可以使用它來儲存和讀取檔案,該檔案被其他的應用軟體讀取。android採用了一種不同的系統,在android中,所有的應用軟體資料 為應用軟體私有,然而,android也提供了一種標準方式 用軟體將私有資料開放給其他應用...

android 資料儲存

sharedpreferences xml檔案儲存 一 根據context獲取sharedpreferences物件 二 利用edit 方法獲取editor物件。三 通過editor物件儲存key value鍵值對資料。四 通過commit 方法提交資料。sharedpreferences sp c...