• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 學習筆記-SQLiteOpenHelper的用法

    標簽: Android  android  移動開發

    新建項目

    在這里插入圖片描述

    一、新建MyDatabaseHelper類繼承自SQLiteOpenHelper

    package com.example.databasetest;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.widget.Toast;
    
    import androidx.annotation.Nullable;
    
    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)";
        private Context mContext;
        public MyDatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
            super(context, name, factory, version);
            mContext=context;
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_BOOK);
            Toast.makeText(mContext,"Create succeeded",Toast.LENGTH_SHORT).show();
    
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
        }
    }
    

    將建表語句定義成字符串常量
    在這里插入圖片描述
    在onCreate方法中調用SQLiteDatabase的execSQL方法執行建表語句,并且彈出一個Toast提示創建成功
    在這里插入圖片描述

    二、在布局文件activity_main.xml中加入按鈕,用于創建數據庫

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <Button
            android:id="@+id/create_database"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Create database"
            />
    </LinearLayout>
    

    三、在MainActivity方法中

    package com.example.databasetest;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    
    public class MainActivity extends AppCompatActivity {
        private MyDatabaseHelper dbHelper;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,1);
            Button createDatabase=(Button) findViewById(R.id.create_database);
            createDatabase.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dbHelper.getWritableDatabase();
                }
            });
        }
    }
    

    在onCreate方法中構建一個MyDatabaseHelper對象,通過其構造函數的參數將數據庫名指定為:BookStore.db版本號指定為:1
    在這里插入圖片描述
    在按鈕的點擊事件中調用getWritableDatabase方法 ,當第一次點擊按鈕 時會創建數據庫 ,再次點擊發現已經存在不會再創建
    在這里插入圖片描述

    四、運行結果:

    在這里插入圖片描述
    在這里插入圖片描述

    五、驗證數據庫創建結果:

    在這里插入圖片描述

    在這里插入圖片描述
    在這里插入圖片描述

    版權聲明:本文為lcnana原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/lcnana/article/details/109631198

    智能推薦

    SwiftUI學習筆記Gesture的用法

    Gestures 新建工程,隨意命名,接下來要使用Gestures的點擊,長按,拖動,縮放,旋轉等功能。 首先,放置一個用于操作手勢的物件,比如英語學習單詞卡片,代碼 效果如圖 TapGesture 然后加入最簡單的,點擊手勢,先定義變量 可以直接在ZStack后加入modifier,添加手勢,如: 但是這樣會后期加入更多手勢以及手勢操作會變得比較混亂,所以推薦在手勢比較多的時候,單獨定義每一個手...

    RecyclerView用法——學習筆記

    RecyclerView是android中一個滾動控件,很多程序中都會用到。 在使用RecyclerView前需要先在app/build.gradle中dependencies 添加依賴。 然后就可以像普通控件一樣賦予寬高的屬性。 作為滾動控件Recycler顯然還需要子項來填充才有意義,因此我們需要做一個寫一個子項布局。子項布局就是需要展示的內容就不贅述了。 子項布局就放了一張圖片。 那么怎么把...

    Android SQLiteOpenHelper Sqlite數據庫的創建與打開

    Android Sqlite數據庫是一個怎樣的數據庫? 答:是一種嵌入式小型設備,移動設備,的數據庫,應用在穿戴設備(例如:智能手表,計算手環 等等),移動設備(例如:Android系統類型的手機 等等),屬于嵌入式關系型數據庫。 在Android開發過程中,只需調用Android所提供的Sqlite API接口,底層會調用Sqlite.c 程序去生成數據庫,創建表字段 等等; 雖然在Androi...

    【Android學習筆記】本地廣播的用法

    介紹 為了解決廣播的安全性問題,Android引入了一套本地廣播機制,使用這個機制發出的廣播只能在應用程序的內部進行傳遞,并且廣播接收器也只能接收來自本應用程序發出的廣播,這樣所有的安全性問題就不復存在了。 基本使用 先創建工程LocalBroadcastTestProject,編寫MainActivity的界面布局文件: 然后編寫本地廣播接收器代碼,實現onReceiver()方法: 最后編寫M...

    C#學習筆記--BeginInvoke和EndInvoke的基本用法

    本文檔只是自己的學習筆記,可能有誤,如果有誤請大家幫忙指出,謝謝。 如果你想開啟一個耗時較長的操作(例如下載文件),但是你又不想這個耗時長的操作會影響接下來其他的操作,那就可以使用BeginInvoke去開啟一個單獨的線程,讓這個耗時長的操作自己玩去吧~(耗時長的操作在這個單獨的線程中執行)正常操作繼續進行 接下來我用一個簡單的流程圖表示開啟線程的作用 BeginInvoke方法觸發你的異步方法,...

    猜你喜歡

    C#學習筆記(七)數組的基本用法

    第十二章 數組 一維數組、矩形數組和交錯數組的基本使用 執行結果如下: 交錯數組: 執行結果: foreach語句在數組中的運用: 執行結果: **數組協變 **:在某些情況下,可以將不屬于數組基類型的對象賦值給數組,這時,要求數組是引用類型數組,將對象賦值給數組成員存在隱式或者顯示轉換。比如把派生類的對象賦值給基類的成員這是允許的,本質上還是數據類型轉換作用在數組上的結果。 數組繼承于Syste...

    三種動畫的簡單用法——學習筆記

    AlphaAnimation——透明度漸變動畫 ScaleAnimation ——縮放動畫 RotateAnimation——旋轉動畫 ①ScaleAnimation動畫相關方法的參數: ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivo...

    Junit框架學習筆記-- 關于Junit的基本用法

    目錄 概述 環境搭建 基本用法 時間測試 timeout 注解的使用 參數化測試   概述 Junit 是一個常用的Java單元測試框架,所謂的單元測試是對某一個單一實體的測試(比如某個具體的類或者類里的方法),Junit提供了注釋來識別測試方法,提供了斷言來測試預期結果,提供了測試運行來運行測試。 環境搭建 用Intellij IDEA建立一個maven quickstart項目,方法...

    【Kind2學習筆記】contract的用法

    合約(contract) 在進行Check的時候,會執行contract內的驗證內容,驗證代碼邏輯是否正確 范例一 問題描述:驗證兩個數相乘的代碼,如果兩個數均為零,則結果一定也為零 代碼: Check結果: ._one_mode_active為什么Answer結果為falsifiable我暫時不太理解,對目前的驗證不是很重要,所以沒仔細研究,等我明白了再回來補充 格式說明 contract格式:...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    精品国产乱码久久久久久蜜桃不卡