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

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

這篇具有很好參考價(jià)值的文章主要介紹了【Android Studio】安卓APP期末作品記錄之連接sqlite數(shù)據(jù)庫以及簡單的sqlite增刪改查。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

期末作品要求使用數(shù)據(jù)庫,我自己折騰了一會,又看了很多博主發(fā)的文章,終于成功了,特此記錄:使用SQLiteDatabase和SQLiteOpenHelper連接已有sqlite數(shù)據(jù)庫。

連接sqlite數(shù)據(jù)庫的四步

第一步,導(dǎo)入sqlite數(shù)據(jù)庫

因?yàn)槲乙呀?jīng)創(chuàng)建好了一個sqlite數(shù)據(jù)庫,所以第一步得將我的數(shù)據(jù)庫導(dǎo)入項(xiàng)目中
在app —> src —> main下創(chuàng)建assect文件夾,將自己的數(shù)據(jù)庫粘貼進(jìn)去,我的文件路徑如下圖所示:android studio 實(shí)現(xiàn)sqlite增刪改查,android,sqlite,數(shù)據(jù)庫

第二步,將數(shù)據(jù)庫寫入到項(xiàng)目模擬手機(jī)中

創(chuàng)建MyDatabaseHelper.java文件

import android.content.Context;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class MyDatabaseHelper {
    //導(dǎo)入的sqlite數(shù)據(jù)庫文件名
    private final String DB_NAME = "AsianGames.db";
    private Context context;

    //定義類的方法
    public MyDatabaseHelper(Context context) {
        this.context = context;
    }

    // 復(fù)制和加載區(qū)域數(shù)據(jù)庫中的數(shù)據(jù)
    public String CopyDBFile() throws IOException {

        // 在第一次運(yùn)行應(yīng)用程序時,加載數(shù)據(jù)庫到data/data/當(dāng)前包的名稱/database/數(shù)據(jù)庫名字
        //獲取準(zhǔn)確的路徑,context.getPackageName()得到包名
        File dir = new File("data/data/" + context.getPackageName() + "/databases");
        //如果文件夾不存在,則創(chuàng)建指定的文件
        if (!dir.exists() || !dir.isDirectory()) {
            dir.mkdir();
        }
        //文件聲明
        File file = new File(dir, DB_NAME);
        //輸入流
        InputStream inputStream = null;
        //輸出流
        OutputStream outputStream = null;
        //若不存在,通過IO流的方式,將assets目錄下的數(shù)據(jù)庫文件,寫入到項(xiàng)目模擬手機(jī)中,當(dāng)開啟模擬器時,會將數(shù)據(jù)庫文件寫入到模擬手機(jī)的內(nèi)存中
        if (!file.exists()) {
            try {
                //創(chuàng)建文件
                file.createNewFile();
                //加載文件
                inputStream = context.getClass().getClassLoader().getResourceAsStream("assets/" + DB_NAME);
                //輸出到文件
                outputStream = new FileOutputStream(file);

                byte[] buffer = new byte[1024];
                int len;
                //按字節(jié)寫入
                while ((len = inputStream.read(buffer)) != -1) {
                    outputStream.write(buffer, 0, len);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //關(guān)閉資源
                if (outputStream != null) {
                    outputStream.flush();
                    outputStream.close();
                }
                if (inputStream != null) {
                    inputStream.close();
                }
            }
        }
        return file.getPath();
    }
}

然后在需要用到數(shù)據(jù)庫之前,寫入以下代碼,我這里寫了個函數(shù),直接調(diào)用即可:

public void openDatabase(){
        MyDatabaseHelper myHelper = new MyDatabaseHelper(LoginOrRegisterActivity.this);
        try {
            myHelper.CopyDBFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

注:在這一行代碼中,“LoginOrRegisterActivity.this”需要替換成你自己的activity文件名

MyDatabaseHelper myHelper = new MyDatabaseHelper(LoginOrRegisterActivity.this);

成功之后可以在右側(cè)的Device File Explorer中的data —> data找到自己的項(xiàng)目,可以看到數(shù)據(jù)庫已經(jīng)被寫入模擬器中了android studio 實(shí)現(xiàn)sqlite增刪改查,android,sqlite,數(shù)據(jù)庫

第三步,連接數(shù)據(jù)庫

創(chuàng)建OpenHelper.java文件

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

import androidx.annotation.Nullable;

public class OpenHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "AsianGames.db";
    public OpenHelper(@Nullable Context context) {
        super(context, DATABASE_NAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {

    }

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

    }
}

第四步,使用數(shù)據(jù)庫進(jìn)行增刪改查

在這一步中,如果你調(diào)用數(shù)據(jù)庫的代碼是寫在一個專門的java文件中的話(比如我就寫在GetSQLite.java中),需要注意調(diào)用數(shù)據(jù)庫時是在activity中還是在fragment中

// GetSQLite.java
  // 在activity中
  public Cursor getData(FragmentActivity activity, String sql){
        OpenHelper openHelper=new OpenHelper(activity);
        SQLiteDatabase db=openHelper.getReadableDatabase();
        Cursor cursor = db.rawQuery(sql,null);
        return cursor;
    }

  // 在fragment中
  public Cursor getData1(Context context, String sql, String[] o){
        OpenHelper openHelper=new OpenHelper(context);
        SQLiteDatabase db=openHelper.getReadableDatabase();
        Cursor cursor = db.rawQuery(sql,o);
        return cursor;
    }

重點(diǎn)是這兩行代碼:

OpenHelper openHelper=new OpenHelper(context);
SQLiteDatabase db=openHelper.getReadableDatabase();

到這里sqlite數(shù)據(jù)庫的連接就已經(jīng)結(jié)束了

簡單的sqlite增刪改查

1、增、刪、改
我比較習(xí)慣自己寫sql語句,所以就沒有用它的增、刪、改函數(shù),我用的是:execSQL(String sql, Object[] bindArgs)
第一個參數(shù)是sql語句。
第二個參數(shù)是sql語句中占位符參數(shù)的值,參數(shù)值在數(shù)組中的順序要和占位符的位置對應(yīng),第二個參數(shù)可寫可不寫。

String sql = "update users set username=?,sex=? where user_account=?";
Object[] o = new Object[]{name,sex,user_account};
db.execSQL(sql,o);

2、查
execSQL不能執(zhí)行查詢語句,所以我們需要用到Cursor以及rawQuery
rawQuery(String sql, String[] selectionArgs)
第一個參數(shù)是sql語句。
第二個參數(shù)是sql語句中占位符參數(shù)的值,參數(shù)值在數(shù)組中的順序要和占位符的位置對應(yīng),第二個不需要的話可以寫null。文章來源地址http://www.zghlxwxcb.cn/news/detail-771451.html

String sql = "select * from users where username=? and password=?";
String[] s = new String[]{name,password};
Cursor cursor = db.rawQuery(sql,s);
if(cursor.moveToFirst() == true){
            String id;
            String name;
            String psw;
            String sex;

            id = cursor.getString(0);
            name = cursor.getString(1);
            sex = cursor.getString(2);
            psw = cursor.getString(3);
			System.out.println(id+","+name+","+psw+","+sex)
        }

到了這里,關(guān)于【Android Studio】安卓APP期末作品記錄之連接sqlite數(shù)據(jù)庫以及簡單的sqlite增刪改查的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Android Studio 期末大作業(yè)(英語app)[免費(fèi)開源]

    Android Studio 期末大作業(yè)(英語app)[免費(fèi)開源]

    ? 先簡要說明下:該大作業(yè)不包含數(shù)據(jù)存儲,網(wǎng)絡(luò)通信技術(shù),僅是一個大致的框架,有興趣的朋友可以在此基礎(chǔ)上進(jìn)行開發(fā)。 資源鏈接在文末ヽ(*^?^)人(^?^*)ノ 大作業(yè)簡介:這是一款英語學(xué)習(xí)APP,包含4個大模塊:單詞搜索、美文閱讀、客服聊天、軟件詳情。每個模塊都有詳

    2024年02月05日
    瀏覽(18)
  • Android Studio連接安卓手機(jī)

    Android Studio連接安卓手機(jī)

    點(diǎn)擊右上角紅框的【SDK Manager】-【SDK Tools】。 也可以在?【tools】-【SDK Manager】-【SDK Tools】下進(jìn)入。 點(diǎn)擊Google USB Driver,下載后點(diǎn)ok。 右鍵【我的電腦】-【高級系統(tǒng)設(shè)置】-【環(huán)境變量】,新建變量【Android_Home】; 值為:C:UsersHuoAppDataLocalAndroidSdk;C:UsersHuoAppDataLocalAnd

    2024年02月16日
    瀏覽(32)
  • 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 連接安卓手機(jī)/鴻蒙手機(jī)教程

    android studio 連接安卓手機(jī)/鴻蒙手機(jī)教程

    一、配置SDK 1.點(diǎn)擊SDK Manager ?編輯 2.選擇SDK平臺與SDK工具 1.SDK平臺: 2.SDK工具: 二、連接手機(jī) 1.開發(fā)者模式 2.連接數(shù)據(jù)線 三、運(yùn)行android studio 1.SDK平臺: 安卓手機(jī) 選擇手機(jī)的安卓版本, 鴻蒙手機(jī)選擇10.0即可 2.SDK工具: 第一步:點(diǎn)擊 Google USB Driver 第二步:點(diǎn)擊 OK 如果電腦

    2024年02月05日
    瀏覽(75)
  • Android Studio配置adb使用WIFI連接手機(jī)調(diào)試安卓程序

    安裝adb參考:https://www.linmeimei.top/2023/03/02/flutter-adb 手機(jī)設(shè)置 打開開發(fā)者模式(用HUAWEI舉例) 【設(shè)置】→【關(guān)于手機(jī)】→【版本號】→ 連續(xù)點(diǎn)擊5次即可進(jìn)入開發(fā)者模式 打開USB調(diào)試 【設(shè)置】→【系統(tǒng)和更新】→【開發(fā)人員選項(xiàng)】→開啟【USB調(diào)試】開關(guān)→開啟【\\\"僅充電\\\"模式下允許

    2024年02月04日
    瀏覽(36)
  • Android Studio App開發(fā)中數(shù)據(jù)庫SQLite的解析及實(shí)戰(zhàn)使用(包括創(chuàng)建數(shù)據(jù)庫,增刪改查,記住密碼等 附源碼必看)

    Android Studio App開發(fā)中數(shù)據(jù)庫SQLite的解析及實(shí)戰(zhàn)使用(包括創(chuàng)建數(shù)據(jù)庫,增刪改查,記住密碼等 附源碼必看)

    運(yùn)行有問題或需要源碼請點(diǎn)贊關(guān)注收藏后評論區(qū)留言~~~ SQLite是一種小巧的嵌入式數(shù)據(jù)庫,使用方便,開發(fā)簡單,如同mysql,oracle那樣,SQLite也采用SQL語句管理數(shù)據(jù),由于它屬于輕型數(shù)據(jù)庫,不涉及復(fù)雜的數(shù)據(jù)控制操作,因此App開發(fā)只用到數(shù)據(jù)定義和數(shù)據(jù)操縱兩類SQL。 1:數(shù)據(jù)

    2024年02月03日
    瀏覽(129)
  • 用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨詳細(xì)避坑

    用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨詳細(xì)避坑

    Uni-app 離線打包 apk 1. Android Studio 下載 Android Studio官網(wǎng) 2. HBuilderX下載 HBuilderX下載 3. App離線SDK下載 Android 離線SDK - 正式版 下載后解壓文件,將 HBuilder-Integrate-AS 重命名 build-template 并拷貝到一個專門打包用的文件夾下作為打包模板 該文件夾中有一個 simpleDemo 文件夾 即 build-temp

    2024年02月04日
    瀏覽(85)
  • 【安卓app開發(fā)一】Android Studio + Bmob后端云實(shí)現(xiàn)注冊&登錄賬號、密碼找回、意見反饋及數(shù)據(jù)可視化

    【安卓app開發(fā)一】Android Studio + Bmob后端云實(shí)現(xiàn)注冊&登錄賬號、密碼找回、意見反饋及數(shù)據(jù)可視化

    目錄 前言 概覽 Bmob后端云介紹 Bmob后端云與Android Studio配置 一、Bmob后端云 ?二、Android Studio配置 工具類 一、User類 二、Suit類 三、Code類 實(shí)現(xiàn)類 ?一、登錄代碼 ?二、注冊代碼 ?三、找回密碼代碼 ?四、想法反饋代碼 ? ? ? ? 本項(xiàng)目尚在開發(fā)階段,主要針對的是安卓用戶,通

    2024年02月08日
    瀏覽(26)
  • SQLite Studio 連接 SQLite數(shù)據(jù)庫

    SQLite Studio 連接 SQLite數(shù)據(jù)庫

    1.1、按WIN+R,打開控制臺,然后把指引到我們的SQLite的安裝路徑,輸入D:,切換到D盤,cd 地址,切換到具體文件夾,輸入“sqlite3”,啟動服務(wù) 1.2、創(chuàng)建數(shù)據(jù)庫和表 ?id和name是表的屬性(列名),int和varchar是列名的數(shù)據(jù)類型,int表示是整型,varchar表示是字符串,長度是20,p

    2024年02月15日
    瀏覽(25)
  • 安卓期末項(xiàng)目:星座App

    安卓期末項(xiàng)目:星座App

    目錄 一,項(xiàng)目介紹: 二,項(xiàng)目功能介紹 ?????????1 查看星座 ?????????2 星座匹配 ?????????3 查看運(yùn)勢 ????????4 本軟件介紹? 三,核心代碼 (1)首頁Mactivity核心代碼 (2)首頁查看星座 (3)星座的匹配 ??(4)查看運(yùn)勢 ?????????(5)本軟件介紹 四,項(xiàng)

    2024年02月08日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包