日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在Android中實現(xiàn)兩個類之間的數(shù)據(jù)庫傳遞?(安卓兩個類間傳遞數(shù)據(jù)庫)

在Android開發(fā)中,不同的類中經(jīng)常需要共享數(shù)據(jù),而數(shù)據(jù)庫則是數(shù)據(jù)存儲的一種常見方式之一。因此,實現(xiàn)兩個類之間的數(shù)據(jù)庫傳遞是開發(fā)中不可避免的問題之一。本文將介紹如何在Android中實現(xiàn)兩個類之間的數(shù)據(jù)庫傳遞。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),雨山企業(yè)網(wǎng)站建設(shè),雨山品牌網(wǎng)站建設(shè),網(wǎng)站定制,雨山網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,雨山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

一、SQLite數(shù)據(jù)庫

Android中常用的數(shù)據(jù)庫是SQLite,它是一種輕量級的關(guān)系型數(shù)據(jù)庫系統(tǒng)。SQLite自帶在所有的Android設(shè)備中,無需任何額外的安裝。在Android應(yīng)用程序中使用SQLite,需要使用Android提供的SQLite API。

二、SQLiteOpenHelper類

SQLiteOpenHelper是Android提供的一個用于管理SQLite數(shù)據(jù)庫的類。使用SQLiteOpenHelper可以完成數(shù)據(jù)庫的創(chuàng)建、升級、降級等操作。

SQLiteOpenHelper包含兩個抽象方法:onCreate()和onUpgrade()。onCreate()方法用于創(chuàng)建數(shù)據(jù)庫,onUpgrade()方法用于升級數(shù)據(jù)庫。在SQLiteOpenHelper的子類中,需要重寫這兩個方法。

三、數(shù)據(jù)模型類

為了將數(shù)據(jù)存儲到SQLite數(shù)據(jù)庫中,需要定義一個數(shù)據(jù)模型類。數(shù)據(jù)模型類通常包含數(shù)據(jù)表的所有列及其對應(yīng)的數(shù)據(jù)類型。在數(shù)據(jù)模型類中,通常包含以下方法:構(gòu)造方法、get方法和set方法。

四、實現(xiàn)類之間的數(shù)據(jù)庫傳遞

在實現(xiàn)類之間的數(shù)據(jù)庫傳遞時,需要完成以下幾個步驟:

1、創(chuàng)建SQLiteOpenHelper的子類,并在子類中實現(xiàn)onCreate()和onUpgrade()方法。

2、創(chuàng)建數(shù)據(jù)模型類,并在數(shù)據(jù)模型類中實現(xiàn)保存、查詢等操作。

3、在需要進行數(shù)據(jù)庫傳遞的類中使用SQLiteOpenHelper獲取數(shù)據(jù)庫,并通過數(shù)據(jù)模型類完成數(shù)據(jù)的讀取和保存。

具體實現(xiàn)步驟如下:

1. 創(chuàng)建SQLiteOpenHelper子類

在Android項目中,創(chuàng)建一個“DatabaseHelper”類,繼承SQLiteOpenHelper。在子類中重寫onCreate()和onUpgrade()方法。onCreate()方法中創(chuàng)建數(shù)據(jù)表,onUpgrade()方法中升級或降級數(shù)據(jù)庫版本。

public class DatabaseHelper extends SQLiteOpenHelper {

private static final String DB_NAME = “my_db”;

private static final int DB_VERSION = 1;

public DatabaseHelper(Context context) {

super(context, DB_NAME, null, DB_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String CREATE_TABLE_QUERY = “CREATE TABLE ” +

“person” +

” (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)”;

db.execSQL(CREATE_TABLE_QUERY);

}

@Override

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

if(oldVersion

db.execSQL(“DROP TABLE IF EXISTS person”);

onCreate(db);

}

}

}

2. 創(chuàng)建數(shù)據(jù)模型類

在Android項目中,創(chuàng)建一個“Person”類,實現(xiàn)數(shù)據(jù)表中所有的列,以及get方法和set方法。

public class Person {

private int id;

private String name;

private int age;

public Person() {}

public Person(int id, String name, int age) {

this.id = id;

this.name = name;

this.age = age;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

在Person類中,還需要實現(xiàn)保存、查詢等方法。如下所示:

public void save(Context context) {

SQLiteDatabase db = new DatabaseHelper(context).getWritableDatabase();

ContentValues cv = new ContentValues();

cv.put(“name”, name);

cv.put(“age”, age);

db.insert(“person”, null, cv);

db.close();

}

public static ArrayList getAll(Context context) {

ArrayList list = new ArrayList();

SQLiteDatabase db = new DatabaseHelper(context).getReadableDatabase();

Cursor cursor = db.rawQuery(“SELECT * FROM person”, null);

if(cursor != null && cursor.getCount() > 0) {

while(cursor.moveToNext()) {

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

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

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

list.add(new Person(id, name, age));

}

}

if(cursor != null) {

cursor.close();

}

db.close();

return list;

}

public static void delete(Context context, int id) {

SQLiteDatabase db = new DatabaseHelper(context).getWritableDatabase();

db.delete(“person”, “id=?”, new String[]{String.valueOf(id)});

db.close();

}

3. 在需要進行數(shù)據(jù)庫傳遞的類中使用SQLiteOpenHelper獲取數(shù)據(jù)庫

在需要進行數(shù)據(jù)庫傳遞的類中,使用DatabaseHelper獲取數(shù)據(jù)庫,并通過Person類進行數(shù)據(jù)的讀取和保存。

如下所示,MnActivity中展示了數(shù)據(jù)庫中所有的Person數(shù)據(jù),另一個類中通過Person類保存了一個Person對象。

public class MnActivity extends AppCompatActivity {

private ListView listView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_mn);

listView = findViewById(R.id.list_view);

ArrayList list = Person.getAll(this);

listView.setAdapter(new ArrayAdapter(this, R.layout.list_item, list));

}

}

public class OtherActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_other);

Person person = new Person();

person.setName(“Tom”);

person.setAge(18);

person.save(this);

}

}

五、

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

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

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

SQLite也支持SQL標準類型,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的子類,必須實現(xiàn)三個方法:

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

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

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

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

/**

* 查找一條數(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)建一個游標

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;

}

安卓兩個類間傳遞數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于安卓兩個類間傳遞數(shù)據(jù)庫,如何在Android中實現(xiàn)兩個類之間的數(shù)據(jù)庫傳遞?,android 怎么調(diào)用數(shù)據(jù)庫方法的信息別忘了在本站進行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)站名稱:如何在Android中實現(xiàn)兩個類之間的數(shù)據(jù)庫傳遞?(安卓兩個類間傳遞數(shù)據(jù)庫)
本文路徑:http://m.5511xx.com/article/cdjpoes.html