国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

這篇具有很好參考價值的文章主要介紹了Android 進(jìn)階 1、sqlite數(shù)據(jù)庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在我們學(xué)會了Android的基本使用之后就需要往高處發(fā)展了,畢竟水往高處流,很多時候我們學(xué)習(xí)一門技術(shù)感覺沒有收獲都是因為還沒到那個層次,當(dāng)你一步步往上走的時候就會漸漸發(fā)現(xiàn)自己收獲的越來越多,進(jìn)步也就會越來越快了,廢話不多說,回到正題;

1、認(rèn)識數(shù)據(jù)庫

安卓中的數(shù)據(jù)庫sqlite是一個微型的、跨平臺和弱類型的數(shù)據(jù)庫,他的體積很小,只有幾百kb,我們可以再Android的SDK文件夾下面找到他:

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

?其實和一些主流的數(shù)據(jù)庫mysql 不太一樣,他可以在一個列中存放不同的數(shù)據(jù)類型,但是它的sql語言是一樣的;

在這個位置我們可以打開cmd,然后輸入sqlite3,就可以執(zhí)行一個命令行的數(shù)據(jù)庫操作器,要注意的是他的一些命令是不一樣的,跟其他的數(shù)據(jù)庫比較起來,他創(chuàng)建或者打開數(shù)據(jù)庫使用的是.open,在每一個關(guān)于數(shù)據(jù)庫命令下面,都需要在前面加上一個點號,而在每一個sql命令下面都需要在后面加上一個分號;

.open StudentInfo

我記得sql server、MySQL打開數(shù)據(jù)庫都是use 數(shù)據(jù)庫名,但是這里不是這樣的,而且這個小點不能忘了;還有很多的數(shù)據(jù)庫命令,比如退出:

.exit
.quit

使用.table可以查看當(dāng)前數(shù)據(jù)庫下面的所有表;

pragma table_info(表名)

這個可以查看數(shù)據(jù)表結(jié)構(gòu);

對于sql語句的話相信大家都多多少少接觸過了,這里我就不過多贅述;

在我們安裝好了Android studio的時候其實就已經(jīng)自帶了這個數(shù)據(jù)庫,他用來存放一些簡單的數(shù)據(jù)還是沒有問題的;

2、使用數(shù)據(jù)庫

我們可以在網(wǎng)上下載一個sqlite的可視化工具可以看到數(shù)據(jù)庫里面的表: ?

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

很多數(shù)據(jù)庫都是擁有自己的可視化管理工具的,MySQL有navicat、sql server 有MMSM;

sqlite的就是sqlitestudio,安裝好之后我們就只需要將我們創(chuàng)建的數(shù)據(jù)庫拖動到這個程序里面他就會打開了:

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

· 創(chuàng)建幫助類

當(dāng)然我們只用sqlitestudio是沒有什么作用的,需要通過敲代碼的方式實現(xiàn)數(shù)據(jù)的增刪改查,Android提供了幾個類來幫助我們實現(xiàn)這些操作:

我們主要就了解兩個重要的類

1)、SQLiteOpenHelper

這是一個幫助抽象類,沒有實例,我們可以通過繼承的方式來實例化一個子類:

package com.example.apptest01;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class SqliteHelper extends SQLiteOpenHelper {
    private String CREATE_TABLE_STUDENTINFI="CREATE TABLE Users(" +
            "userId integer primary key AutoIncrement, userName text,age integer,passWord text)";
    public SqliteHelper(Context context){
        //參數(shù):上下文、數(shù)據(jù)庫名、工廠類、版本
        super(context,"StudentInfo.db",null,1);

    }
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL(CREATE_TABLE_STUDENTINFI);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

這個子類需要創(chuàng)建數(shù)據(jù)庫和繼承父類的構(gòu)造方法,首先需要寫一個構(gòu)造方法,將上下文傳進(jìn)去,super一下父類的構(gòu)造方法,然后就是接口方法oncreate,在里面執(zhí)行創(chuàng)建數(shù)據(jù)表的sql命令;

2)、SQLiteDatabase

這是sql實現(xiàn)增刪改查的工具類,可以通過這個類下面的方法來實現(xiàn)sql操作,但是這個類需要通過幫助類get到:

