日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
「Android數(shù)據(jù)庫操作」——實(shí)現(xiàn)數(shù)據(jù)存儲與讀取(android數(shù)據(jù)庫操作)

Android 數(shù)據(jù)庫操作:實(shí)現(xiàn)數(shù)據(jù)存儲與讀取

成都創(chuàng)新互聯(lián)是一家專業(yè)從事成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

在開發(fā) Android 應(yīng)用程序時,常常需要使用數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的存儲與讀取。Android 支持多種數(shù)據(jù)庫,包括 SQLite、Realm 等。本文將以 SQLite 數(shù)據(jù)庫為例,介紹 Android 數(shù)據(jù)庫操作的實(shí)現(xiàn)方法,包括建表、增刪改查等操作。

一、SQLite 數(shù)據(jù)庫的創(chuàng)建與打開

在 Android 應(yīng)用程序中創(chuàng)建 SQLite 數(shù)據(jù)庫,可以通過使用 SQLiteOpenHelper 類。該類提供了創(chuàng)建、打開、更新數(shù)據(jù)庫的方法。

在使用 SQLiteOpenHelper 類創(chuàng)建數(shù)據(jù)庫時,需要重寫該類的 onCreate() 方法和 onUpgrade() 方法。onCreate() 方法在數(shù)據(jù)庫被創(chuàng)建時調(diào)用,通常用于創(chuàng)建數(shù)據(jù)庫表、初始化數(shù)據(jù)等操作。onUpgrade() 方法在數(shù)據(jù)庫版本升級時調(diào)用,可以用于更新表結(jié)構(gòu)、修改數(shù)據(jù)等操作。

以下是一個創(chuàng)建數(shù)據(jù)庫的例子:

“`java

public class MyDatabaseHelper extends SQLiteOpenHelper {

public static final String CREATE_BOOK = “create table Book (“

+ “id integer primary key autoincrement, “

+ “author text, “

+ “price real, “

+ “pages integer, “

+ “name text)”;

public MyDatabaseHelper(Context context, String name,

SQLiteDatabase.CursorFactory factory, int version) {

super(context, name, factory, version);

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(CREATE_BOOK);

}

@Override

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

// do something when upgrading

}

}

“`

在上面的例子中,我們創(chuàng)建了一個名為 Book 的表,該表包含四個字段:id(主鍵)、author(作者)、price(價格)、pages(頁數(shù))和 name(書名)。

二、數(shù)據(jù)庫表的增刪改查操作

在實(shí)現(xiàn) Android 數(shù)據(jù)庫操作中,增刪改查是最基本的操作。下面我們將詳細(xì)介紹如何進(jìn)行這些操作。

1. 插入數(shù)據(jù)

向數(shù)據(jù)庫表中插入數(shù)據(jù),可以使用 SQLiteDatabase 中的 insert() 方法。該方法需要傳遞三個參數(shù):表名、空列的默認(rèn)值和要插入的數(shù)據(jù)。以下是一個插入數(shù)據(jù)的例子:

“`java

ContentValues values = new ContentValues();

values.put(“author”, “Tom”);

values.put(“price”, 20.3);

values.put(“pages”, 300);

values.put(“name”, “Android Development”);

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.insert(“Book”, null, values);

“`

在上面的例子中,我們首先創(chuàng)建了一個 ContentValues 對象,用于存儲要插入的數(shù)據(jù)。然后通過 getWritableDatabase() 方法獲取 SQLiteDatabase 對象,調(diào)用 insert() 方法向 Book 表中插入數(shù)據(jù)。

2. 更新數(shù)據(jù)

更新數(shù)據(jù)庫表中的數(shù)據(jù),可以使用 SQLiteDatabase 中的 update() 方法。該方法需要傳遞四個參數(shù):表名、更新的數(shù)據(jù)、更新的條件和更新的條件參數(shù)。以下是一個更新數(shù)據(jù)的例子:

“`java

ContentValues values = new ContentValues();

values.put(“price”, 30.5);

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.update(“Book”, values, “name = ?”, new String[] { “Android Development” });

“`

