學習筆記-SQLiteOpenHelper的用法
新建項目
一、新建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方法 ,當第一次點擊按鈕 時會創建數據庫 ,再次點擊發現已經存在不會再創建
四、運行結果:
五、驗證數據庫創建結果:
智能推薦
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格式:...