sqliteHelper = new SqliteHelper(this);
       sqLiteDatabasewriter = sqliteHelper.getWritableDatabase();
       sqLiteDatabaseReader = sqliteHelper.getReadableDatabase();
//條件刪除
sqLiteDatabasewriter.delete("Users","userId=?",new String[]{id+""});
//修改
 sqLiteDatabasewriter.update("Users",contentValues,"userId=?",new String[]{cid});
//添加
sqLiteDatabasewriter.insert("Users",null,contentValues);
//查詢
sqLiteDatabasewriter.query("Users",null,"userId=?",new String[]{arrayList.get(i)+""},

· 查詢

那么我們知道了通過創(chuàng)建幫助類來創(chuàng)建執(zhí)行類,然后使用執(zhí)行類就可以實現(xiàn)數(shù)據(jù)的增刪改查,這里我們先通過查詢來講解一下具體的實現(xiàn)過程:

 cursor = sqLiteDatabasewriter.query("Users",null,"userId=?",new String[]{arrayList.get(i)+""},
                null,null,null);
                if(cursor.moveToNext()){
                    id = cursor.getInt(cursor.getColumnIndex("userId"));
                    name = cursor.getString(cursor.getColumnIndex("userName"));
                    pwd = cursor.getString(cursor.getColumnIndex("passWord"));
                    age = cursor.getInt(cursor.getColumnIndex("age"));
                }

我們獲取操作類的方法有兩個,一個是reader一個是writer,這里既然是查詢數(shù)據(jù)我們用reader就可以,當(dāng)然使用writer也是無傷大雅;

使用query方法進(jìn)行數(shù)據(jù)的查詢,他有一些參數(shù),第一個是表名,第二個列名,還是看這個明白一點:

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

有分組,分頁,排序,篩選,很多參數(shù),但是一般我們就是用到選項selection和表名就可以了;

他的返回值是一個cursor游標(biāo)對象,相當(dāng)于一個指針,可以通過while遍歷的方式來獲取到查詢到的結(jié)果集;

關(guān)于cursor對象我們需要清楚他的兩個方法,get類型() 和 getColumnIndex("列名"),前者的作用是通過后者的返回值實現(xiàn)查詢到具體的數(shù)據(jù),后者是通過列名查詢到記錄對應(yīng)的索引,也就是說兩者結(jié)合使用就可以實現(xiàn)查詢到具體的數(shù)據(jù),當(dāng)然這個是需要咋while遍歷里面實現(xiàn)的;

· 添加

添加數(shù)據(jù)同樣結(jié)合這操作類的使用:

ContentValues contentValues = new ContentValues();;

contentValues.clear();
        contentValues.put("userId",et_id.getText().toString());
        contentValues.put("userName",et_name.getText().toString());
        contentValues.put("passWord",et_password.getText().toString());
        contentValues.put("age",et_age.getText().toString());
        long result = sqLiteDatabasewriter.insert("Users",null,contentValues);

        if(result == 1){
            Toast.makeText(this,"記錄完成",Toast.LENGTH_LONG).show();
        }else{
            Toast.makeText(this,"記錄失敗",Toast.LENGTH_LONG).show();
        }

        showData();
        arrayAdapter.notifyDataSetChanged();

這里又使用了一個新的對象,就是ContentValues 這個對象用于存放鍵值對,通過put方法,存放著與數(shù)據(jù)表中列名對應(yīng)的數(shù)據(jù),然后將其使用操作類的insert方法就可以將數(shù)據(jù)成功添加到數(shù)據(jù)表中了;

這里需要注意insert的三個參數(shù),第一個是表名,第二個一般為null,第三個就是鍵值對數(shù)據(jù)了,這類統(tǒng)一使用contentvalues對象;

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

· 刪除

刪除操作也是結(jié)合這操作類使用:

sqLiteDatabasewriter.delete("Users","userId=?",new String[]{id+""});

Android 進(jìn)階 1、sqlite數(shù)據(jù)庫

?這里要注意如何使用選項的問題whereClause其實就是條件,在sql里面對應(yīng)的就是where,可以使用占位符?的方式,然后后面new String[]{}傳參,也可以一步到位;

· 適配器復(fù)習(xí)

這里需要復(fù)習(xí)一下適配器,我們適配器是用來將數(shù)據(jù)顯示到界面上的,那么當(dāng)數(shù)據(jù)改變是我們?nèi)绾嗡⑿嘛@示呢?