在上面的例子中,我們首先創(chuàng)建了一個 ContentValues 對象,用于存儲要更新的數(shù)據(jù)。然后通過 getWritableDatabase() 方法獲取 SQLiteDatabase 對象,調(diào)用 update() 方法更新 Book 表中名為 Android Development 的書的價格。

3. 刪除數(shù)據(jù)

從數(shù)據(jù)庫表中刪除數(shù)據(jù),可以使用 SQLiteDatabase 中的 delete() 方法。該方法需要傳遞三個參數(shù):表名、刪除條件和刪除條件參數(shù)。以下是一個刪除數(shù)據(jù)的例子:

“`java

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.delete(“Book”, “pages > ?”, new String[] { “500” });

“`

在上面的例子中,我們通過 getWritableDatabase() 方法獲取 SQLiteDatabase 對象,調(diào)用 delete() 方法刪除 Book 表中頁數(shù)大于 500 的書。

4. 查詢數(shù)據(jù)

從數(shù)據(jù)庫表中查詢數(shù)據(jù),可以使用 SQLiteDatabase 中的 query() 方法。該方法需要傳遞七個參數(shù):表名、返回的字段、查詢條件、查詢條件參數(shù)、分組條件、having 條件和排序條件。

以下是一個查詢數(shù)據(jù)的例子:

“`java

SQLiteDatabase db = dbHelper.getWritableDatabase();

Cursor cursor = db.query(“Book”, null, null, null, null, null, null);

if (cursor.moveToFirst()) {

do {

String author = cursor.getString(cursor.getColumnIndex(“author”));

String name = cursor.getString(cursor.getColumnIndex(“name”));

double price = cursor.getDouble(cursor.getColumnIndex(“price”));

int pages = cursor.getInt(cursor.getColumnIndex(“pages”));

} while (cursor.moveToNext());

}

cursor.close();

“`

在上面的例子中,我們通過 getWritableDatabase() 方法獲取 SQLiteDatabase 對象,調(diào)用 query() 方法查詢 Book 表中的所有數(shù)據(jù)。然后通過 moveToFirst() 和 moveToNext() 方法遍歷查詢結(jié)果,獲取想要的數(shù)據(jù)。

三、

通過本文,我們了解了 Android 數(shù)據(jù)庫操作的實(shí)現(xiàn)方法,包括 SQLite 數(shù)據(jù)庫的創(chuàng)建與打開、數(shù)據(jù)庫表的增刪改查等操作。在實(shí)際開發(fā)中,我們可以根據(jù)實(shí)際需要,靈活運(yùn)用這些操作,實(shí)現(xiàn)數(shù)據(jù)的存儲與讀取。

相關(guān)問題拓展閱讀:

  • android 怎么往數(shù)據(jù)庫里面添加數(shù)據(jù)
  • android訪問數(shù)據(jù)庫怎么實(shí)現(xiàn)
  • android 怎么調(diào)用數(shù)據(jù)庫方法

android 怎么往數(shù)據(jù)庫里面添加數(shù)據(jù)

參考如下內(nèi)容:

你通過getText()方法侍兄盯首先得到輸入的值,然后調(diào)用數(shù)據(jù)庫的插入方法 db.insert();插入到數(shù)塵判據(jù)庫中就行 就想這樣

EditText et ;

String num = et.getText().toString();

public void addData(String num) {

SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put(“num”, num);

db.insert(“表名”, null, values);

}

當(dāng)你調(diào)用這個 addData()方法時就會向老和數(shù)據(jù)庫中插入數(shù)據(jù)了

一、引入

數(shù)據(jù)庫創(chuàng)建的問題解決了,接下來就該使用數(shù)據(jù)庫實(shí)現(xiàn)應(yīng)用程序功能的時候了?;?/p>

本的操作包括創(chuàng)建、讀取、更新、刪除,即我們通常說的 CRUD(Create, Read, Update, Delete)。

在實(shí)現(xiàn)這些操作的時候,我們會使用到兩個比較重要的類 SQLiteDatabase 類和 Cursor 類蔽吵叢。

二、創(chuàng)建表

1,execSQL(String sql):執(zhí)行一條 sql 語句,且執(zhí)行操作不能為 SELECT

因?yàn)樗姆祷刂禐?void,所以推薦使用 insert、update 方法等

2.,execSQL (String sql,Object bindArgs)

sql:執(zhí)行一條 sql 語句

bindArgs:為 sql 語句中的?賦值

三、添加數(shù)據(jù)

1、execSQL(String sql)

2、使用對象的 insert 方法

ContentValues values = new ContentValues();

values.put(USERNAME, user.getUsername());

values.put(PASSWORD, user.getPassword());

db.insert(TABLE_NAME, null, values);

參數(shù):

table:數(shù)據(jù)庫中的表名

nullColumnHack:指定默認(rèn)插入字段,為 null 時能插入數(shù)據(jù)

values:表示插入字段所對應(yīng)的值,使用 put 方法。

四、刪除數(shù)據(jù)

1、execSQL(String sql)

2、使用對象的 delete 方法

String whereClaues=”_id=?”;

String whereArgs={String.valueOf(id)};

//db.delete(TABLE_NAME, “_id=”+id, null);

db.delete(TABLE_NAME, whereClaues, whereArgs);

參數(shù)

table:數(shù)據(jù)庫的表名

whereClause:where 子句,比如:_id=?

whereArgs:where 子句中?的值

五、修改數(shù)據(jù)

1、execSQL(String sql)

2、使用對象的 delete 方法

ContentValues values = new ContentValues();

values.put(USERNAME, user.getUsername());

values.put(PASSWORD, user.getPassword());

String whereClaues=”_id=?”;

String whereArgs={String.valueOf(user.getId())};

db.update(TABLE_NAME, values, whereClaues, whereArgs);

參數(shù)

table:數(shù)據(jù)庫的表名

values:代表要修改的值,修改方法還是宏櫻 put(key,values)

whereClause:條件子句,比如 id=?,name=?

whereArgs:為 whereClause 中的?賦值,比如:new String{“1″,”張三”}

圖:

參考代碼:

程序內(nèi)使用SQLite數(shù)據(jù)庫是通過SQLiteOpenHelper進(jìn)行操作

1.自己寫個類繼承SQLiteOpenHelper,重寫以下3個方法

public void onCreate(SQLiteDatabase db)   碰肆

{//創(chuàng)建數(shù)據(jù)庫時的操作,如建表}

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

{

//版本更新的操作

}

2.    通過SQLiteOpenHelper的getWritableDatabase()獲得一個SQLiteDatabase數(shù)據(jù)庫,以后的操作都是對SQLiteDatabase進(jìn)行操作。

3.對得到的SQLiteDatabase對象進(jìn)行增,改,刪,查等操作。

代碼

package cx.myNote;

import android.content.ContentValues;

import android.content.Context;

import android.content.Intent;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

//DBOptions for login

public class DBOptions {

private static final String DB_NAME = “notes.db”;

private static final String DB_CREATE=”create table logininf(name text,pwd text)”;

public class DBHelper extends SQLiteOpenHelper

{

public DBHelper(Context context) {

super(context,DB_NAME, null, 1);

}

@Override

public void onCreate(SQLiteDatabase db) {

// TODO Auto-generated method stub

//建表

   db.execSQL(DB_CREATE);

}

@Override

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

// TODO Auto-generated method stub

db.execSQL(“drop table if exists logininf”);

onCreate(db);

}

}

private Context context;

private SQLiteDatabase db;

private DBHelper dbHelper;

public  DBOptions(Context context)

{

this.context = context;

dbHelper = new DBHelper(context);

db=dbHelper.getReadableDatabase();

}

  //自己寫的方法,對數(shù)據(jù)庫進(jìn)行操作

public String getName()

{

Cursor cursor = db.rawQuery(“select name from logininf”, null);

cursor.moveToFirst();

return cursor.getString(0);

}

public int changePWD(String oldP,String pwd)

{

ContentValues values = new ContentValues();

values.put(“pwd”, pwd);

return db.update(“l(fā)ogininf”, values,”pwd=”+oldP, null);

}

}