arrayAdapter.notifyDataSetChanged();

只需要調(diào)用一下這個方法,記住存放數(shù)據(jù)的對象可是一個全局變量;

我們大概使用到數(shù)據(jù)庫的操作就這些,當(dāng)然是使用的比較多的增刪改查,為什么要使用適配器呢?

還記得之前我們講過適配器嗎,它是用來將數(shù)據(jù)顯示到頁面上的,因為我們從數(shù)據(jù)庫中拿到數(shù)據(jù)之后終究是需要顯示到頁面上,所以數(shù)據(jù)庫是必不可少的一個對象;文章來源地址http://www.zghlxwxcb.cn/news/detail-498289.html

到了這里,關(guān)于Android 進(jìn)階 1、sqlite數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Android studio 連接SQLite數(shù)據(jù)庫 +創(chuàng)建數(shù)據(jù)庫+創(chuàng)建數(shù)據(jù)庫表

    Android studio 連接SQLite數(shù)據(jù)庫 +創(chuàng)建數(shù)據(jù)庫+創(chuàng)建數(shù)據(jù)庫表

    Android studio 之?dāng)?shù)據(jù)庫的使用 連接創(chuàng)建SQLite 大家好,歡迎來到寒依。 相信看啦我的教程 當(dāng)老師問你在學(xué)習(xí)Android studio 數(shù)據(jù)庫使用過程中遇到什么困難,分享一下你的感悟和解決方法 的時候,你可以直接大膽的說出來: “老師我沒有遇到問題,看啦寒依的教程 暢行無阻” 我

    2024年02月02日
    瀏覽(35)
  • Android studio引入外部SQLite數(shù)據(jù)庫,獲取數(shù)據(jù)庫列表數(shù)據(jù)

    Android studio引入外部SQLite數(shù)據(jù)庫,獲取數(shù)據(jù)庫列表數(shù)據(jù)

    準(zhǔn)備好Android studio和一個創(chuàng)建管理數(shù)據(jù)庫的軟件,推薦SQLite Expert Professional或者Navicat Premium。這里以SQLite Expert Professional為例。 1.穿件sqlite數(shù)據(jù)庫,按照自己的項目要求定義數(shù)據(jù)庫和相應(yīng)的數(shù)據(jù)表 1.在main目錄下創(chuàng)建assets文件,將準(zhǔn)備好的sqlite數(shù)據(jù)庫文件放入這個目錄下 解釋:

    2024年02月08日
    瀏覽(21)
  • Android中SQLite數(shù)據(jù)庫查詢詳解

    SQLite在線教程網(wǎng)址https://www.yiibai.com/sqlite table :表名。相當(dāng)于select *** from table語句中的table 。如果是多表聯(lián)合查詢,可以用逗號將兩個表名分開。 columns :要查詢出來的列名(字段),全部查詢就寫null。相當(dāng)于 select *** from table語句中的 ***部分 。如果是查詢多個參數(shù),可以用

    2024年01月16日
    瀏覽(34)
  • Android開發(fā)——SQLite數(shù)據(jù)庫的使用

    1、SQLite的特性 SQLite是一個進(jìn)程內(nèi)的庫,實現(xiàn)了自給自足的、無服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫引擎。它是一個零配置的數(shù)據(jù)庫,這意味著與其他數(shù)據(jù)庫不一樣,您不需要在系統(tǒng)中配置。 SQLite 引擎不是一個獨立的進(jìn)程,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動態(tài)連接。

    2024年02月15日
    瀏覽(26)
  • Android Studio使用SQLite數(shù)據(jù)庫

    Android Studio使用SQLite數(shù)據(jù)庫

    1.能使用SQLiteDatabase類操作數(shù)據(jù)庫與表 2.能使用SQLiteDatabaseHelper類操作數(shù)據(jù)庫與表 無論是安卓應(yīng)用還是蘋果應(yīng)用,都提供了本地輕量級數(shù)據(jù)庫——SQLite,可以創(chuàng)建和刪除數(shù)據(jù)庫,還能對數(shù)據(jù)表進(jìn)行增刪改查操作。 SQLite由SQL編譯器、內(nèi)核、后端以及附件幾個部分構(gòu)成。SQLite通過

    2024年02月01日
    瀏覽(29)
  • Android中SQLite數(shù)據(jù)庫增刪改查/使用ListView顯示數(shù)據(jù)庫內(nèi)容(有完整源碼)

    Android中SQLite數(shù)據(jù)庫增刪改查/使用ListView顯示數(shù)據(jù)庫內(nèi)容(有完整源碼)

    android作業(yè)筆記 編寫SQLite數(shù)據(jù)庫相關(guān)操作的代碼,實現(xiàn)下圖中的功能(第一排按鈕布局沒有調(diào)整屏幕大小適配…不過下面那一排加了 android:layout_weight=“1”) SQLite展示 先上源碼:https://gitee.com/meng-fanyang/SQLiteWork 里邊有三個分支,對應(yīng)這不同的寫法: master主分支是寫的可以說

    2024年02月09日
    瀏覽(22)
  • Android使用SQLite數(shù)據(jù)庫實現(xiàn)基本的增刪改查

    Android使用SQLite數(shù)據(jù)庫實現(xiàn)基本的增刪改查

    目錄 一、創(chuàng)建activity_main和MainActivity界面 二、實現(xiàn)查詢/刪除功能創(chuàng)建activity_delete和DeleteActivity 三、實現(xiàn)添加功能創(chuàng)建activity_add和AddActivity ?四、實現(xiàn)更新功能創(chuàng)建activity_update和UpdateActivity 五、創(chuàng)建user_data類、userInfo類和增加權(quán)限 總結(jié) activity_main如圖: ?MainActivity如下 layout界面

    2024年02月08日
    瀏覽(25)
  • Android Studio 使用SQLite數(shù)據(jù)庫來創(chuàng)建數(shù)據(jù)庫+創(chuàng)建數(shù)據(jù)庫表+更新表再次往表添加字段

    Android Studio 使用SQLite數(shù)據(jù)庫來創(chuàng)建數(shù)據(jù)庫+創(chuàng)建數(shù)據(jù)庫表+更新表再次往表添加字段

    目錄 一.前言 二.SQLite數(shù)據(jù)庫介紹 1.什么是SQLite數(shù)據(jù)庫 2.特點 3.SQLite 操作API 4.SQLite數(shù)據(jù)類型 三.SQlite數(shù)據(jù)庫的使用 1.創(chuàng)建類繼承SQLiteOPenHelper 2.創(chuàng)建數(shù)據(jù)庫 3.創(chuàng)建數(shù)據(jù)庫表 4.更新表添加字段 完整代碼 擴(kuò)展 總結(jié) 我們在使用Android進(jìn)行開發(fā)的時候不可避免的要使用到數(shù)據(jù),那么就需

    2024年02月08日
    瀏覽(20)
  • 【數(shù)據(jù)庫】數(shù)據(jù)庫緒論,你都會了嗎

    數(shù)據(jù)(Data) Q: 什么是數(shù)據(jù) A: 數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)包括數(shù)字、文字、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄等 數(shù)據(jù)庫(Database) Q: 什么是數(shù)據(jù)庫 A: 數(shù)據(jù)庫(Database)是長期儲存在計算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。 Q: 數(shù)據(jù)庫

    2024年01月16日
    瀏覽(26)
  • 【Android Studio】安卓APP期末作品記錄之連接sqlite數(shù)據(jù)庫以及簡單的sqlite增刪改查

    【Android Studio】安卓APP期末作品記錄之連接sqlite數(shù)據(jù)庫以及簡單的sqlite增刪改查

    期末作品要求使用數(shù)據(jù)庫,我自己折騰了一會,又看了很多博主發(fā)的文章,終于成功了,特此記錄:使用SQLiteDatabase和SQLiteOpenHelper連接已有sqlite數(shù)據(jù)庫。 第一步,導(dǎo)入sqlite數(shù)據(jù)庫 因為我已經(jīng)創(chuàng)建好了一個sqlite數(shù)據(jù)庫,所以第一步得將我的數(shù)據(jù)庫導(dǎo)入項目中 在app — src — ma

    2024年02月03日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包