insert方法插入的一行記錄使用ContentValus存放,ContentValues類似于Map,它提供了put(String key, Xxx value)(其中key為數(shù)據(jù)列的列名)方法用于存入數(shù)據(jù)、getAsXxxx(String key)方法用于取出數(shù)據(jù)

android訪問數(shù)據(jù)庫怎么實(shí)現(xiàn)

Android對數(shù)據(jù)哭的訪問可以使用ContentProvider, ContengResolver。游賣只能訪問內(nèi)部數(shù)據(jù)庫sqlite。常用的做法是神遲逗用WebService來做網(wǎng)絡(luò)數(shù)據(jù)庫旦皮連接,Android通過Http來訪問WebService,然后WebService提供對數(shù)據(jù)庫的相關(guān)操作。這樣就間接的實(shí)現(xiàn)了以Android操作管理SQL Server 數(shù)據(jù)庫。希望對你有所啟發(fā)或幫助,祝愉快!

android 怎么調(diào)用數(shù)據(jù)庫方法

android讀取數(shù)據(jù)庫可以簡模使用sqlite一些api進(jìn)行讀取攔春,實(shí)例如下:

/**

* 查找一條數(shù)據(jù)

* @param uid

*/

public User find(Integer uid){

SQLiteDatabase db=dbOpenHelper.getReadableDatabase(); //創(chuàng)建數(shù)據(jù)庫輔助類

Cursor cursor =db.rawQuery(“select * from user where uid=?”, new String{uid.toString()}); //創(chuàng)建一個游標(biāo)

if(cursor.moveToFirst()){ //循環(huán)遍歷查找數(shù)組

int uid2=cursor.getInt(cursor.getColumnIndex(“uid”));

String uname=cursor.getString(cursor.getColumnIndex(“uname”));

String uaddress=cursor.getString(cursor.getColumnIndex(“uaddress”簡咐耐));

User user=new User();

user.setUid(uid2);

user.setUname(uname);

user.setUaddress(uaddress);

return user;

}

cursor.close();

return null;

}

SQLite也支持SQL標(biāo)準(zhǔn)類型,VARCHAR、CHAR、BIGINT等。

創(chuàng)建數(shù)據(jù)庫

Android 不自動提供數(shù)據(jù)庫。在 Android 應(yīng)用程序中使用 SQLite,必須自己創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建表、索引,填充數(shù)據(jù)。Android 提供了 SQLiteOpenHelper 幫助你創(chuàng)建一個數(shù)據(jù)庫,只要繼承 SQLiteOpenHelper 類,就可以創(chuàng)建數(shù)據(jù)庫。繼頌指承了SQLiteOpenHelper的子類,必須實(shí)現(xiàn)三個方法:

1、構(gòu)造函數(shù),調(diào)用父類 SQLiteOpenHelper 的構(gòu)造函數(shù)。這個方法需要四個參數(shù):上下文環(huán)境(例如,一個 Activity),數(shù)據(jù)庫名字,一個可選的游標(biāo)工廠(通常是 Null),一個代表你正在使用的數(shù)據(jù)庫模型版本的整數(shù)。

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

3、onUpgrage() 方法,它需要三個參數(shù)祥兄,一個野宴配 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣可以清楚如何把一個數(shù)據(jù)庫從舊的模型轉(zhuǎn)變到新的模型。

android 數(shù)據(jù)庫 操作的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于android 數(shù)據(jù)庫 操作,「Android 數(shù)據(jù)庫操作」——實(shí)現(xiàn)數(shù)據(jù)存儲與讀取,android 怎么往數(shù)據(jù)庫里面添加數(shù)據(jù),android訪問數(shù)據(jù)庫怎么實(shí)現(xiàn),android 怎么調(diào)用數(shù)據(jù)庫方法的信息別忘了在本站進(jìn)行查找喔。

創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。


當(dāng)前文章:「Android數(shù)據(jù)庫操作」——實(shí)現(xiàn)數(shù)據(jù)存儲與讀取(android數(shù)據(jù)庫操作)
當(dāng)前地址:http://www.dlmjj.cn/article/dhgdjes.html